【发布时间】:2021-08-06 22:12:37
【问题描述】:
import pickle
import os
class Animal:
records = dict()
def __init__(self, name):
self.name = name
while True:
answer = input("-->")
if answer == "add":
name = input("name : ")
new_animal = Animal(name)
Animal.records[name] = new_animal
with open("data.p", "wb") as f:
pickle.dump(Animal.records, f)
elif answer == "show":
with open("data.p", "rb") as f:
print(pickle.load(f))
我用pickle 模块保存了records。重新启动程序后,如果我查询records的内容而不添加新数据,我可以看到记录,但是如果我添加新数据,我就看不到旧记录。为什么我看不到旧记录?
【问题讨论】:
-
当您从文件中读回数据时,您只需将其打印出来 - 您不会将其存储回
Animal.records。 -
请告诉我们您对代码的含义。
-
我想将上面链接的解决方案调整到这个