我的代码只是一个测试,所以我可以了解pickle是如何工作的。有一个用户可以添加项目的单词列表。我想将这个单词添加到列表中,这样当程序再次运行时,列表将包含用户的单词。我不明白如何做到这一点,因为你首先必须定义列表,所以我最终得到原始单词加上用户在程序运行中写的单词
import pickle
class info():
words = ['skylight','revenue']
item = input("Type a word: ")
info.words.append(item)
with open("savefile.pickle","wb") as handle:
pickle.dump(info.words, handle)
with open("savefile.pickle","rb") as handle:
info.words = pickle.load(handle)
print(info.words)
答案 0 :(得分:0)
嗯,你需要一种方法来区分第一次和第二次运行。我建议检查保存文件是否存在。如果是,您可以加载泡菜。否则,您将使用"默认值。"
您现在拥有的是在保存后立即加载泡菜。这毫无意义。
您可以使用os.path.isfile
来确定文件是否存在。
import pickle
import os.path
class info():
words = ['skylight','revenue']
if os.path.isfile("savefile.pickle"):
with open("savefile.pickle","rb") as handle:
info.words = pickle.load(handle)
item = input("Type a word: ")
info.words.append(item)
with open("savefile.pickle","wb") as handle:
pickle.dump(info.words, handle)
print(info.words)