파이썬 스크립트가 있습니다. 아래 스크립트를 사용하여 다른 스크립트를 호출하고 있습니다.파이썬 하위 프로세스 예외 잡기
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() 등
내가 할 수있는 방법이 무엇입니까?
아래 답변에 더하여, 파이썬이 하위 프로세스 없이도 다른 파이썬 모듈을 직접 호출 할 수 있다는 점을 알아두면 유용합니다. 예외를 잡을 수 있습니다. 이 경우에해야 할 일입니다. – VooDooNOFX