我有一個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