5

私が行っているいくつかの数値計算作業でいくつかのグローバルを定義したいのですが、スクリプトを段階的に作成しており、以前の結果がロード/再計算され続けることを望んでいません。1 つのアプローチは、成熟したコードを別のファイルに分割し、python runインタラクティブな新しいコードのみにすることです。ただし、開発の速度を上げるために、単一のファイルで実行したいだけです。

私は、ファイルで定義されたグローバルが の呼び出し間で持続すると仮定していましたrunが、そうではありません。

したがって、私のスクリプトには次のチャンク if code があります。

if globals().has_key('all_post_freq') != True:
    print "creating all post freq var"
    global all_post_freq
    all_post_freq = all_post_freq_("pickle/all_post_freq.pickle")

の呼び出し間で all_post_freq を保持するにはどうすればよいですかipython run

編集

わかりました、ファイルに分割しましたが、必要なことを行う方法があるに違いないことはわかっています:D

4

1 に答える 1

7

ファイルを%run作成すると、通常は空の名前空間で開始され、終了時にそのグローバルがインタラクティブな名前空間に追加されます。-iインタラクティブな名前空間で直接実行するフラグがあるため、既に定義した変数が表示されます。

%run -i myscript.py
于 2013-11-07T17:24:23.267 に答える