Python实现去除代码前行号的方法
本文实例讲述了Python实现去除代码前行号的方法。分享给大家供大家参考。具体实现方法如下:
#-*-coding:utf-8-*-
importwx
classMainWindow(wx.Frame):
def__init__(self,parent,id):
wx.Frame.__init__(self,parent,id,
u'去除代码前行号的Python小工具-wxPython版-DevelopbyYanxy')
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)
defOnCloseWindow(self,event):
self.Destroy()
defCutLineNum(self,event):
multiStr=unicode(self.textBox.GetValue()).splitlines(1)
outStr=u''
forsingleStrinmultiStr:
singleStr=singleStr.lstrip()
i=0
forcharStrinsingleStr:
ifcharStr.isdigit():
i+=1
elifi>0:
singleStr=singleStr[i:]
break
else:
break
outStr+=singleStr
self.textBox.SetValue(outStr)
defCutLeftChar(self,event):
outStr=u''
multiStr=unicode(self.textBox.GetValue()).splitlines(1)
forsingleStrinmultiStr:
singleStr=singleStr[1:]
outStr+=singleStr
self.textBox.SetValue(outStr)
if__name__=='__main__':
app=wx.PySimpleApp()
frame=MainWindow(parent=None,id=-1)
app.MainLoop()
delapp
希望本文所述对大家的Python程序设计有所帮助。