我有两个.py
脚本。script1.py
和{
我正在从script2.py
导入几个变量,如:
from script2 import variable1 as var1
效果很好。在
但是当我在script2.py
中更新variable1
,然后重新运行script1.py
,则{script1.py
中。为什么会这样?在
如果我完全关闭IPython,然后再次重新打开IPython,variable1
的更新就会出现。但我不想一直这样做,因为我需要很少的情节开放。在
我正在使用IPython 1.2.1
和{
如果必须经常更改变量,我认为将其写入python脚本而不是一个好方法,而是将其写入配置文件。在那里你可以简单地这样读
当变量写入
^{pr2}$config.cfg
文件时:您也可以将其保存为JSON,只需使用JSON读取器而不是config读取器。在
最后,您可以使用
getVar('var1')
获得变量,它将始终是最新的。在对于ipython,请使用^{} 魔术命令:
有一种方法可以重新加载模块,尽管它似乎不能很好地处理别名。您可以使用^{} 。正如您在文档中看到的,您的别名不会被刷新:
而是建议使用
您仍然可以使用别名,但每次都需要刷新别名:
^{pr2}$如果不这样做,
var1
将保留旧值。在但是,如果您认为有必要(如果经常发生),您可以使用一个快速函数一次性完成这些操作
注意我在这里使用}更好。在
global
,这样var1
在全局命名空间中被修改,而不仅仅是在该函数中声明。如果您真的只有一个值,您可以使用return var1
,但我认为这是一个罕见的情况,其中{相关问题 更多 >
编程相关推荐