Подпроцесс Python.Всплывающее окно - добавление флагов GCC приводит к ошибке “нет входных файлов”

StackOverflow https://stackoverflow.com/questions/1448558

  •  11-09-2019
  •  | 
  •  

Вопрос

Я создаю скрипт на Python для автоматизации моего процесса сборки, который вызывает GCC с использованием подпроцесса.Popen.Моя первоначальная попытка работает нормально.

>>> import subprocess
>>> p = Popen(['gcc', 'hello.c'], stdout=subprocess.PIPE, stderr=stderr=subprocess.STDOUT)
>>> p.wait()
0
>>> p.communicate()
('', None)

Однако, как только я передаю дополнительные параметры в GCC, я получаю сообщение об ошибке "нет входных файлов", как показано ниже:

>>> import subprocess
>>> p = Popen(['gcc', '-o hello hello.c'], stdout=subprocess.PIPE, stderr=stderr=subprocess.STDOUT)
>>> p.wait()
1
>>> p.communicate()
('gcc: no input files\r\n', None)

Есть какие-нибудь идеи, что может быть причиной этой проблемы?

Это было полезно?

Решение

Разве это не должно быть

p = Popen(['gcc', '-o', 'hello', 'hello.c'], stdout=subprocess.PIPE, stderr=stderr=subprocess.STDOUT)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top