在Python中保存变量

22 浏览
0 Comments

在Python中保存变量

此问题已有答案

如何在Python中保存和恢复多个变量?

我的问题是关于在Python中保存变量值的。更具体地说,我有两个不同的脚本,用两种不同的方式计算相同的内容。我想要比较从这两个脚本返回的变量值。因此,我想知道是否可以运行第一个脚本,保存其中一个变量的值(比方说矩阵V),然后运行第二个脚本,并比较与第二个脚本计算同一变量的值。

  • 列表项
admin 更改状态以发布 2023年5月23日
0
0 Comments

如评论中 @claymore 所说,可以使用pickle实现此操作。您可以将要比较的每个变量存储到pickle中,然后从比较脚本中获取pickle对象。

以下是一个示例

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://wiki.python.org/moin/UsingPickle

0