簡體   English   中英

Python 子進程 output 到標准輸出

[英]Python subprocess output to stdout

我正在使用子進程模塊從 python 運行二進制文件。

要捕獲二進制文件生成的 output,我正在使用:

proc = subprocess.Popen (command_args, shell=False, stdout=subprocess.PIPE)
out = proc.communicate()[0]
#print the output of the child process to stdout
print (out)

它所做的是在完成執行后打印進程的 output。 無論如何,我可以在程序執行時將這個 output 打印到標准輸出嗎? 我真的需要看看 output 是什么,因為這些程序可以運行很長時間。

謝謝您的幫助。

只是不要將輸出發送到管道:

proc = subprocess.Popen (command_args, shell=False)
proc.communicate()

這對我有用:

如果需要在powershell中執行命令:

import subprocess

S_V = subprocess.Popen(["powershell.exe", 'your command'   ], stdout=subprocess.PIPE)
out, err = S_V.communicate()
print (out)
print (err )

或者如果需要在CMD中執行命令:

name=subprocess.check_output('whoami')  # replace your command with 'whoami'
name=name.decode("utf-8") 
print (name)

注意: whoami為當前登錄到本地系統的用戶顯示用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM