Python实现去除代码前行号的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python实现去除代码前行号的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
# -*- coding: utf-8 -*-
import wx
class MainWindow(wx.Frame):
    def __init__(self, parent, id):
        wx.Frame.__init__(self, parent, id,
        u'去除代码前行号的Python小工具 - wxPython版 - Develop by Yanxy')
        self.textBox = wx.TextCtrl(self, 1, style=wx.TE_MULTILINE,size=(600,600))
        self.butOK = wx.Button(self, label=u"去除行号")
        self.butLeft = wx.Button(self, label=u"去除左侧一个字符")
        self.Bind(wx.EVT_BUTTON, self.CutLineNum, self.butOK)
        self.Bind(wx.EVT_BUTTON, self.CutLeftChar, self.butLeft)
        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
        self.sizer = wx.BoxSizer(wx.HORIZONTAL)
        self.sizer.Add(self.textBox,1,wx.EXPAND)
        self.sizer.Add(self.butOK)
        self.sizer.Add(self.butLeft)
        self.SetSizer(self.sizer)
        self.SetAutoLayout(1)
        self.sizer.Fit(self)
        self.Show(True)
    def OnCloseWindow(self, event):
        self.Destroy()
    def CutLineNum(self, event):
        multiStr = unicode(self.textBox.GetValue()).splitlines(1)
        outStr = u''
        for singleStr in multiStr:
            singleStr = singleStr.lstrip()
            i=0
            for charStr in singleStr:
                if charStr.isdigit():
                    i += 1
                elif i>0:
                    singleStr = singleStr[i:]
                    break
                else:
                    break
            outStr += singleStr
        self.textBox.SetValue(outStr)
    def CutLeftChar(self, event):
        outStr = u''
        multiStr = unicode(self.textBox.GetValue()).splitlines(1)
        for singleStr in multiStr:
            singleStr = singleStr[1:]
            outStr += singleStr
        self.textBox.SetValue(outStr)
if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = MainWindow(parent=None, id=-1)
    app.MainLoop()
del app

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Django2.1.3 中间件使用详解

Django2.1.3 中间件使用详解

环境 Win10 Python3.6.6 Django2.1.3 中间件作用 中间件用于全局修改Django的输入或输出。 中间件常见用途 缓存 会话认证...

Python中循环后使用list.append()数据被覆盖问题的解决

前言 最近发现一个问题,在一次爬虫实战中,需要将字典加入列表中,意外的情况出现了!!!下面简单分析一下出现的状况: list = [] dic = {} for i in range...

python自动发邮件总结及实例说明【推荐】

python自动发邮件总结及实例说明【推荐】

python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构...

Django实现的自定义访问日志模块示例

本文实例讲述了Django实现的自定义访问日志模块。分享给大家供大家参考,具体如下: 在Django默认没有访问日志模块,但是我们可以通过Django的Middleware来实现一个自己...

TensorFlow dataset.shuffle、batch、repeat的使用详解

直接看代码例子,有详细注释!! import tensorflow as tf import numpy as np d = np.arange(0,60).reshape([6...