温馨提示×

python外部命令如何进行错误处理

小樊
82
2024-12-12 01:45:38
栏目: 编程语言

在Python中,可以使用subprocess模块来执行外部命令

import subprocess

def run_command(command):
    try:
        # 使用列表形式执行命令,避免shell注入风险
        result = subprocess.run(command, check=True, text=True, capture_output=True)
        print("Command output:", result.stdout)
    except subprocess.CalledProcessError as e:
        print("Error occurred while running the command:", e)
        print("Command output (stderr):", e.stderr)

command = ["ls", "-l"]
run_command(command)

在这个示例中,我们定义了一个名为run_command的函数,它接受一个命令列表作为参数。我们使用subprocess.run()函数来执行命令,并设置check=True以便在命令返回非零退出状态时引发subprocess.CalledProcessError异常。我们还设置了text=Truecapture_output=True以便以文本形式捕获命令的输出。

如果命令执行成功,我们将输出结果打印到控制台。如果命令执行失败,我们将捕获subprocess.CalledProcessError异常,并打印错误信息和命令的输出(如果有)。

0