Python保存列表更改

时间:2016-07-08 10:54:21

标签: python list save

list = []
while True:
    list.append(input())
    print(list)

这允许我在此列表中添加我想要的任何内容。但是,有没有办法可以保持对列表的更改,以便在我以后运行程序时,我之前编写的所有内容都将列在列表中?

编辑:如果重要,我使用PyCharm进行编码并运行我的程序

3 个答案:

答案 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)

您需要一个持久层,即文件系统,数据库,pickleshelve等等,您可以在程序终止后存储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)