Python subprocess 模块
实例
运行一个简单的命令并捕获输出:
import subprocess
result = subprocess.run(['echo', 'Hello from Emil'], capture_output=True, text=True)
print(result.stdout)
亲自试一试 »
定义和用法
subprocess 模块允许您创建新进程、连接到它们的输入/输出/错误管道,并获取返回码。
您可以使用它来执行外部命令、运行 shell 脚本或从 Python 代码中与其他程序交互。
成员
| 成员 | 描述 |
|---|---|
| CalledProcessError | 当进程返回非零退出状态时引发异常。 |
| CompletedProcess | 表示已完成进程的对象(由 run() 返回)。 |
| DEVNULL | 重定向到 /dev/null 的特殊值。 |
| PIPE | 创建指向子进程的新管道的特殊值。 |
| Popen | 用于更高级进程管理的类。 |
| STDOUT | 用于将 stderr 重定向到 stdout 的特殊值。 |
| SubprocessError | 子进程相关错误的基本异常。 |
| TimeoutExpired | 超时时引发的异常。 |
| call() | 运行命令并等待完成(旧版)。 |
| check_call() | 运行命令,如果返回非零值则引发异常。 |
| check_output() | 运行命令并返回其输出。 |
| getoutput() | 在 shell 中运行命令并返回输出(旧版)。 |
| getstatusoutput() | 在 shell 中运行命令并返回 (状态, 输出) 元组。 |
| list2cmdline() | 将参数列表转换为命令字符串(Windows)。 |
| run() | 运行命令并返回 CompletedProcess 实例。 |

