从命令行运行脚本时更新IPython命名空间

时间:2013-11-07 17:35:23

标签: python-3.x ipython ipython-magic

在Ipython 0.10中,可以从命令行运行脚本,然后从交互模式运行,立即访问命名空间中的名称:

ipython -i some_script.py

%whos
    tom
    dick
    jane

我现在使用的是Python 3.3.2和IPython 1.1.0。在某个地方,这种行为发生了变化。现在我明白了:

ipython3 -i some_script.py

%whos
    Interactive namespace empty

我现在必须启动IPython,然后%运行脚本以保留命名空间:

ipython3 -i
%run some_script.py
%whos
    tom
    dick
    jane

是否有一个命令行选项或技术会给我旧的行为?我试过了

ipython3 -i -c "%run some_script.py"

但这也不起作用。

我知道,这是一个懒惰的事情,但减少一步可以加快调试旋转速度。

1 个答案:

答案 0 :(得分:2)

重新发布作为答案:名称实际上放在交互式命名空间中,但IPython启动时定义的名称在%whos中隐藏,因此它表示命名空间为空,即使它不是。如果您尝试使用名称,它们应该正常工作。