掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
我們在給系統(tǒng)下達命令時,可以通過shell的方法來實現(xiàn),也就是我們常說的命令行。比較特殊的是,它接受的是鍵盤輸入的命令。本篇在對shell進行介紹的同時,還帶來了兩種執(zhí)行shell命令的方法,一起來看看吧。

目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)站空間、綿陽服務器托管、企業(yè)網(wǎng)站設計、內江網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1、說明
當談到命令行時,我們實際上指的是shell。
shell是一個接受由鍵盤輸入的命令,并將其傳遞給操作系統(tǒng)來執(zhí)行的程序。
2、執(zhí)行方法
(1)commands模塊
commands對python的os.popen()進行了封裝,使用SHELL命令字符串作為其參數(shù),返回命令的結果數(shù)據(jù)以及命令執(zhí)行的狀態(tài);該命令目前已經(jīng)廢棄,被subprocess所替代。
import commands
a,b = commands.getstatusoutput('ls')
a是退出狀態(tài)
b是輸出的結果。
>>> import commands
>>> a,b = commands.getstatusoutput('ls')
>>> print a
0
>>> print b
anaconda-ks.cfg
install.log
install.log.syslog(2)subprocess模塊
Python目前已經(jīng)廢棄了os.system,os.spawn*,os.popen*,popen2.*,commands.*來執(zhí)行其他語言的命令,subprocesss是被推薦的方法;
subprocess允許你能創(chuàng)建很多子進程,創(chuàng)建的時候能指定子進程和子進程的輸入、輸出、錯誤輸出管道,執(zhí)行后能獲取輸出結果和執(zhí)行狀態(tài)。
import subprocess subprocess.call(command, shell=True) 會直接打印出結果。 subprocess.Popen(command, shell=True) 也可以是subprocess.Popen(command, stdout=subprocess.PIPE, shell=True) 這樣就可以輸出結果了。
以上就是python中shell的有關介紹,大家可以就兩種命令行方法進行嘗試,希望對初學python的人有所幫助。更多Python學習推薦:python教學
(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。)

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流