溫馨提示×

python等待命令能處理異常嗎

小樊
107
2024-11-24 14:06:52
欄目: 編程語言

是的,Python 的 subprocess 模塊中的 wait() 函數可以處理異常。當你使用 subprocess.Popen 類創建一個子進程并調用其 wait() 方法時,如果子進程退出狀態碼不是零,那么會引發一個 subprocess.CalledProcessError 異常。你可以使用 try-except 語句來捕獲這個異常并進行相應的處理。

下面是一個簡單的示例:

import subprocess

# 創建一個子進程
cmd = "your_command_here"
process = subprocess.Popen(cmd, shell=True)

try:
    # 等待子進程完成并獲取退出狀態碼
    exit_code = process.wait()

    # 檢查退出狀態碼是否為0(成功)
    if exit_code == 0:
        print("子進程執行成功")
    else:
        print(f"子進程執行失敗,退出狀態碼:{exit_code}")
except subprocess.CalledProcessError as e:
    print(f"捕獲到異常:{e}")

在這個示例中,我們使用 subprocess.Popen 創建了一個子進程,并嘗試使用 wait() 方法等待其完成。如果子進程執行成功,exit_code 將為 0,否則將引發 subprocess.CalledProcessError 異常。我們使用 try-except 語句捕獲這個異常并輸出相應的錯誤信息。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女