要使用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
命令,并將結果通過stdout
參數傳遞給subprocess.PIPE
,這意味著命令的輸出將被捕獲。
然后,使用process.communicate()
方法獲取命令的輸出和錯誤信息(如果有)。communicate()
方法會阻塞,直到命令執行完成。
最后,使用print()
函數打印命令的輸出。需要注意的是,output
是一個字節字符串,如果要將其轉換為文本字符串,可以使用.decode('utf-8')
方法。