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

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


咨詢
建站咨詢
