結果変数をメモリに保持する方法はないので、スクリプトの先頭を実行するたびに再計算する必要はありませんか? 私はスクリプトを実行するたびに、(ディスクから読み込んでいる)データセットに対して、(5〜10秒)一連の厳密な操作を行っています。 インタラクティブなエディタを使用して実行間でコードをデバッグするのが得意なので、これはあまり問題にはなりません。しかし、時にはインタラクティブな機能だけではそれをカットしません。Pythonスクリプトの実行間に永続変数を保持する
私は結果をディスク上のファイルに書き込むことができると知っていますが、可能ならばそうしないでください。これは、スクリプトを初めて実行するときに変数を生成するソリューションでなければなりません。また、シェル自体が閉じられるまで、または明示的にそれが外に出るまで、メモリ内に保持します。このような何か:
# Check if variable already created this session
in_mem = var_in_memory() # Returns pointer to var, or False if not in memory yet
if not in_mem:
# Read data set from disk
with open('mydata', 'r') as in_handle:
mytext = in_handle.read()
# Extract relevant results from data set
mydata = parse_data(mytext)
result = initial_operations(mydata)
in_mem = store_persistent(result)
私はshelveモジュールは、私がここを探していますが、棚の変数を開くために私は、ファイル名を指定しなければならないように見えるんだかもしれないものという暗示をしました永続オブジェクトなので、私が探しているものであるかどうかは分かりません。
私はそれをやりたい棚を得るためのヒントを教えてください。任意の代替アイデア?
外部ソースを実行する例外ハンドラを追加することを検討します。 – mehmetminanc
mainscript.pyの依存関係が更新されたらどうなりますか?明示的にリロードする必要がありますか? – pomber
os.environに変数を格納するには不十分でしょうか? – Ladmerc