首頁 > 後端開發 > Python教學 > 如何檢索 subprocess.call() 的輸出?

如何檢索 subprocess.call() 的輸出?

Linda Hamilton
發布: 2024-12-05 03:53:09
原創
490 人瀏覽過

How Can I Retrieve Output from subprocess.call()?

使用Subprocess.call() 從子程序檢索輸出

要從使用subprocess.call() 啟動的子程序檢索輸出,您可以利用子流程模組的功能。操作方法如下:

Python 2.7 版及更高版本:

利用subprocess.check_output():

import subprocess

output = subprocess.check_output(["ping", "-c", "1", "8.8.8.8"])
登入後複製

這種方法將標準輸出作為字串返回,有效地處理輸出檢索

對於2.7 之前的Python 版本:

您可以使用shell重定向輸出:

import subprocess

process = subprocess.Popen(["ping", "-c", "1", "8.8.8.8"], shell=True, stdout=subprocess.PIPE)

# Read the output
output = process.communicate()[0]
登入後複製

附加說明:

  • 此方法適合簡單指令。
  • 使用 subprocess.Popen() 時,請確保將 stdout 參數設為 subprocess.PIPE 以擷取輸出。
  • 如果指令使用 Linux 語法,請記得要相應調整它Windows。

有關更多詳細資訊和替代方法,請參閱其他答案中提供的全面解釋。

以上是如何檢索 subprocess.call() 的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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