您好,登錄后才能下訂單哦!
小編給大家分享一下Python文件名的匹配之clob庫(kù)怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
既然在Pathlib庫(kù)中提到了glob()函數(shù),那么我們就專(zhuān)門(mén)用一篇內(nèi)容講解文件名的匹配。其實(shí)我們有專(zhuān)門(mén)的一個(gè)文件名匹配庫(kù)就叫:glob。
不過(guò),glob庫(kù)的API非常小,但是僅僅應(yīng)用于文件名的匹配綽綽有余。只要是在實(shí)際的項(xiàng)目中需要過(guò)濾,或者匹配一組文件,都可以使用該庫(kù)進(jìn)行操作。
星號(hào)(*)
話不多說(shuō),下面我們使用通配符來(lái)匹配文件名,示例如下:
import glob for name in sorted(glob.glob('text/*')): print(name)
運(yùn)行之后,效果如下:
這里不僅用*通配符獲取了目錄下的所有文件,而且還對(duì)其進(jìn)行了排序。
問(wèn)號(hào)(?)是用來(lái)匹配單字的,比如我們賽選上面1開(kāi)頭的圖片文件。示例如下:
import glob for name in glob.glob('text/1?.png'): print(name)
運(yùn)行之后,效果如下:
從上面兩個(gè)匹配我們看出來(lái),glob庫(kù)的匹配規(guī)則與正則表達(dá)式有些相似。既然它能匹配模糊的,一個(gè)或多個(gè)字符,那么肯定也可以匹配區(qū)間字符。
示例如下:
import glob for name in glob.glob('text/15[a-z].*'): print(name)
運(yùn)行之后,效果如下:
當(dāng)然,上面的文件名都是常規(guī)的文件名,都是用字母與數(shù)字組成的。但是,有些人比較怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么辦呢?用反斜杠“\”轉(zhuǎn)義嗎?
其實(shí),我們還有更簡(jiǎn)單的,直接使用escape()函數(shù)進(jìn)行操作。示例如下:
import glob escape_str='?*[]' for char in escape_str: pattern = 'text/*' + glob.escape(char) + '.png' for name in glob.glob(pattern): print(name)
運(yùn)行之后,效果如下:
python的五大特點(diǎn):1.簡(jiǎn)單易學(xué),開(kāi)發(fā)程序時(shí),專(zhuān)注的是解決問(wèn)題,而不是搞明白語(yǔ)言本身。2.面向?qū)ο?,與其他主要的語(yǔ)言如C++和Java相比, Python以一種非常強(qiáng)大又簡(jiǎn)單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無(wú)需修改就可以在各種平臺(tái)上運(yùn)行。4.解釋性,Python語(yǔ)言寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。5.開(kāi)源,Python是 FLOSS(自由/開(kāi)放源碼軟件)之一。
看完了這篇文章,相信你對(duì)“Python文件名的匹配之clob庫(kù)怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。