从subprocess.call方法执行python文件时,打印雄蕊将丢失



我正在运行一个Python代码,其中我正在执行一个命令,通过subprocess.call((方法运行另一个Python文件。我在subprocess.call((中执行的文件中有一些打印语句,但当我运行此代码时,这些语句不会打印在控制台上
有没有办法把它们打印在控制台上?当我独立执行这个文件而不是通过subprocess.call((时,一切都很好。如果我将这个命令的输出重定向到一个文件,那么它就会打印在文件中,但在运行时找不到在控制台上查看它的方法。如有任何帮助,将不胜感激

子流程调用具有默认参数:stdout=None, stderr=None,您需要配置或使用capture_output=True,请参阅以下文档:https://docs.python.org/3/library/subprocess.html

您可能想要使用子流程。管道:

p = subprocess.call(..., stdout=subprocess.PIPE)
output, _ = p.communicate()
print(output)

(在浏览器中编写,但应该可以使用(

顺便说一句,当你没有提供任何代码(无论是使用子流程运行的代码还是使用子流程的代码(时,很难理解你的问题并提出解决方案。请添加它以获得更具体和/或相关的答案

最新更新