Python調用系統命令的6種方法

Python調用系統命令的6種方法
在Python中調用系統命令通常使用os或者subprocess模塊,下面介紹Python中最經常使用的6種調用系統命令的方法。
一、os.system()
該函數返回命令執行結果的返回值,system()函數在執行過程當中進行了如下三步操做:
一、fork一個子進程;
二、在子進程中調用exec函數去執行命令;
三、在父進程中調用wait(阻塞)去等待子進程結束。
返回0表示命令執行成功,其餘表示失敗。
用法:
os.system("command")
二、os.popen()
這種調用方式是經過管道的方式來實現,函數返回是 file read 的對象,對其進行讀取read、readlines等操做能夠看到執行的輸出。
用法:
os.popen("command")
三、subprocess.Popen()
subprocess模塊被推薦用來替換一些老的模塊和函數,如:os.system、os.spawn、os.popen
subprocess模塊目的是fork一個新的進程並與之通訊,最經常使用是定義類Popen,使用Popen能夠建立進程,並與進程進行復雜的交互。
用法:
child = subprocess.Popen(["cmd","arg1"...])
四、subprocess.call()
執行指定的命令,返回命令執行狀態,其功能相似於os.system(cmd)。
用法:
subprocess.call("command")
五、subprocess.run()
Python 3.5中新增的函數,執行指定的命令,等待命令執行完成後返回一個包含執行結果的CompletedProcess類的實例。
用法:
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, universal_newlines=False)
六、subprocess.getstatusoutput()
執行cmd命令,返回一個元組(命令執行狀態,命令執行結果輸出),其功能相似於commands.getstatusoutput()。
用法:
subprocess.getstatusoutput("command")shell

相關文章
相關標籤/搜索