在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=True
和capture_output=True
以便以文本形式捕获命令的输出。
如果命令执行成功,我们将输出结果打印到控制台。如果命令执行失败,我们将捕获subprocess.CalledProcessError
异常,并打印错误信息和命令的输出(如果有)。