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

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

Linda Hamilton
Linda Hamilton原創
2024-12-05 03:53:09482瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn