新聞中心
我們在給系統(tǒng)下達(dá)命令時,可以通過shell的方法來實(shí)現(xiàn),也就是我們常說的命令行。比較特殊的是,它接受的是鍵盤輸入的命令。本篇在對shell進(jìn)行介紹的同時,還帶來了兩種執(zhí)行shell命令的方法,一起來看看吧。

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


咨詢
建站咨詢
