[英]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.