我正在使用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。
答案 0 :(得分:0)
简短的回答:否
因为来自探查器的退出代码非零,这意味着运行探查器时发生错误。检查脚本的退出代码不是探查器的工作。但是,如果您只关心退出代码,则可以引发异常:
# error.py
raise Exception