我正在尝试从python调用make命令,并确保它成功。因此,我从一个简单的子流程调用开始,但是输出与我的终端不同!
我在常规Linux终端上执行“ make RedTB”并得到: make:“ RedTB”是最新的。好的,很好。
但是在Python3.6上,我使用子流程函数执行“ make RedTB”,但从未收到最新消息。相反,我得到了几行以g ++开头的长行,然后出现了一些关于比较运算符的警告,它们是无符号的。即使我继续运行它。
由于它在同一台计算机和同一条命令上,是否应该给出相同的准确输出?
编辑:使用shell = true运行subprocess.run也会产生与没有shell = true时不同的输出.call和.popen。但最终输出的结果与终端仍然不同。