1

目前,我在 Windows 上运行它:

args = ['start', windowname, 'python', '-i', myscript]
subprocess.Popen(args, shell=True)

如您所见,我在 python 的交互模式下启动了一个运行 myscript 的子进程。就我而言,这意味着一旦脚本退出,无论它是否出错或成功完成,窗口/外壳都会保持打开状态。但是,我希望当 myscript 出错时,窗口将保持打开状态,而当 myscript 成功运行时,窗口将关闭。

我这样做的原因是因为我想看到错误和导致错误的输出——我宁愿不使用某种形式的日志记录,因为我更容易直观地看到窗口和输出。

我认为我无法检查返回码,因为我正在与之交互的进程是 start/cmd,而不是 python。如果我错了,请纠正我!

谢谢!

4

1 回答 1

0

我认为最简单的方法是将整个内容包装在一个小批处理脚本中,该脚本检查 python 的返回代码(可能由您通过调用sys.exit()适当的返回代码来设置)。

这个 stackoverflow 问题涵盖了如何获取返回码(显然它在 %errorlevel% 中),您可以通过pause在批处理脚本中执行来保持 cmd 窗口打开。

于 2013-03-28T07:47:43.323 回答