运行文件时是否可以在IPython中检查全局变量?

时间:2016-10-07 05:03:33

标签: python ipython

我有一个这样的文件:

 url  = url+ "?" + new Date().getTime();

当我使用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') 在IPython中运行文件时,它总是加载数据,但是当我在IPython中打印run file.py时,我可以看到globals.keys()变量。有没有办法从我的data脚本中访问IPython中的全局变量,所以每次在IPython中运行脚本时都不必加载数据?

1 个答案:

答案 0 :(得分:0)

每次执行python文件时,解释器都会重置globals()字典。所以,如果您尝试做类似

的事情
print globals().keys()

你可以看到'数据'不是全局的。该字典在程序运行时更新。所以我不认为你可以在程序中引用IPython的globals()。

检查这个link,根据它,全局变量被清空。