新聞中心
在計(jì)算機(jī)語(yǔ)言的實(shí)際應(yīng)用中用Python編寫(xiě)shell腳本這一實(shí)際應(yīng)用的過(guò)程中是需要相關(guān)的函數(shù)的,在以下的文章里就會(huì)提及這一函數(shù)在Python編寫(xiě)shell腳本的具體應(yīng)用,以下是文章的具體介紹。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比綏化網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式綏化網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋綏化地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。
雖然我受*nix的影響甚深,但是對(duì)于*nix里隨處可見(jiàn)的sh腳本卻是討厭之極。為什么討厭呢?首先 是因?yàn)閟h腳本那莫名其妙的語(yǔ)法,感覺(jué)就像隨寫(xiě)隨扔的程序,完全沒(méi)有任何美感可言。其次是sh腳本的處理能力還是比較弱的,在文本處理、XML處理還有網(wǎng) 絡(luò)編程方面,基本上都要借助于perl,awk等一堆程序。
我對(duì)這些程序也是不大喜歡的,況且學(xué)習(xí)第三方軟件總要時(shí)間,還不如都用python好了。那,python可以做shell腳本嗎? 首先介紹一個(gè)函數(shù):
- os.system(command)
這個(gè)函數(shù)可以調(diào)用shell運(yùn)行命令行command并且返回它的返回值。試一下在python的解釋器里輸入os.system(”ls -l”),就可以看到”ls”列出了當(dāng)前目錄下的文件。可以說(shuō),通過(guò)這個(gè)函數(shù),python就擁有了shell的所有能力。不過(guò),通常這條命令不 需要用到。因?yàn)閟hell常用的那些命令在python中通常有對(duì)應(yīng)而且同樣簡(jiǎn)潔的寫(xiě)法。
shell中最常用的是ls命令,python對(duì)應(yīng)的寫(xiě)法是:os.listdir(dirname),這個(gè)函數(shù)返回字符串列表,里面是所有的文件名,不過(guò)不包含”.”和”..”。如果要遍歷整個(gè)目錄的話就會(huì)比較復(fù)雜一點(diǎn)。我們等下再說(shuō)吧。先在解釋器里試一下:
- >>> os.listdir(”/”)
- [’tmp’, ‘misc’, ‘opt’, ‘root’, ‘.autorelabel’,
’sbin’, ’srv’, ‘.autofsck’, ‘mnt’, ‘usr’, ‘var’,
‘etc’, ’selinux’, ‘lib’, ‘net’, ‘lost+found’, ’sys’,
‘media’, ‘dev’, ‘proc’, ‘boot’, ‘home’, ‘bin’]
就像這樣,接下去所有命令都可以在python的解釋器里直接運(yùn)行觀看結(jié)果。
對(duì)應(yīng)于cp命令的是:shutil.copy(src,dest),這個(gè)函數(shù)有兩個(gè)參數(shù),參數(shù)src是指源文件的名字,參數(shù)dest則是目標(biāo)文件或 者目標(biāo)目錄的名字。 如果dest是一個(gè)目錄名,就會(huì)在那個(gè)目錄下創(chuàng)建一個(gè)相同名字的文件。與shutil.copy函數(shù)相類似的是 shutil.copy2(src,dest),不過(guò)copy2還會(huì)復(fù)制***存取時(shí)間和***更新時(shí)間。#t#
不過(guò),shell的cp命令還可以復(fù)制目錄,python的shutil.copy卻不行,***個(gè)參數(shù)只能是一個(gè)文件。這怎么辦?其 實(shí),python還有個(gè)shutil.copytree(src,dst[,symlinks]) 。參數(shù)多了一個(gè)symlinks,用Python編寫(xiě)shell腳本是一個(gè)布爾值,如果是True的話就創(chuàng)建符號(hào)鏈接。
移動(dòng)或者重命名文件和目錄呢?估計(jì)被聰明的朋友猜到了,shutil.move(src,dst),呵呵。。與mv命令類似,如果src和dst在 同一個(gè)文件系統(tǒng)上,shutil.move只是簡(jiǎn)單改一下名字,如果src和dst在不同的文件系統(tǒng)上,shutil.move會(huì)先把src復(fù)制到 dst,然后刪除src文件??吹浆F(xiàn)在,大多數(shù)朋友應(yīng)該已經(jīng)對(duì)python的能力有點(diǎn)眉目了。 以上就是對(duì)如何用Python編寫(xiě)shell腳本相關(guān)的內(nèi)容的介紹,望你會(huì)有所收獲。
分享名稱:用Python編寫(xiě)shell腳本時(shí)經(jīng)常使用的函數(shù)的介紹
鏈接URL:http://m.fisionsoft.com.cn/article/ccdioei.html


咨詢
建站咨詢
