在Python中,可以使用subprocess
模塊來執行外部命令并獲取返回狀態碼和錯誤信息。以下是一個例子:
import subprocess
def run_command(command):
try:
# 執行命令
result = subprocess.run(command, shell=True, capture_output=True, text=True)
# 獲取返回狀態碼和錯誤信息
return result.returncode, result.stderr
except Exception as e:
# 發生異常時返回錯誤信息
return -1, str(e)
在該示例中,run_command
函數接收一個命令作為參數,并使用subprocess.run
方法執行該命令。設置shell=True
參數可以在執行命令時使用shell環境。capture_output=True
參數用于捕獲命令的輸出結果,設置text=True
參數可以將輸出結果以文本形式返回。
result.returncode
表示返回狀態碼,非零值通常表示命令執行出錯。result.stderr
表示錯誤信息。
你可以像下面這樣調用run_command
函數來執行命令并獲取返回狀態碼和錯誤信息:
command = "ls -l"
return_code, error_message = run_command(command)
if return_code == 0:
print("命令執行成功")
else:
print(f"命令執行失敗,錯誤信息:{error_message}")
在這個例子中,我們執行ls -l
命令并判斷返回狀態碼是否為零來確定命令是否執行成功。如果返回狀態碼非零,則打印錯誤信息。