我的问题是如何在Python中保存变量的值。更具体地说,我有两个不同的脚本,用两种不同的方式计算相同的东西。我要做的是比较从这两个脚本返回的变量的值。因此,我想知道是否可以运行第一个脚本,保存我的一个变量的值(假设一个矩阵V),然后运行第二个脚本,并比较第二个脚本计算的相同变量的值。
发布于 2017-02-15 07:43:07
就像@claymore在评论中说的,这可以用泡菜来完成。将每个变量中所需的变量存储到一个泡菜中,然后从比较脚本中获取泡菜对象。
下面是一个例子
script_a.py
# Save a dictionary into a pickle file.
import pickle
def funca():
favorite_color = { "lion": "yellow", "kitty": "red" }
with open("a.pickle","wb") as f:
pickle.dump( favorite_color, f)
funca()
script_b.py
# Save a dictionary into a pickle file.
import pickle
def funcb():
favorite_color = { "lion": "blue", "kitty": "orange" }
with open("b.pickle","wb") as f:
pickle.dump( favorite_color, f)
funcb()
compare.py
# Load the dictionary back from the pickle file.
import pickle
import os
os.system("python script_a.py")
os.system("python script_b.py")
a_fav = pickle.load(open( "a.pickle", "rb" ))
b_fav = pickle.load(open( "b.pickle", "rb" ))
print "script 1 had favorite = ", a_fav
print "script 2 had favorite = ", b_fav
https://stackoverflow.com/questions/42252690
复制