Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python程序的生命周期内快照程序数据结构?_Python_Python 3.x_Persistence_Snapshot_Backups - Fatal编程技术网

如何在python程序的生命周期内快照程序数据结构?

如何在python程序的生命周期内快照程序数据结构?,python,python-3.x,persistence,snapshot,backups,Python,Python 3.x,Persistence,Snapshot,Backups,我希望在python程序的生命周期中跟踪某些数据结构(字典)中发生的更改。我们可以通过拍摄快照或备份来实现这一点。备份不是“内存友好型”,因为它们需要将整个结构存储在内存中。因此,做这件事的好方法是拍摄快照(类似于Git处理文件的方式) python中是否有提供此功能的模块 如果没有,是否有任何已知的算法用于描述数据结构中的更改而不复制数据 我不想使用数据库。您可以使用来保存python数据结构。如果随后使用日期(时间)模块创建文件名,则会得到类似快照的内容: import pickle imp

我希望在python程序的生命周期中跟踪某些数据结构(字典)中发生的更改。我们可以通过拍摄快照备份来实现这一点。备份不是“内存友好型”,因为它们需要将整个结构存储在内存中。因此,做这件事的好方法是拍摄快照(类似于Git处理文件的方式)

  • python中是否有提供此功能的模块
  • 如果没有,是否有任何已知的算法用于描述数据结构中的更改而不复制数据
  • 我不想使用数据库。

    您可以使用来保存python数据结构。如果随后使用日期(时间)模块创建文件名,则会得到类似快照的内容:

    import pickle
    import datetime
    
    def backup(your_data):
        with open(f"backup {datetime.datetime.now()}", "wb") as file:
            pickle.dump(your_data, file)
    
    要获取数据,请使用可用于保存python数据结构的。

    。如果随后使用日期(时间)模块创建文件名,则会得到类似快照的内容:

    import pickle
    import datetime
    
    def backup(your_data):
        with open(f"backup {datetime.datetime.now()}", "wb") as file:
            pickle.dump(your_data, file)
    

    要获取数据,请使用。

    谢谢您的建议。使用pickle保存数据意味着“保存”整个数据,我正在寻找一种方法来跟踪更改,而不必在每次更改时保存最新版本的数据。json比pickle更高效、更可读。感谢您的建议。使用pickle保存数据意味着“保存”整个数据,我正在寻找一种方法来跟踪更改,而不必在每次更改时保存最新版本的数据。json比pickle更高效、更可读。