比较两个列表的值和打印到文件

时间:2014-03-21 05:13:55

标签: python tkinter treeview

我有一个程序,它应该将列表的内容与tinter树视图返回的值进行比较,如果值不匹配,则将列表的元素写入文件。这个想法是允许用户删除树中的元素(通过从我正在尝试写入的同一文件中读取来填充)。 这是代码:

    selected_book = info_box.focus()
    del_book = info_box.item(selected_book, 'values')
    title_file_clear = open("titles", 'w')
    author_file_clear = open("authors", 'w')
    title_file_clear.close()
    author_file_clear.close()
    title_file_3 = open("titles", "a")
    author_file_3 = open("authors", "a")
    for i in range(0,len(titles)):
        if titles[i] == del_book[0] is False:
            print(titles[i], file=title_file_3)
    for i in range(0,len(authors)):
        if authors[i] == del_book[1] is False:
            print(authors[i], file=author_file_3)
    title_file_3.close()
    author_file_3.close()

但似乎所有这些都是空白的文件。 (我知道这可能不是最有效的代码片段,但我已经调整了一段时间以试图让它工作)

1 个答案:

答案 0 :(得分:0)

使用if titles[i] != del_book[0]:代替if titles[i] == del_book[0] is False:。 要附加文件而不是编写新行,请查看at this question