不知道如何解决我遇到的问题。我通过命令行以以下格式执行我的代码:
python program.py arg1 arg2
在大多数情况下这很好,但我刚得到 iPython,我想在 iPython 中启动代码以使用它进行调试。但是,我找不到传递参数的最佳方式。
executable('program')
这还不够
有点麻烦subprocess
,不能让它工作
subprocess.call([sys.executable, 'program.py','arg1'])
不知道如何解决我遇到的问题。我通过命令行以以下格式执行我的代码:
python program.py arg1 arg2
在大多数情况下这很好,但我刚得到 iPython,我想在 iPython 中启动代码以使用它进行调试。但是,我找不到传递参数的最佳方式。
executable('program')
这还不够
有点麻烦subprocess
,不能让它工作
subprocess.call([sys.executable, 'program.py','arg1'])
您应该能够运行ipython program.py arg1 arg2
. 如果您想在脚本运行后与程序交互,请执行ipython -i program.py arg1 arg2
. -i 标志对 ipython 的作用与对 python 的作用相同。
如果您已经在 ipython 中并且想要运行您的脚本,您可以使用 ipython 魔术函数来运行带有run program.py arg1 arg2
. 您还可以将 -m 选项与 run 函数一起使用,它的工作方式类似于常规 python 上的 -m 选项,以按名称而不是脚本路径运行模块。
ipython 将命令行上的多个参数视为要执行的文件。所以,这是我为处理类似事情所做的:
ipython -i --InteractiveShellApp.code_to_run="%run my_prog.py arg1 arg2"
%run 是一个 ipython 魔术命令。要了解它,请在 ipython 提示符下键入:
In [1]: %run?
键入以下内容以了解该命令行选项:
$ ipython --help-all