我对我的代码有一些疑问:
def entry_book():
book = ["autor", "ime", "godina", "ISNB", "zanr", "cena", "broj"]
print ("Podaci za knjigu:")
book[0] = input ("Autor: ")
book[1] = input ("Naslov: ")
book[2] = input ("Godina: ")
book[3] = input ("ISNB: ")
book[4] = input ("Zanr: ")
book[5] = input ("Cena: ")
book[6] = input ("Kolicina: ")
record= "{}|{}|{}|{}|{}|{}|{}".format (book[0], book[1], book[2], book[3],
book[4], book[5], book[6])
print (book)
print (record)
f = open('books.txt','w')
f.write (record)
f.close()
f = open("books.txt")
x = f.read()
f.close()
print (x)
record1 = record.split('|')
print (record1)
second_meni()
这是存储书籍信息的代码,我想稍后访问这些信息(比如在图书馆)。但是,每次我添加/创建一本新书时,旧书都会被删除。任何人都可以帮我重写代码,以便它也可以存储旧数据。或者请解释一下正确的方法是什么?
最佳答案
你必须使用
f = open('knjige.txt', 'a')
'w' 重新创建文件(因此仅将其用于新文件,或者如果您不介意它会被覆盖,'a' 会附加到文件。
参见 python open built-in function: difference between modes a, a+, w, w+, and r+?
还有一些不相关的建议:
- 使用加法代替索引,或者更好:使用字典
- 使用英文变量名/注释。
- 用代码检查文件读写是否可以,如果文件不能读写怎么办 由于访问限制或磁盘空间太小而写入?
- 使用不同的函数进行输入、写入和打印,使测试/维护/扩展更容易。
关于python - 如何将列表的内容保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638099/