您好,登錄后才能下訂單哦!
這篇文章主要介紹了在Python中如何執行cmd,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
os.system
用來執行cmd指令,在cmd輸出的內容會直接在控制臺輸出,返回結果為0表示執行成功。
示例代碼:
# coding:utf-8 import os os.system("ls")
PS:os.system()
方法是簡單粗暴的執行cmd指令,沒有辦法獲取到cmd
輸出的內容。
PPS:os.system()
方法在調用完shell腳本后,返回一個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)
感謝你能夠認真閱讀完這篇文章,希望小編分享的“在Python中如何執行cmd”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。