在字串中儲存subprocess.Popen 呼叫的輸出
當嘗試使用Python 進行系統呼叫時,可能需要儲存輸出以供供呼叫以後操作。但是,單獨使用 subprocess.Popen 並不能提供一個簡單的方法來捕捉字串中的輸出。
替代方法
要解決此問題,請考慮以下選項:
Python 2.7 或Python 3
利用subprocess.check_output()函數,簡化指令執行與輸出擷取:
from subprocess import check_output out = check_output(["ntpq", "-p"])
Python 2.4-2.6
使用Popen的通訊方法object:
import subprocess p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE) out, err = p.communicate()
在這種情況下,out 將包含所需的輸出。
命令調用注意事項
使用 Popen 時,指定命令作為包含命令和選項的列表,例如 ["ntpq", "-p"]。這確保了命令被正確解釋,因為 Popen 不使用 shell 來執行命令。
以上是如何在 Python 中有效捕獲和儲存 subprocess.Popen 呼叫的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!