1
我已经彻底搜索了一个答案,但还没有找到任何解决方案。如何从子进程读取输出而不打印到终端?
我只需要暂时执行一个子进程来打印它的版本信息。如果从命令行运行,它只是
.\bin\application.exe --version
并且版本信息被打印到终端。我想用字符串捕获这些信息。我一直在尝试变种
args = ("path\to\application.exe", "--version")
subprocess.Popen(args, stdout=subprocess.PIPE).communicate()[0]
没有成功。如果可能的话,我也需要这样做,不要将输出打印到终端。我能做什么?
是应用程序打印版本信息到STDERR?尝试在你的“Popen”调用中添加'stderr = subprocess.STDOUT',看看会发生什么。 –
就是这样,谢谢:) – swingsoneto
很高兴帮助!我为后来遇到此问题的人提供了更好的可视性答案。 –