如何将一个class变量从程序的第一次执行传递到下一次执行?
How to pass a class variable from the first execution of the program to the next execution?
我正在尝试为一个包含多个 class 和多重继承的 Python 项目做贡献。我的目标是使用上一次执行程序的 class 变量作为下一次执行的输入。
由于下一次执行程序会使用不同的参数,所以我需要存储这个变量并传递给下一个程序。该变量是对象及其值的字典。
我没有足够的经验来决定最佳方法,但我现在有这些想法:
- 对象都是同一类型,所以也许我可以创建一个不同的 class 来存储信息,而不是将字典存储为变量。
- 创建一个测试class并执行第一个程序。 Return字典,传给下一次执行。
- 将字典保存到文件中,下次执行时使用。
代码库对我这个初学者来说相当复杂,所以我想问的是我的想法比另一个更好,或者还有什么我能想到的吗?
我认为这篇文章可能会有很大帮助。
https://pythonprogramming.net/python-pickle-module-save-objects-serialization/
以下是如何保存字典并在下次程序 运行 时重新打开它。据我所知,这应该适用于任何数据类型。
#Saving dict
import pickle
example_dict = {1:"6",2:"2",3:"f"}
pickle_out = open("dict.pickle","wb")
pickle.dump(example_dict, pickle_out)
pickle_out.close()
#Reopening dict
pickle_in = open("dict.pickle","rb")
example_dict = pickle.load(pickle_in)
我正在尝试为一个包含多个 class 和多重继承的 Python 项目做贡献。我的目标是使用上一次执行程序的 class 变量作为下一次执行的输入。
由于下一次执行程序会使用不同的参数,所以我需要存储这个变量并传递给下一个程序。该变量是对象及其值的字典。
我没有足够的经验来决定最佳方法,但我现在有这些想法:
- 对象都是同一类型,所以也许我可以创建一个不同的 class 来存储信息,而不是将字典存储为变量。
- 创建一个测试class并执行第一个程序。 Return字典,传给下一次执行。
- 将字典保存到文件中,下次执行时使用。
代码库对我这个初学者来说相当复杂,所以我想问的是我的想法比另一个更好,或者还有什么我能想到的吗?
我认为这篇文章可能会有很大帮助。
https://pythonprogramming.net/python-pickle-module-save-objects-serialization/
以下是如何保存字典并在下次程序 运行 时重新打开它。据我所知,这应该适用于任何数据类型。
#Saving dict
import pickle
example_dict = {1:"6",2:"2",3:"f"}
pickle_out = open("dict.pickle","wb")
pickle.dump(example_dict, pickle_out)
pickle_out.close()
#Reopening dict
pickle_in = open("dict.pickle","rb")
example_dict = pickle.load(pickle_in)