Python的subprocess模块中subprocess.run()的参数都有什么
时间: 2024-05-30 08:10:29 浏览: 412
sh:Python进程启动
`subprocess.run()` 是 Python 3.5 引入的一个函数,用于执行一个子进程并等待其完成。它的参数如下:
- `args`:要执行的命令,可以是字符串或者列表形式;
- `shell`:是否使用 shell 执行命令,默认为 `False`;
- `stdin`:子进程的标准输入,默认为 `subprocess.PIPE`;
- `stdout`:子进程的标准输出,默认为 `subprocess.PIPE`;
- `stderr`:子进程的标准错误输出,默认为 `subprocess.PIPE`;
- `capture_output`:将子进程的标准输出和标准错误输出合并为一个 `bytes` 对象,如果为 `True`,则 `stdout` 和 `stderr` 参数必须为 `subprocess.PIPE`,默认为 `False`;
- `timeout`:子进程运行的超时时间,默认没有超时限制;
- `check`:如果为 `True`,则当子进程返回非零状态码时将抛出 `CalledProcessError` 异常,否则不抛出异常;
- `text`:如果为 `True`,则将子进程的标准输出和标准错误输出解码成字符串,否则返回 `bytes` 对象;
- `encoding`:将子进程的标准输出和标准错误输出解码成字符串时使用的编码,默认为 `None`;
- `errors`:将子进程的标准输出和标准错误输出解码成字符串时使用的错误处理方式,默认为 `None`。
需要注意的是,`subprocess.run()` 函数只能在 Python 3.5 及以上版本中使用。如果你使用的是 Python 3.4 或者更早版本,则可以使用 `subprocess.Popen()` 函数来执行子进程。
阅读全文