我想知道是否有可能做Python中标题中解释的内容。让我更好地解释自己。假设你有一个阵列:
list = []
然后你有一个函数将用户的输入作为字符串并将其附加到数组:
def appendStr(list):
str = raw_input("Type in a string.")
list.append(str)
我想知道即使程序关闭后是否可以保存用户在列表中所做的更改。因此,如果用户关闭程序,再次打开它,并打印列表,他/她添加的字符串将出现。感谢您的时间。这可能是一个重复的问题,如果是这样,我很抱歉,但我找不到像Python这样的另一个问题。
答案 0 :(得分:1)
您必须将其保存到文件中:
with open('output.txt', 'w') as f:
for item in lst: #note: don't call your variable list as that is a python reserved keyword
f.write(str(item)+'\n')
with open('output.txt') as f:
lst = f.read().split('\n')
答案 1 :(得分:1)
如果是字符串,按照建议写入文件是一个很好的方法。 但如果元素不是字符串,那么#34;酸洗"可能是您正在寻找的关键字。
文档在这里: https://docs.python.org/2/library/pickle.html
在我看来这篇文章回答了你的问题: Saving and loading multiple objects in pickle file?
答案 2 :(得分:1)
更简单的解决方案是使用json
import json
li = []
def getinput(li):
li.append(raw_input("Type in a string: "))
要保存列表,您可以执行以下操作
savefile = file("backup.json", "w")
savefile.write(json.dumps(li))
要加载文件,您只需
savefile = open("backup.json")
li = json.loads(savefile.read())
您可能想要处理文件不存在的情况。需要注意的一点是,像类这样的复杂结构不能存储为json。