Python Script Call Make и другие утилиты

1

У меня есть python script, который вызывает следующую команду:

# make

После make, он также вызывает три другие программы. Есть ли стандартный способ сказать, была ли команда make успешной или нет? Прямо сейчас, если make успешно или неудачно, программа продолжает работать. Я хочу, чтобы ошибка была сделана с ошибкой.

Может ли кто-нибудь дать мне направление с этим?

Теги:
makefile
scripting

4 ответа

2
Лучший ответ

Возвращаемое значение poll() и wait() - это код возврата процесса. Проверьте, не отличен ли он от нуля.

  • 0
    Опрос () и ожидание () встроены в python или make?
  • 1
    poll и wait - это методы, понятные объектам subprocess.Popen . Нажмите на ссылку в ответе Игнасио для получения дополнительной информации.
Показать ещё 1 комментарий
0

Используйте subprocess.check_call(). Таким образом, вам не нужно проверять код возврата самостоятельно - будет выведено исключение, если код возврата был ненулевым.

0
import os
if os.system("make"):
    print "True"
else:
    print "False"
  • 0
    Сожалею. Я не думаю, что это работает. Я только что проверил это с помощью вызова фиктивной программы, которая никогда не существует и никогда не переходит к ложному утверждению
  • 0
    Этот скрипт выведет True, если make вернул какие-либо ошибки, и false, если он завершился корректно.
0

Посмотрите на код выхода make. Если вы используете модуль python commands, вы можете легко получить код состояния. 0 означает успех, отличное от нуля означает некоторую проблему.

  • 0
    Спасибо! Я посмотрю на это

Ещё вопросы

Сообщество Overcoder
Наверх
Меню