開いているファイルがあり、このファイルの内容をリストに入れます。次に、リストを「\r」で分割し、これを textctrl に出力します。問題は、list.txt の長さが 4 行であることですが、プログラムでこれを開くと、4 行から 10 行になり、テキストの一部が複製されます。どこが間違っているのかわかりません。
私のlist.txtの例
A
B
C
D
プログラムが textctrl の複数行ボックスに書き込む内容
A
A
B
A
B
C
A
B
C
D
私はpythonとwxpythonにかなり慣れていないので、私のコードは問題ないように見えますが、どこが重複しているのかわかりません。
def OnOpen(self,e):
dlg = wx.FileDialog(self, "Choose a file to open", self.dirname, "", "*.*", wx.OPEN) #open the dialog boxto open file
if dlg.ShowModal() == wx.ID_OK: #if positive button selected....
directory, filename = dlg.GetDirectory(), dlg.GetFilename()
self.filePath = '/'.join((directory, filename))
f = open(os.path.join(directory, filename), 'r') #traverse the file directory and find filename in the OS
self.myList = []
for line in f:
self.myList.append(line)
for i in (self.myList):
for j in i.split("\r"):
self.urlFld.AppendText(j)
self.fileTxt.SetValue(self.filePath)
f.close
dlg.Destroy()