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
很高興幫助!我爲後來遇到此問題的人提供了更好的可視性答案。 –