首頁 > 後端開發 > Python教學 > 如何在 Python 中有效捕獲和儲存 subprocess.Popen 呼叫的輸出?

如何在 Python 中有效捕獲和儲存 subprocess.Popen 呼叫的輸出?

Susan Sarandon
發布: 2024-12-07 04:36:19
原創
149 人瀏覽過

How Can I Efficiently Capture and Store the Output of a subprocess.Popen Call in Python?

在字串中儲存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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板