用法:
subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, cwd=None, encoding=None, errors=None, universal_newlines=None, timeout=None, text=None, **other_popen_kwargs)
使用參數運行命令並返回其輸出。
如果返回碼不為零,則會引發
CalledProcessError
。CalledProcessError
對象將在returncode
屬性中具有返回碼,在output
屬性中具有任何輸出。這相當於:
run(..., check=True, stdout=PIPE).stdout
上麵顯示的論點隻是一些常見的論點。完整的函數簽名與
run()
的簽名基本相同 - 大多數參數直接傳遞到該接口。存在一種與run()
行為的 API 偏差:傳遞input=None
將與input=b''
(或input=''
,取決於其他參數)的行為相同,而不是使用父級的標準輸入文件句柄。默認情況下,此函數將數據作為編碼字節返回。輸出數據的實際編碼可能取決於被調用的命令,因此通常需要在應用程序級別處理對文本的解碼。
如常用參數和
run()
中所述,可以通過將text
、encoding
、errors
或universal_newlines
設置為True
來覆蓋此行為。要同時捕獲結果中的標準錯誤,請使用
stderr=subprocess.STDOUT
:>>> subprocess.check_output( ... "ls non_existent_file; exit 0", ... stderr=subprocess.STDOUT, ... shell=True) 'ls: non_existent_file: No such file or directory\n'
3.1 版中的新函數。
在 3.3 版中更改:
timeout
加入。在 3.4 版中更改:支持
input
添加了關鍵字參數。在 3.6 版中更改:
encoding
和errors
添加。看subprocess.run詳情。3.7 版中的新函數:
text
被添加為更易讀的別名universal_newlines
.
相關用法
- Python subprocess.run用法及代碼示例
- Python subprocess.Popen用法及代碼示例
- 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.check_output。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。