2017-02-15 6 views
1

私の質問は、Pythonで変数の値を保存することに関するものです。具体的には、2つの異なる方法で同じことを計算する2つのスクリプトがあります。私がしたいのは、2つのスクリプトから返された変数の値を比較することです。最初のスクリプトを実行し、私の変数の値を保存して(行列Vと言う)、2番目のスクリプトを実行し、2番目のスクリプトで計算された変数と同じ変数の値を比較することができるのだろうかと思いました。 @claymore同様Pythonでの変数の保存

  • リスト項目
+5

素晴らしい!問題が発生した場合は、エラーのあるコードを投稿してください。 – MYGz

+3

なぜあなたはこれを行うことができませんでしたか?何を試しましたか? –

+0

私はあなたがpython変数のセーブ/ロードをサポートする 'yaml'や' json'のような構造化ファイルフォーマットを探していると思いますか? – fnokke

答えて

2

はコメントで、これはピクルスで行うことができると述べました。それぞれから必要な変数を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