Python 的 subprocess
模块可以让你在 Python 程序中执行 shell 命令
import subprocess
# 使用 subprocess.run() 执行 shell 命令并等待命令完成
result = subprocess.run(["echo", "Hello, World!"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
# 输出命令的返回码(0 表示成功,非 0 表示出错)
print(f"Return code: {result.returncode}")
# 输出命令的标准输出
print(f"Standard output: {result.stdout}")
# 输出命令的标准错误输出
print(f"Standard error output: {result.stderr}")
在这个例子中,我们使用 subprocess.run()
函数执行了一个简单的 echo
命令。stdout
和 stderr
参数分别用于捕获命令的标准输出和标准错误输出。text=True
参数表示我们希望以文本模式(而不是字节模式)接收输出。
你可以根据需要修改这个例子,以执行其他 shell 命令。如果你需要执行多个命令,可以将它们放在一个列表中,如下所示:
result = subprocess.run(["echo", "Hello, World!", "&&", "ls"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
在这个例子中,我们执行了一个 echo
命令,后面跟着一个 ls
命令,它们之间用 &&
连接。这将在第一个命令成功执行后执行第二个命令。