怎樣在Python中執行cmd
導讀 | 這篇文章主要給大家分享在Python中執行cmd,下文描述了三個方法使用os.system()方法、使用os.popen()方法、使用subprocess.Popen(),需要的朋友可以參考一下 |
os.system用來執行cmd指令,在cmd輸出的內容會直接在控制檯輸出,返回結果為0表示執行成功。
示例程式碼:
# coding:utf-8 import os os.system("ls")
PS:os.system()方法是簡單粗暴的執行cmd指令,沒有辦法獲取到cmd輸出的內容。
PPS:os.system()方法在呼叫完 後,返回一個16位的二進位制數,低位為殺死所呼叫 的訊號號碼,高位為指令碼的退出狀態碼,即指令碼中“exit 1”的程式碼執行後,os.system函式返回值的高位數則是1,如果低位數是0的情況下,則函式的返回值是0x0100,換算為十進位制得到256。
os.popen()方法用於從一個 開啟一個管道。在Unix,Windows中有效。os.popen返回的是一個file物件,同open開啟檔案一樣操作。
popen()方法語法格式如下:
os.popen(command[, mode[, bufsize]])
引數:
command – 使用的命令。 mode – 模式許可權可以是 ‘r'(預設) 或 ‘w'。 bufsize – 指明瞭檔案需要的緩衝大小:0意味著無緩衝;1意味著行緩衝;其它正值表示使用引數大小的緩衝(大概值,以位元組為單位)。負的bufsize意味著使用系統的預設值,一般來說,對於tty裝置,它是行緩衝;對於其它檔案,它是全緩衝。如果沒有改引數,使用系統的預設值。
示例程式碼:
# coding:utf-8 import os # popen返回檔案物件,同open操作一樣 f = os.popen(r"ls", "r") l = f.read() print(l) f.close()
返回值是檔案物件的推薦處理方法:
with os.popen(cmd, "r") as p: r = p.read()
使用它,不需要顯式的寫p.close()。
PS:os.popen()方法是非阻塞的。
python2.4版本後,提供了subprocess這個模組來產生子程式,並且可以連線到子程式的標準輸入、輸出、錯誤中,還可以獲得子程式的返回值。
subprocess.Popen()的定義如下:
class subprocess.Popen( args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)
其引數意義在此不贅述。一段簡單的示例程式碼:
# coding:utf-8 import subprocess p = subprocess.Popen("ls", shell=True, stdout=subprocess.PIPE) r = p.stdout.read() print(r)
PS:subprocess提供了2種方法呼叫子程式。subprocess.call()是阻塞式的,subprocess.Popen()是非阻塞的。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2795262/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python中怎樣執行指令碼Python指令碼
- cmd中如何執行Python檔案Python
- Pycharm或cmd在Terminal中執行tensorboard、pip等python包PyCharmORBPython
- cmd執行python死迴圈怎麼解決Python
- 怎樣在windows上定時執行python指令碼WindowsPython指令碼
- 在 CMD 執行 python 檔案,找不到引入的模組Python
- python怎樣執行js語句PythonJS
- JAVA 程式 在 cmd 視窗的執行Java
- 怎樣在 Kubernetes 上執行 PostgreSQLSQL
- 怎麼用cmd啟用anaconda的python執行環境?Python
- 怎樣在程式中獲取所有執行緒的堆疊資訊?執行緒
- python裡執行shell命令或cmd命令Python
- 代理IP怎樣保障Python穩定執行?Python
- PyScript:讓Python在HTML中執行PythonHTML
- Java執行cmd命令Java
- .net執行cmd命令
- 怎樣在sqlite3上執行SQL語句SQLite
- win10電腦執行cmd命令怎麼關閉defend_win10如何執行cmd關閉defendWin10
- win10怎麼以管理員身份執行cmdWin10
- 【Python 】安裝執行&cmd與互動環境Python
- Java執行shell、cmd命令Java
- JS是怎樣執行的JS
- Webpack 是怎樣執行的?Web
- win10怎麼執行cmd_win10如何開啟cmd命令視窗Win10
- cmd怎麼以管理員身份執行 cmd切換管理員身份方法介紹
- 怎樣停止一個正在執行的執行緒執行緒
- 陣列怎樣在python3中逆序輸出?陣列Python
- Webpack 是怎樣執行的?(一)Web
- cmd中如何退出PythonPython
- 在Excel中貼上時怎樣跳過隱藏行Excel
- 華納雲:怎麼在Docker中執行資料庫?Docker資料庫
- 在Xcode專案中執行Python檔案XCodePython
- Android高頻面試題:該怎樣在Android面試中聊聊多執行緒不被忽悠?Android面試題執行緒
- python怎麼執行dirPython
- 執行緒池是怎樣工作的?執行緒
- 讀《mysql是怎樣執行的》有感MySql
- 怎樣看懂Oracle的執行計劃Oracle
- 翻譯|在Rust中怎樣panicRust