在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"
但这也不起作用。
我知道,这是一个懒惰的事情,但减少一步可以加快调试旋转速度。
答案 0 :(得分:2)
重新发布作为答案:名称实际上放在交互式命名空间中,但IPython启动时定义的名称在%whos
中隐藏,因此它表示命名空间为空,即使它不是。如果您尝试使用名称,它们应该正常工作。