Python subprocess.Popen - 添加GCC标志导致“没有输入文件”错误

2 投票
1 回答
3357 浏览
提问于 2025-04-15 14:26

我正在写一个Python脚本来自动化我的构建过程,这个脚本通过subprocess.Popen来调用GCC编译器。我的第一次尝试运行得很好。

>>> 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)

有没有人知道这可能是什么原因呢?

1 个回答

6

那不应该是这样吗

p = Popen(['gcc', '-o', 'hello', 'hello.c'], stdout=subprocess.PIPE, stderr=stderr=subprocess.STDOUT)

撰写回答