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

标签 python list

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

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/

相关文章:

python - 如何将三个列表压缩到一个嵌套的字典中

r - 如何在栅格列表上使用 lapply

python - 如何在类实例之间传递变量或获取调用者?

python - 在 python 中广播套接字服务器

python - python模块存储在哪里?

python - 设置 CKAN 虚拟环境的问题

java - 回收器适配器未使用更新的适配器进行更新

python - 比较 Python 中顺序和重复很重要的两个 float 列表

python - 如何打印列表中所有元素的第一个字母?

python - 有没有办法在 Argparse 中设置没有任何前缀的选项?