因此,我决定做这个项目来构建一个程序,这样我就可以记录我的书籍,我借阅了哪些书籍,等等。对于“数据库”我使用的是包含图书标题,作者等的.txt文件。一行一行,一本书与作者共享相同的行,但它们在不同的文件中。因此,举例来说,我有:如何使按钮/框更改文本文件点击? (使用Python和tkinter库)
FILE A: | FILE B:
Harry Potter | J.K. Rowling
The Fellowship of the Ring | J.R.R. Tolkien
等都与所有其他信息。
现在,我为每本书添加了一个checkbutton,以便可以标记我读过的那些书签,并在每行中创建一个名为“SELECTED”或“NOT-SELECTED”的read的.txt文件来表示Checkbutton的状态。
I,然后通过for循环将检查按钮添加到程序中,该循环运行read.txt文件并添加与文件中的行数一样多的检查按钮。如果文件中的行显示“SELECTED”,那么它会将checkbutton设置为选中状态(checkbutton.selected()
),否则它只会创建checkbutton。
现在,我想要的是,只要按下相应的行按钮,程序就会更改read.txt文件中的行,所以,如果我按下哈利波特的按钮,例如,第一行read.txt将更改为“SELECTED”,如果再次单击它,它将被更改回“NOT-SELECTED”。
我首先想到的是创建一个包含每个检查按钮值的列表,然后当任何检查按钮被按下时,它将调用一个函数来创建一个新列表,并使用每个按钮的新值。然后,它会比较这两个列表,并对第一个进行必要的更改,然后更改该文件。问题是,我不知道如何创建secont列表,以便比较,所以我正在寻找如何执行此操作的帮助。如果有人有一个更好的主意,但是,它会更受欢迎。
对不起,很长的文章。
因为在['sqlite3'](http://docs.python.org/2/library/sqlite3.html)可以完成这个工作的情况下使用纯文本文件,所以你的问题比编程更为概念化完全意味着很多开销。不幸的是,它太局部化了,我不认为它可以作为未来用户的参考,所以在我看来这篇文章已经超出了StackOverflow的范围。作为一般性建议,我强烈建议您在项目中使用数据库并删除txt文件。 – 2013-05-03 18:18:56
是的,我知道,这只是我是一个初学者,所以我只是尝试最简单的方法。如果可能,你能告诉我关于sqlite3的一些信息吗? – AugustoQ 2013-05-03 18:23:34