可以執行shell命令的相關模塊和函數有:
- os.system
- os.spawn
- os.popen --廢棄
- popen --廢棄
- commands --廢棄,3.x中被移除
以上執行shell命令的相關的模塊和函數的功能均在 subprocess 模塊中實現,并提供了更豐富的功能。
subprocess
call
執行命令,返回狀態碼
check_call
執行命令,如果執行狀態碼是 0 ,則返回0,否則拋異常
check_output
執行命令,如果狀態碼是 0 ,則返回執行結果,否則拋異常
subprocess.Popen(...)
用于執行復雜的系統命令
參數:
args:shell命令,可以是字符串或者序列類型(如:list,元組)
bufsize:指定緩沖。0 無緩沖,1 行緩沖,其他 緩沖區大小,負值 系統緩沖
stdin, stdout, stderr:分別表示程序的標準輸入、輸出、錯誤句柄
preexec_fn:只在Unix平臺下有效,用于指定一個可執行對象(callable object),它將在子進程運行之前被調用
close_sfs:在windows平臺下,如果close_fds被設置為True,則新創建的子進程將不會繼承父進程的輸入、輸出、錯誤管道。
所以不能將close_fds設置為True同時重定向子進程的標準輸入、輸出與錯誤(stdin, stdout, stderr)。
shell:同上
cwd:用于設置子進程的當前目錄
env:用于指定子進程的環境變量。如果env = None,子進程的環境變量將從父進程中繼承。
universal_newlines:不同系統的換行符不同,True -> 同意使用 n
startupinfo與createionflags只在windows下有效
將被傳遞給底層的CreateProcess()函數,用于設置子進程的一些屬性,如:主窗口的外觀,進程的優先級等等
執行普通命令
終端輸入的命令分為兩種:
- 輸入即可得到輸出,如:ifconfig
- 輸入進行某環境,依賴再輸入,如:python
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
