从shell和iPython运行

时间:2012-11-05 15:33:50

标签: python-2.7 ipython

不确定如何处理我遇到的问题。我通过命令行执行我的代码格式:

python program.py arg1 arg2

在大多数情况下这很好,但我刚刚获得了iPython,我想在iPython中启动代码以使用它进行调试。但是,我找不到传递参数的最佳方法。

executable('program')对于此

是不够的

有点subprocess出现问题,无法使其正常工作

subprocess.call([sys.executable, 'program.py','arg1'])

2 个答案:

答案 0 :(得分:5)

您应该可以只运行ipython program.py arg1 arg2。如果您希望在脚本运行后与程序进行交互,请执行ipython -i program.py arg1 arg2。 -i标志对于ipython的工作方式与对python的工作方式相同。

如果您已经在ipython中并且想要运行脚本,则可以使用ipython magic函数运行带有run program.py arg1 arg2的脚本。您还将-m选项与run函数一起使用,它将与常规python上的-m选项类似,以按名称而不是脚本路径运行模块。

答案 1 :(得分:1)

ipython将命令行上的多个参数视为要执行的文件。所以,这就是我处理类似事情的方法:

ipython -i --InteractiveShellApp.code_to_run="%run my_prog.py arg1 arg2"

%run是一个ipython魔术命令。要了解它,请在ipython提示符下键入:

In [1]: %run?

键入以下内容以了解该命令行选项:

$ ipython --help-all