可以使用communicate()
方法來獲取Popen
對象的標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出。communicate()
方法會等待子進(jìn)程執(zhí)行完畢,并返回一個包含標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出的元組。下面是一個示例代碼:
import subprocess
# 執(zhí)行一個命令
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 等待子進(jìn)程執(zhí)行完畢并獲取標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出
output, error = process.communicate()
# 打印標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出
print("Standard Output:", output.decode())
print("Standard Error:", error.decode())
在這個示例中,我們使用Popen
執(zhí)行了ls -l
命令,并通過communicate()
方法獲取了命令的標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出。最后,我們將輸出內(nèi)容打印出來。