У меня есть следующий код Python, в котором я вызываю Makefile, вставив команду bash из сценария python. Я хочу проверить, сообщается ли о предупреждении о стандартном выпуске. Я вижу предупреждение на stdout, но мой код Python, похоже, не обнаруживает его.Невозможно правильно разобрать вывод bash из Python
Python код:
maker = subprocess.Popen(["bash", "-c", "make"], stdout=subprocess.PIPE)
for line in maker.stdout:
if "warning:" in line:
print "Warning(s) detected in make"
выход на стандартный вывод, который ясно сообщает предупреждение:
main.c: In function ‘main’:
main.c:46:14: warning: unused variable ‘options’ [-Wunused-variable]
Сообщения об ошибках компилятора печатаются по стандартной ошибке, а не по стандартным выводам. – Barmar