5

我想在我正在做的一些数字运算工作中定义一些全局变量,我正在逐步编写脚本并且不希望之前的结果继续被加载/重新计算。一种方法是将成熟的代码拆分到一个单独的文件中,并且只有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")

如何在调用之间保留 all_post_freqipython run

编辑

好的,我已将内容拆分为文件,但我知道必须有一种方法可以做我需要做的事情:D

4

1 回答 1

7

当您%run创建一个文件时,它通常在空白命名空间中启动,并且在完成时将其全局变量添加到交互式命名空间中。有一个-i标志将直接在交互式命名空间中运行它,因此它将看到您已经定义的变量:

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