用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。