使用来自终端的参数调试 python 脚本
Debug a python script with arguments from terminal
我有一个 python 脚本,它接受输入参数和 运行s 以响应终端中的以下命令(bash、Mac OSX ).
python test.py arg1 arg2
有没有一种好方法可以在调试模式下 运行 相同的脚本,而无需编辑代码以包含 import pdb
和 pdb.set_trace()
?
例如,如果我使用 iPython 控制台,我可以通过以下方式执行此操作:
%run -d test.py arg1 arg2
这很简单,不是吗?为了在终端中实现同样的事情,我认为以下可能有效,但它没有:
python -c "import pdb; import sys; sys.argv = ['test.py', arg1, arg2];pdb.run('test.py')"
带有参数的代码 运行,但不在 pdb
的调试模式下。很难做到吗,我应该坚持 pdb.set_trace
或 iPython 的 %run -d
?
尝试:
python -m pdb test.py arg1 arg2
运行 python -m pdb
作为脚本运行 pdb
。如果 test.py
在您的路径中而不是您当前的工作目录中,这可能是一个有用的替代:
python -m pdb "$(which test.py)" arg1 arg2
支持你有以下代码
for i in range(200):
print i
添加
即可开始调试
pdb.set_trace()
例子
import pdb
pdb.set_trace()
for i in range(200):
print i
代码将在
中断
pdb.set_trace()
一旦代码停止,您可以使用 pdb 命令对其进行调试。
有关 pdb 命令,请参阅 https://docs.python.org/2/library/pdb.html#debugger。
在 Spyder IDE (2.3.4) 中使用输入参数调试 python 脚本
- 运行 > 配置...
- Select一个运行配置>(选择打开的感兴趣的脚本)
- 常规设置> 命令行选项:
arg1 arg2 arg3
(使用 space 作为分隔符,就像在命令行中一样)
- 工作目录:(选择文件夹)
- 单击确定
然后从菜单调试。这相当于在 Spyder 的 iPython 控制台中执行以下命令。
debugfile('/Users/xxx/xxx/test.py', args='arg1 arg2', wdir='/Users/xxx/xxx/')
与 PyCharm 的做法非常相似。
- 运行 > 编辑配置
- 从菜单中选择 python 脚本
Configuration
窗格
- 脚本参数:
arg1 arg2
然后 运行 > 调试 > 选择文件。
在 iPyhton 控制台中你也可以试试这个(假设 test.py 在你当前的文件夹中):
%run -d test.py arg1 arg2
我有一个 python 脚本,它接受输入参数和 运行s 以响应终端中的以下命令(bash、Mac OSX ).
python test.py arg1 arg2
有没有一种好方法可以在调试模式下 运行 相同的脚本,而无需编辑代码以包含 import pdb
和 pdb.set_trace()
?
例如,如果我使用 iPython 控制台,我可以通过以下方式执行此操作:
%run -d test.py arg1 arg2
这很简单,不是吗?为了在终端中实现同样的事情,我认为以下可能有效,但它没有:
python -c "import pdb; import sys; sys.argv = ['test.py', arg1, arg2];pdb.run('test.py')"
带有参数的代码 运行,但不在 pdb
的调试模式下。很难做到吗,我应该坚持 pdb.set_trace
或 iPython 的 %run -d
?
尝试:
python -m pdb test.py arg1 arg2
运行 python -m pdb
作为脚本运行 pdb
。如果 test.py
在您的路径中而不是您当前的工作目录中,这可能是一个有用的替代:
python -m pdb "$(which test.py)" arg1 arg2
支持你有以下代码
for i in range(200):
print i
添加
即可开始调试pdb.set_trace()
例子
import pdb
pdb.set_trace()
for i in range(200):
print i
代码将在
中断pdb.set_trace()
一旦代码停止,您可以使用 pdb 命令对其进行调试。 有关 pdb 命令,请参阅 https://docs.python.org/2/library/pdb.html#debugger。
在 Spyder IDE (2.3.4) 中使用输入参数调试 python 脚本
- 运行 > 配置...
- Select一个运行配置>(选择打开的感兴趣的脚本)
- 常规设置> 命令行选项:
arg1 arg2 arg3
(使用 space 作为分隔符,就像在命令行中一样) - 工作目录:(选择文件夹)
- 单击确定
然后从菜单调试。这相当于在 Spyder 的 iPython 控制台中执行以下命令。
debugfile('/Users/xxx/xxx/test.py', args='arg1 arg2', wdir='/Users/xxx/xxx/')
与 PyCharm 的做法非常相似。
- 运行 > 编辑配置
- 从菜单中选择 python 脚本
Configuration
窗格- 脚本参数:
arg1 arg2
然后 运行 > 调试 > 选择文件。
在 iPyhton 控制台中你也可以试试这个(假设 test.py 在你当前的文件夹中):
%run -d test.py arg1 arg2