用法:
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None, **other_popen_kwargs)
运行
args
说明的命令。等待命令完成,然后返回CompletedProcess
实例。上面显示的参数只是最常见的参数,在下面的常用参数中进行了说明(因此在缩写签名中使用仅关键字表示法)。完整的函数签名与
Popen
构造函数的签名大致相同 - 此函数的大多数参数都传递给该接口。 (timeout
、input
、check
和capture_output
不是。)如果
capture_output
为真,将捕获标准输出和标准错误。使用时,内部Popen
对象会使用stdout=PIPE
和stderr=PIPE
自动创建。stdout
和stderr
参数不能与capture_output
同时提供。如果您希望捕获两个流并将其合并为一个,请使用stdout=PIPE
和stderr=STDOUT
而不是capture_output
。timeout
参数传递给Popen.communicate()
。如果超时,子进程将被杀死并等待。TimeoutExpired
异常将在子进程终止后重新引发。input
参数被传递给Popen.communicate()
,从而传递给子进程的标准输入。如果使用它必须是字节序列,或者如果指定了encoding
或errors
或text
为真,则为字符串。使用时,内部Popen
对象会使用stdin=PIPE
自动创建,也可能不会使用stdin
参数。如果
check
为真,并且进程以非零退出代码退出,则会引发CalledProcessError
异常。该异常的属性包含参数、退出代码以及标准输出和标准错误(如果它们被捕获)。如果指定了
encoding
或errors
,或者text
为真,则stdin、stdout 和stderr 的文件对象将使用指定的encoding
和errors
或io.TextIOWrapper
默认值以文本模式打开。universal_newlines
参数等效于text
并提供向后兼容性。默认情况下,文件对象以二进制模式打开。如果
env
不是None
,则必须是为新进程定义环境变量的映射;这些用于代替继承当前进程环境的默认行为。它直接传递给Popen
。例子:
>>> subprocess.run(["ls", "-l"]) # doesn't capture output CompletedProcess(args=['ls', '-l'], returncode=0) >>> subprocess.run("exit 1", shell=True, check=True) Traceback (most recent call last): ... subprocess.CalledProcessError: Command 'exit 1' returned non-zero exit status 1 >>> subprocess.run(["ls", "-l", "/dev/null"], capture_output=True) CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0, stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\n', stderr=b'')
3.5 版中的新函数。
在 3.6 版中更改:添加
encoding
和errors
参数在 3.7 版中更改:添加了
text
参数,作为更易于理解的别名universal_newlines
.添加了capture_output
范围。
相关用法
- Python subprocess.Popen用法及代码示例
- Python subprocess.check_output用法及代码示例
- Python subprocess.getstatusoutput用法及代码示例
- Python subprocess.Popen.communicate用法及代码示例
- Python super()用法及代码示例
- Python sum()用法及代码示例
- Python super用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python scipy.signal.windows.tukey用法及代码示例
- Python scipy.stats.mood用法及代码示例
- Python str.isidentifier用法及代码示例
- Python sklearn.metrics.fbeta_score用法及代码示例
- Python scipy.fft.ihfftn用法及代码示例
- Python scipy.stats.normaltest用法及代码示例
- Python scipy.ndimage.convolve1d用法及代码示例
- Python scipy.stats.arcsine用法及代码示例
- Python scipy.interpolate.UnivariateSpline.antiderivative用法及代码示例
- Python scipy.linalg.hadamard用法及代码示例
- Python socket.create_server用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 subprocess.run。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。