使用帶有超時的模組「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中文網其他相關文章!