【发布时间】:2017-01-22 06:04:05
【问题描述】:
我有一个 Python 脚本,它将执行一些操作,并根据结果以代码 0(正常)或 1(不好)退出。
我想捕捉这个结果,将其存储到一个变量中并通过 UDP 发送。这不能在 Python 脚本中完成(要求)。
假设我的脚本是这样的:
import sys
# Do some stuff
sys.exit(0) # or sys.exit(1)
我使用python script.py 运行。
如何获取此退出状态代码(0 或 1)?
我尝试回显$errorlevel,但它只打印一个空行。我还尝试使用exit(0) 代替sys.exit()(参见here)和其他一些不成功的尝试。
【问题讨论】:
-
sys.exit(0)是将返回码发送到 shell 的正确方法。但是您没有说您使用的是哪个操作系统或外壳。在 bash 和类似的 shell 中,$?具有最后一个命令的退出代码。 -
“我用 python script.sh* 运行。”,你不是说“我用 python script.py 运行”吗?
-
是的,对不起.py
-
这真的是关于 Python 的问题吗?据我所知,您正在询问如何捕获进程的退出代码(在这种情况下是 Python) - 但它可以是任何进程。正如@PM2Ring 提到的 - 这取决于你的外壳/环境等......
-
这不是 python 本身的问题。这是关于你的外壳的问题。你用哪一个?重击,嘘,鱼,...?在 bash 中,您使用
$?捕获最后一个退出代码。您如何发送捕获的变量?