subprocess.run()函数的功能是运行命令并返回一个
CompletedProcess` 实例。
返回的实例将具有 args
、returncode
、stdout
和 stderr
属性。默认情况下,stdout
和 stderr
不被捕获,这些属性将为 None
。要捕获它们,请传递 stdout=PIPE
和/或 stderr=PIPE
,或者传递 capture_output=True
以同时捕获两者。
如果 check
为 True
并且退出代码非零,则它会引发 CalledProcessError
。CalledProcessError
对象将在 returncode
属性中包含退出代码,以及输出和 stderr
属性(如果捕获了这些流)。
如果给定了 timeout
,并且进程花费的时间太长,则会引发 TimeoutExpired
异常。
有一个可选参数 "input"
,允许您将字节或字符串传递给子进程的 stdin
。如果您使用此参数,则不能同时使用 Popen
构造函数的 "stdin"
参数,因为它将在内部使用。
默认情况下,所有通信都是以字节为单位的,因此任何 "input"
都应该是字节,stdout
和 stderr
都应该是字节。如果处于文本模式,任何 "input"
都应该是一个字符串,stdout
和 stderr
将根据区域设置编码或通过设置 "encoding"
进行解码的字符串。文本模式可以通过设置 text
、encoding
、errors
或 universal_newlines
中的任何一个来触发。
推薦hahow線上學習python: https://igrape.net/30afN