首頁 > 後端開發 > Python教學 > 如何使用具有超時功能的 Python 的'subprocess”模組?

如何使用具有超時功能的 Python 的'subprocess”模組?

Susan Sarandon
發布: 2024-12-26 01:51:08
原創
864 人瀏覽過

How Can I Use Python's `subprocess` Module with a Timeout?

使用帶有超時的模組「subprocess」

在Python程式設計中,通常需要執行任意指令並擷取其輸出。 「subprocess」模組為此提供了方便的功能,但缺乏對超時的支援。當命令預計長時間運行時,這可能是一個重大限制。

以下程式碼示範了在 Python 中實作逾時的簡單方法:

from subprocess import check_output

try:
    output = check_output(cmd, stderr=STDOUT, timeout=seconds)
except CalledProcessError as e:
    handle_error(e)
登入後複製

check_output 函數, Python 3.3 中引入,允許呼叫者指定逾時(以秒為單位)。如果指令超過指定時間,則會引發 CalledProcessError 異常。命令的輸出以位元組字串的形式返回到“output”變數中。

對於 Python 2.x 用戶,可以使用 subprocess32 反向移植模組來提供類似的功能。

上述解決方案消除了與進程明確通訊的需要,並提供了更直接的處理超時的機制。

以上是如何使用具有超時功能的 Python 的'subprocess”模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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