【问题标题】:How can I delete an option from a listbox and having that reflect in a text file?如何从列表框中删除选项并将其反映在文本文件中?
【发布时间】:2022-10-04 16:51:53
【问题描述】:

我有一个保存值的列表框,这些值也保存到 .txt 文件中。我可以很好地删除列表框中的选项,但是我很难找出如何在其 .txt 文件中反映已删除的值。

我的值设置为字典,我的选项是:

选项 1:我可以将文本文件作为字典读取并删除与所选列表框对应的键。

选项 2:在删除选定的列表框后,我可以重写 .txt 以包含所有剩余的列表框。

编辑:为了澄清,我有一个列表框。此列表框由 .txt 中的内容组成。我有一个按钮可以删除列表框中的选项。我也需要删除 .txt 中的值的按钮,但我遇到了麻烦。

任何帮助,将不胜感激。

【问题讨论】:

  • 最简单的方法是首先以读取权限打开文件,毕竟,以写入权限再次打开文件并写入完整内容
  • 目前尚不清楚您想要什么。 1)从列表框中删除项目,然后更新文本文件? 2)删除文本文件中的项目然后更新列表框?你想要哪一个?
  • @kosciej16 我如何能够从当前列表框选项中收集数据?到目前为止,我对 listbox.get() 没有运气,并且 listbox.curselection() 将无法工作,因为我需要每个列表框选项。
  • @acw1668 我有一个删除列表框选项的按钮。现在我需要更新的列表框以在更新的 .txt 中反映其选项
  • 您可以使用listbox.get(0, 'end') 获取列表框中的所有项目。

标签: python tkinter listbox file-writing


【解决方案1】:

谢谢@acw1668

for index in listbox.curselection():         #Set the current selection to be deleted
    listbox.delete(index)

with open("saved.txt","w") as f:               #Takes the new listbox, without 
     for index in listbox.get(0, END):       #deleted item, and rewrote   
     f.write(index)                          #the saved.txt         

【讨论】:

    猜你喜欢
    • 2015-11-14
    • 1970-01-01
    • 2018-01-21
    • 2019-08-29
    • 2021-03-17
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多