У меня есть python script, который вызывает следующую команду:
# make
После make, он также вызывает три другие программы. Есть ли стандартный способ сказать, была ли команда make успешной или нет? Прямо сейчас, если make успешно или неудачно, программа продолжает работать. Я хочу, чтобы ошибка была сделана с ошибкой.
Может ли кто-нибудь дать мне направление с этим?
Используйте subprocess.check_call()
. Таким образом, вам не нужно проверять код возврата самостоятельно - будет выведено исключение, если код возврата был ненулевым.
import os
if os.system("make"):
print "True"
else:
print "False"
Посмотрите на код выхода make. Если вы используете модуль python commands
, вы можете легко получить код состояния. 0 означает успех, отличное от нуля означает некоторую проблему.
poll
иwait
- это методы, понятные объектамsubprocess.Popen
. Нажмите на ссылку в ответе Игнасио для получения дополнительной информации.