Python 探查器没有以正确的退出代码退出
Python profiler does not exit with proper exit code
我正在使用 cProfile 分析一个 python 脚本,我希望它的退出代码与我的脚本的退出代码相同。
假设我的脚本 error.py 是:
import sys
print ("Error")
sys.exit(1)
当然当我运行它时:
python3 error.py
进程以代码 1 退出,但是当我使用以下命令 运行 它时:
python3 -m cProfile error.py
退出代码为 0,我想将 error.py 的退出代码传播到探查器。
有办法实现吗?
编辑
应用 pkqxdd 的建议有帮助,但我的问题更复杂。
error.py 现在是:
print ("Error")
raise Exception
但是,我将 cProfile 与 py.test-3 一起使用如下:
python3 -m cProfile -o profile $(which py.test-3) error.py
上面的命令仍然产生退出代码 0。
简答:否
因为探查器的非零退出代码意味着 运行 探查器出现错误。检查脚本的退出代码不是探查器的工作。但是,如果您只关心退出代码,则可以引发异常:
# error.py
raise Exception
我正在使用 cProfile 分析一个 python 脚本,我希望它的退出代码与我的脚本的退出代码相同。
假设我的脚本 error.py 是:
import sys
print ("Error")
sys.exit(1)
当然当我运行它时:
python3 error.py
进程以代码 1 退出,但是当我使用以下命令 运行 它时:
python3 -m cProfile error.py
退出代码为 0,我想将 error.py 的退出代码传播到探查器。
有办法实现吗?
编辑
应用 pkqxdd 的建议有帮助,但我的问题更复杂。 error.py 现在是:
print ("Error")
raise Exception
但是,我将 cProfile 与 py.test-3 一起使用如下:
python3 -m cProfile -o profile $(which py.test-3) error.py
上面的命令仍然产生退出代码 0。
简答:否
因为探查器的非零退出代码意味着 运行 探查器出现错误。检查脚本的退出代码不是探查器的工作。但是,如果您只关心退出代码,则可以引发异常:
# error.py
raise Exception