如何在python中将wxListBox条目写入.txt文件

2024-10-01 13:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编程wxFormBuilder接口,以便将wxListBox中的文本写入文本文件。我的当前代码:

def clickSave (self, parent):
    dialog = wx.FileDialog(None, "Choose a file", os.getcwd(), "", "*.*", wx.SAVE)
    if dialog.ShowModal() == wx.ID_OK:
        fn = dialog.GetPath() 
        fh = open(fn, "w")
        for i in range(self.m_listBox4.GetCount()):
            listBox = self.m_listBox4.GetString(i) + "\n"
        fh.write(listBox)
        fh.close()

当前,此代码只保存列表框中的最后一个条目,而不是所有条目。从文本文件导入列表到wxListBox时也遇到问题。有了代码,我得到了一个“TypeError:String or Unicode type required”错误:

^{pr2}$

Tags: 代码文本selfdef编程条目dialogfn
1条回答
网友
1楼 · 发布于 2024-10-01 13:27:47

for i in range(self.m_listBox4.GetCount()):
    listBox = self.m_listBox4.GetString(i) + "\n"

总是重写listBox变量的内容,因此只保留最后一行。你可能想:

^{pr2}$

但是,串联字符串的效率非常低。你应该这样做:

for i in range(self.m_listBox4.GetCount()):
    fh.write(self.m_listBox4.GetString(i))
    fh.write("\n")

至于另一个:

for row in csv_fh:
    stockinfo.append(row)

在这里,row不是字符串或Unicode,而是一个序列。你只是想把这个列表放进一个列表框里。改变

   self.m_listBox4.Append(str(rows))

只是想看看它能做什么。在

相关问题 更多 >