私はそうのようなファイルがあります:ファイルを実行しているときにIPythonのグローバル変数をチェックすることはできますか?
import pandas a pd
def a_func():
print 'doing stuff'
if __name__ == "__main__":
if 'data' not in globals():
print 'loading data...'
data = pd.read_csv('datafile.csv')
私はrun file.py
とIPythonでファイルを実行すると、それは常にデータをロードしますが、私はIPythonでglobals.keys()
を印刷するとき、私はdata
変数を見ることができます。私のfile.py
スクリプト内からIPythonからグローバル変数にアクセスする方法があるので、IPythonでスクリプトを実行するたびにデータをロードする必要はありませんか?
IPythonは通常、 '%run'ファイルごとに新しい名前空間を作成し、その後、変数をあなたの対話型名前空間に転送します。対話的な名前空間で直接ファイルを実行したい場合は、 '%run -i'がそれを行います。 –