我对我的代码有一些疑问:
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内置函数:模式a,a +,w,w +和r +之间的区别?
还有一些不相关的建议:
使用add代替索引,甚至更好:使用字典
使用英文变量名称/注释.
使用代码检查文件读/写是否正常,如果由于访问限制或磁盘空间太小而无法写入文件会怎么样?
使用不同的功能进行输入,写入和打印,使测试/可维护性/扩展更加容易.