list = []
while True:
list.append(input())
print(list)
这允许我在此列表中添加我想要的任何内容。但是,有没有办法可以保持对列表的更改,以便在我以后运行程序时,我之前编写的所有内容都将列在列表中?
编辑:如果重要,我使用PyCharm进行编码并运行我的程序
答案 0 :(得分:1)
您可以在此处使用json
。
import json
try:
list = json.load(open("database.json"))
except:
list = []
while True:
try:
list.append(input())
print(list)
except KeyboardInterrupt:
json.dump(list, open('database.json', 'w'))
这将内容存储在名为database.json的文件中,您可以使用CTRL+C
结束程序
答案 1 :(得分:0)
您需要一个持久层,即文件系统,数据库,pickle
,shelve
等等,您可以在程序终止后存储list
中的数据。当您重新运行程序时,请确保它从同一个持久性存储加载,而不是将其初始化为[]
,这就是您将如何存储附加到列表中的元素。
Python提供了许多替代方案,如here
所述答案 2 :(得分:0)
您需要先将列表保存在某处,然后在程序开始时加载它。由于它只是一个简单的列表,我们可以使用python pickle将其保存到磁盘,如下所示:
import pickle
try:
with open('list.p', 'rb') as f:
list = pickle.load(f)
except:
list = []
while True:
try:
list.append(input())
print(list)
except KeyboardInterrupt:
with open('list.p', 'wb') as f:
pickle.dump(list, f)