我有一个这样的文件:
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中运行脚本时都不必加载数据?
答案 0 :(得分:0)
每次执行python文件时,解释器都会重置globals()字典。所以,如果您尝试做类似
的事情print globals().keys()
你可以看到'数据'不是全局的。该字典在程序运行时更新。所以我不认为你可以在程序中引用IPython的globals()。
检查这个link,根据它,全局变量被清空。