您好,欢迎访问一九零五行业门户网

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程序设计有所帮助。
其它类似信息

推荐信息