您的位置:首页 > 编程语言 > Python开发

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

2015-03-10 00:00 801 查看
本文实例讲述了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程序设计有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: