tkinter保存listbox内容输出为元组,如何实现每行存储一个条目
问题原因
my_list.get('1', 'end')返回的是列表框内所有条目组成的元组,你直接将元组强制转为字符串写入文件,就会输出带括号、引号的元组格式内容,不符合预期。
修复方案
只需修改saveFile函数中处理写入内容的逻辑,把元组内的每个条目用换行符拼接后再写入即可。
替换saveFile函数内的对应代码
将原来的:
filetext = str(my_list.get('1', 'end')) file.write(filetext)
替换为:
# 获取所有条目元组,用换行符拼接每个条目实现每行一条 file_content = '\n'.join(my_list.get('1', 'end')) file.write(file_content)
修改后的完整saveFile函数参考
def saveFile(): file = filedialog.asksaveasfile(initialdir="C:\\Users\\Deepu John\\OneDrive\\Deepu 2020\\Projects\\rough", defaultextension='.txt', filetypes=[ ("Text file",".txt"), ("HTML file", ".html"), ("All files", ".*"), ]) if file is None: return # 修改后的写入逻辑 file_content = '\n'.join(my_list.get('1', 'end')) file.write(file_content) file.close()
修改后保存的文件就会每个条目单独占一行,符合预期。
内容的提问来源于stack exchange,提问作者Deepu Johnson
相关产品推荐
相关产品推荐

