【发布时间】:2018-10-23 05:21:06
【问题描述】:
我正在尝试创建一个 python 脚本来启动一个新窗口并等待它完成,然后检索退出代码。所以我使用带有start /wait 的 Popen 为其创建一个单独的窗口,但这并不能正确转发退出代码。
这段代码总结了问题:
import subprocess
params = {}
params['stdout'] = subprocess.PIPE
params['stderr'] = subprocess.PIPE
params['shell'] = True
proc = subprocess.Popen('start /wait cmd /c exit 1', **params)
# This works but the above line does not
#proc = subprocess.Popen('exit 1', **params)
resultCode = proc.wait()
print(resultCode)
start /wait 的文档建议它应该返回退出代码,当我手动运行它然后检查 %ERRORLEVEL% 它看起来是正确的,所以我不确定我做错了什么
【问题讨论】:
-
@OferSadan 我已更新代码以删除不必要的导入,但问题仍然存在
-
我已经尝试用两种类型的导入来复制它,我得到了和你一样的结果,所以为这个错误道歉
标签: python windows command-line popen exit-code