Как обработать Python ошибка вызова подпроцесса и ждать - PullRequest
0 голосов
/ 18 февраля 2020

Я вызываю python сценарий (сценарий B) из сценария A, а сценарий B вызывает другой python сценарий сценария C.

Script A -> Script B -> Script C

Есть ли способ сделать ниже процесс ожидания завершения скрипта B & C?

import subprocess

cmd = subprocess.call(['python script_A.py'], shell=True)
if cmd != 0:
    print "\nscript_A.py failed with exit code %s\n" % cmd
    sys.exit(1)

1 Ответ

0 голосов
/ 18 февраля 2020

Не используйте shell=True со списком и не используйте список, содержащий одну строку, которую, как вы ожидаете, анализирует оболочка. Просто передайте список, состоящий из имени команды и ее аргументов.

result = subprocess.call(['python', 'script_A.py'])
if result != 0:
    ...
...