subprocess — 子进程管理

subprocess介绍

  subprocess 模块允许你生成新的进程,连接它们的输入、输出、错误管道,并且获取它们的返回码。

常见函数介绍

subprocess.run

  运行被 arg 描述的指令. 等待指令完成, 然后返回一个 CompletedProcess 实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
subprocess.run(
"""
- 指令:可以使字符串,也可以是列表
- 如果传递一个简单的字符串,则 shell 参数必须为 True ,例如(echo aaaa)
"""
args,
shell=False,
"""
stdin, stdout 和 stderr 分别指定了被执行程序的标准输入、标准输出和标准错误文件句柄,合法的值包括:
- subprocess.PIPE:可被 Popen 的 stdin, stdout 或者 stderr 参数使用的特殊值, 表示打开标准流的管道。
- subprocess.DEVNULL:可被 Popen 的 stdin, stdout 或者 stderr 参数使用的特殊值, 表示使用特殊文件。

stderr 可以为 STDOUT,这表示来自子进程的 stderr 数据应当被捕获到与 stdout 相同的文件句柄中。
"""
stdin=None,
stdout=None,
stderr=None,
input=None,
capture_output=False,
cwd=None,
timeout=None,
check=False,
encoding=None,
errors=None,
ext=None,
env=None,
universal_newlines=None,
**other_popen_kwargs)