2
私はpickle内の辞書に何十もの変数を持っています。特定の条件が満たされている場合は、これらの変数(すべての異なるタイプ)のすべてを、辞書のキーと同じ名前で復元する必要があります。python 3.xはpickleから変数を復元します
私は問題を指摘するためにコードを簡略化しました。たとえば、キーの1つは 'ref10_data'です。変数が関数内の他の場所で定義されている場合は、上書きされませんが、そうしたいと思います。
import _pickle as pickle
from numpy import max
def main():
processing_path = '/data/common/PROBSEV_DATA/processing/'
ref10_data = 0
restore_dict = pickle.load(open(processing_path + 'cc_rt_prob_svr.out','rb'))
for key in restore_dict:
globals()[key] = restore_dict[key]
print(max(ref10_data))
if __name__ == '__main__':
main()
「0」が印刷されます。このquestion/answerは動作しますが、以前に定義されていれば変数を上書きしません。変数を再定義するにはどうすればよいのですか?あるいは、この機能を構造化する良い方法がありますか?おかげさまで 代わりにinellegantとunpythonicあるglobals
、改ざんの
なぜ辞書で使用しないのですか? – jonrsharpe