溫馨提示×

python subprocess如何捕獲輸出

小樊
82
2024-11-16 16:01:42
欄目: 編程語言

在Python中,你可以使用subprocess模塊來運行外部命令并捕獲其輸出

import subprocess

# 運行外部命令并捕獲stdout和stderr
completed_process = subprocess.run(["echo", "Hello, World!"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 打印捕獲到的輸出
print("stdout:", completed_process.stdout)
print("stderr:", completed_process.stderr)

# 獲取返回碼
return_code = completed_process.returncode
print("Return code:", return_code)

在這個例子中,我們使用subprocess.run()函數(shù)來運行一個簡單的echo命令。我們將stdoutstderr參數(shù)設(shè)置為subprocess.PIPE,以便捕獲命令的輸出。text=True參數(shù)表示我們希望以文本形式接收輸出,而不是字節(jié)形式。

subprocess.run()函數(shù)返回一個CompletedProcess對象,它包含以下屬性:

  • stdout:命令的標(biāo)準(zhǔn)輸出
  • stderr:命令的標(biāo)準(zhǔn)錯誤
  • returncode:命令的返回碼

你可以使用這些屬性來捕獲和處理命令的輸出。

0