溫馨提示×

python popen如何讀取大量輸出

小樊
174
2024-06-15 16:13:29
欄目: 編程語言

使用subprocess.Popen可以執行外部命令,并獲取它的輸出。當輸出較大時,可以使用communicate()方法來獲取輸出,并避免出現緩沖區溢出的情況。

以下是一個示例代碼:

import subprocess

# 執行外部命令
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)

# 讀取輸出
output, error = process.communicate()

# 輸出結果
print(output.decode('utf-8'))

在以上代碼中,通過subprocess.Popen執行外部命令ls -l,并將輸出存儲在output變量中。最后通過decode('utf-8')方法將輸出轉換為字符串并打印出來。

需要注意的是,communicate()方法會等待命令執行完畢并返回輸出結果,因此在輸出較大時可能會阻塞程序。如果需要實時獲取輸出,可以使用stdout.readline()方法來逐行讀取輸出。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女