我正在尝试检索 python 脚本本身中的任何命令行执行引发的错误(重要的是退出代码)。我正在为此使用子进程。当我执行任何错误的命令时,它会像往常一样在终端中抛出错误,但随后它会停止执行 python 文件,并且我无法收到存储错误。
看代码。 p_status 应该存储退出代码。但在打印之前,它会在终端抛出错误后停止脚本。
process = subprocess.Popen([<command>], stdout = subprocess.PIPE)
output = process.communicate()
p_status = process.wait()
print(p_status)
我尝试了不同的解决方案,但无法获得所需的结果。
最佳答案
使用以下代码解决了这个问题:
try:
subprocess.Popen([<command>], stdout = subprocess.PIPE)
except OSError as error:
print(error.errno) #for exit code
P.S - 致谢@karolch
关于python - 使用子进程python获取命令行执行抛出的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59876836/