我正在努力在腌制文件中附加一个列表。这是代码:
#saving high scores to a pickled file
import pickle
first_name = input("Please enter your name:")
score = input("Please enter your score:")
scores = []
high_scores = first_name, score
scores.append(high_scores)
file = open("high_scores.dat", "ab")
pickle.dump(scores, file)
file.close()
file = open("high_scores.dat", "rb")
scores = pickle.load(file)
print(scores)
file.close()
我第一次运行代码时,它会打印姓名和分数。
我第二次运行代码时,它打印了 2 个名字和 2 个分数。
我第三次运行代码时,它打印了名字和分数,但它用我输入的第三个名字和分数覆盖了第二个名字和分数。我只是想让它继续添加名字和分数。我不明白为什么要保存第一个名字并覆盖第二个名字。
原文由 Charlie 发布,翻译遵循 CC BY-SA 4.0 许可协议
在附加到它之前,您需要先从数据库(即您的 pickle 文件)中提取列表。