Python作為一門(mén)腳本語(yǔ)言,有時(shí)候需要與shell命令交互式使用,在Python中提供了很多的方法可以調(diào)用并執(zhí)行shell腳本,本文介紹幾個(gè)簡(jiǎn)單的方法。
一、os.system(“command”)
importos
print(os.system("toucha.txt"))
print(os.system("ls-a"))
第2行會(huì)返回一個(gè)0,表示執(zhí)行成功了,然后在當(dāng)前文件夾之下創(chuàng)建了一個(gè)新的a.txt文件
第3行也會(huì)返回一個(gè)0,也就是說(shuō)這個(gè)命令執(zhí)行的結(jié)果沒(méi)有辦法查看,即system函數(shù)不返回shell命令執(zhí)行的結(jié)果。
二、os.popen("command")方法
os.popen()返回的是一個(gè)文件對(duì)象
importos
f=os.popen("ls-l")#返回的是一個(gè)文件對(duì)象
print(f.read())#通過(guò)文件的read()讀取所返回的內(nèi)容
'''
total4
-rw-rw-r--1tengjiantengjian011月509:32a.txt
-rw-rw-r--1tengjiantengjian8111月509:32python_shell.py
'''
對(duì)于那些沒(méi)有返回指的shell命令,我依然也可以使用popen()方法,如下:
importos
f=os.popen("touchb.txt")#創(chuàng)建一個(gè)文件
#f=os.popen("mkdirnewdir")#創(chuàng)建一個(gè)新的文件夾
print(f.read())#無(wú)返回值
總結(jié):
對(duì)于有返回值的shell命令,建議使用os.popen()
對(duì)于沒(méi)有返回值的shell命令,建議使用os.system()
以上內(nèi)容為大家介紹了Python怎么運(yùn)行shell腳本,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。