wxpython 按行反向读取Txt文件,该如何解决
wxpython 按行反向读取Txt文件
这个是正常读出,如果我想按行反向读取到contents,应如何做?
是先取行数再反着打印出来,还是有什么参数能直接定义反向读取。
向各位求解……
------解决思路----------------------
import wx
app=wx.App()
win=wx.Frame(None,-1,title="History",size=(535,582))
bkg=wx.Panel(win)
filename=wx.TextCtrl(bkg,-1,pos=(105,40),size=(250,30))
contents=wx.TextCtrl(bkg,-1,pos=(5,70),size=(525,510),style=wx.TE_MULTILINE
------解决思路----------------------
wx.HSCROLL)
openbutton=wx.Button(bkg,-1,label='Open',pos=(425,10),size=(80,50))
def openfile(evt):
filepath=filename.GetValue()
fopen=open(filepath,'r')
fdata=fopen.readlines()
fdata.sort(reverse=True)
setData="".join(fdata)
contents.SetValue(setData)
openbutton.Bind(wx.EVT_BUTTON,openfile)
win.Show()
app.MainLoop()
------解决思路----------------------
------解决思路----------------------
可以读取一行后,往头部插入,这样也是反向...
...
fopen=open(filepath,'r')
for line in fopen:
contents.SetInsertionPoint(0)
contents.WriteText(line)
....
import wx
app=wx.App()
win=wx.Frame(None,-1,title="History",size=(535,582))
bkg=wx.Panel(win)
filename=wx.TextCtrl(bkg,-1,pos=(105,40),size=(250,30))
contents=wx.TextCtrl(bkg,-1,pos=(5,70),size=(525,510),style=wx.TE_MULTILINE|wx.HSCROLL)
openbutton=wx.Button(bkg,-1,label='Open',pos=(425,10),size=(80,50))
def openfile(evt):
filepath=filename.GetValue()
fopen=open(filepath,'r')
contents.SetValue(fopen.read())
openbutton.Bind(wx.EVT_BUTTON,openfile)
win.Show()
app.MainLoop()
这个是正常读出,如果我想按行反向读取到contents,应如何做?
是先取行数再反着打印出来,还是有什么参数能直接定义反向读取。
向各位求解……
------解决思路----------------------
import wx
app=wx.App()
win=wx.Frame(None,-1,title="History",size=(535,582))
bkg=wx.Panel(win)
filename=wx.TextCtrl(bkg,-1,pos=(105,40),size=(250,30))
contents=wx.TextCtrl(bkg,-1,pos=(5,70),size=(525,510),style=wx.TE_MULTILINE
------解决思路----------------------
wx.HSCROLL)
openbutton=wx.Button(bkg,-1,label='Open',pos=(425,10),size=(80,50))
def openfile(evt):
filepath=filename.GetValue()
fopen=open(filepath,'r')
fdata=fopen.readlines()
fdata.sort(reverse=True)
setData="".join(fdata)
contents.SetValue(setData)
openbutton.Bind(wx.EVT_BUTTON,openfile)
win.Show()
app.MainLoop()
------解决思路----------------------
file1 = file('test.txt','r')
list1 = [] #用一个空列表用于存放每行的内容
while True:
line = file1.readline()
list1.append(line.strip())
if len(line) == 0:
break
for l in list1[::-1]: #反向遍历,然后依次读取出来
print l
file1.close()
------解决思路----------------------
可以读取一行后,往头部插入,这样也是反向...
...
fopen=open(filepath,'r')
for line in fopen:
contents.SetInsertionPoint(0)
contents.WriteText(line)
....