我想在我正在做的一些数字运算中定义一些全局变量,我正在逐步编写脚本并且不希望以前的结果继续被加载/重新计算。一种方法是将成熟代码拆分为单独的文件,并且只交换python run
个新代码。但是我只想在单个文件中进行开发速度。
我假设文件中定义的全局在run
的调用之间会持续存在,但他们却没有。
所以我的脚本有以下块,如果代码:
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")
如何在ipython run
修改
好吧我把文件拆分成文件,但我知道必须有办法做我需要做的事情:D答案 0 :(得分:7)
当您%run
文件时,它通常在空白名称空间中启动,并且在完成后将其全局变量添加到交互式名称空间中。有一个-i
标志会直接在交互式命名空间中运行它,因此它会看到你已定义的变量:
%run -i myscript.py