问题描述
我想跟踪在python程序的生存期内某些数据结构(字典)中发生的更改。我们可以通过快照或备份来实现。备份不是“内存友好”的,因为它们需要将整个结构存储在内存中。因此,执行此操作的整洁方法是拍摄快照(类似于Git暂存文件的方式)。
- python中是否有提供此功能的模块?
- 如果没有,是否有任何已知的算法可以描述数据结构中的变化而不复制数据?
我不想使用数据库。
解决方法
您可以使用pickle保存python数据结构。然后,如果使用date(time)模块创建文件名,则会得到类似快照的信息:
import pickle
import datetime
def backup(your_data):
with open(f"backup {datetime.datetime.now()}","wb") as file:
pickle.dump(your_data,file)
要获取数据,请使用pickle.load method。