Skip to main content
 首页 » 编程设计

python之如何将列表的内容保存到文件中

2025年05月04日12mengfanrong

我对我的代码有一些疑问:

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+?

还有一些不相关的建议:

  • 使用加法代替索引,或者更好:使用字典
  • 使用英文变量名/注释。
  • 用代码检查文件读写是否可以,如果文件不能读写怎么办 由于访问限制或磁盘空间太小而写入?
  • 使用不同的函数进行输入、写入和打印,使测试/维护/扩展更容易。