我对NumPy / SciPy和IPython相对较新。
要在python交互模式下执行python脚本,我们可以使用以下命令。
>>> import os
>>> os.system('executable.py')
然后可以从python提示符中看到打印输出。
但同样的想法不适用于IPython笔记本。
In [64]:
import os
os.system('executable.py')
Out[64]:
0
在这种情况下,我看不到任何打印输出。笔记本只告诉天气执行成功与否。使用IPython笔记本时有没有办法看到输出?
答案 0 :(得分:2)
使用魔术功能%run
:
%run executable.py
这会将stdout
正确地重定向到浏览器,您将看到笔记本中程序的输出。
如果存在异常,它将为您提供从命令行运行的典型功能以及Python回溯。
文件名后的参数作为命令行参数传递给 程序(放入sys.argv)。然后,控制返回到IPython的 提示。
这类似于在系统提示符
python file args
上运行, 但具有为您提供IPython的追溯的优势 将所有变量加载到交互式命名空间中以供进一步使 (除非使用-p,见下文)。
选项-t
倍于您的脚本。使用-d
,它在调试器pdb中运行。更好的选择。