我有一个python脚本,我正在调用另一个使用子进程的脚本,如下所示。捕捉python子进程异常
sp = subprocess.Popen("script.py --arg1 --arg2', cwd=GIVEN_PATH, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while sp.poll() is None:
for out in iter(sp.stdout.readline,''):
self.log(out.rstrip())
这工作正常,但我想从script.py得到任何异常。我知道我们可以得到retcode,但我实际上需要获取完整的例外信息。
如果script.py提高
raise IOERROR("got an exception")
然后我需要知道这个信息。 simailar方式我们得到sys.exc_info()等
有没有办法我可以做到这一点?
由于提前
除了下面的答案之外,有必要指出的是,Python可以直接调用其他python模块,而不需要子进程,这将允许您捕获异常。这是你在这种情况下应该做的。 – VooDooNOFX