Python文件名的匹配之clob庫
既然在Pathlib庫中提到了glob()函數(shù),那么我們就專門用一篇內(nèi)容講解文件名的匹配。其實(shí)我們有專門的一個(gè)文件名匹配庫就叫:glob。
不過,glob庫的API非常小,但是僅僅應(yīng)用于文件名的匹配綽綽有余。只要是在實(shí)際的項(xiàng)目中需要過濾,或者匹配一組文件,都可以使用該庫進(jìn)行操作。
二、通配符星號(hào)(*)
話不多說,下面我們使用通配符來匹配文件名,示例如下:
import globfor name in sorted(glob.glob(’text/*’)): print(name)
運(yùn)行之后,效果如下:

這里不僅用*通配符獲取了目錄下的所有文件,而且還對其進(jìn)行了排序。
三、問號(hào)(?)問號(hào)(?)是用來匹配單字的,比如我們賽選上面1開頭的圖片文件。示例如下:
import globfor name in glob.glob(’text/1?.png’): print(name)
運(yùn)行之后,效果如下:

從上面兩個(gè)匹配我們看出來,glob庫的匹配規(guī)則與正則表達(dá)式有些相似。既然它能匹配模糊的,一個(gè)或多個(gè)字符,那么肯定也可以匹配區(qū)間字符。
示例如下:
import globfor name in glob.glob(’text/15[a-z].*’): print(name)
運(yùn)行之后,效果如下:

當(dāng)然,上面的文件名都是常規(guī)的文件名,都是用字母與數(shù)字組成的。但是,有些人比較怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么辦呢?用反斜杠“”轉(zhuǎn)義嗎?
其實(shí),我們還有更簡單的,直接使用escape()函數(shù)進(jìn)行操作。示例如下:
import globescape_str=’?*[]’for char in escape_str: pattern = ’text/*’ + glob.escape(char) + ’.png’ for name in glob.glob(pattern):print(name)
運(yùn)行之后,效果如下:

到此這篇關(guān)于Python文件名的匹配之clob庫的文章就介紹到這了,更多相關(guān)Python lob庫內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 使用Python webdriver圖書館搶座自動(dòng)預(yù)約的正確方法2. Linux刪除系統(tǒng)自帶版本Python過程詳解3. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條4. 在線php代碼縮進(jìn)、代碼美化工具:PHP Formatter5. Android 簡單的實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼功能6. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論7. PHP如何開啟Opcache功能提升程序處理效率8. PHP程序員簡單的開展服務(wù)治理架構(gòu)操作詳解(二)9. Python3 json模塊之編碼解碼方法講解10. Android Studio 3.5格式化布局代碼時(shí)錯(cuò)位、錯(cuò)亂bug的解決

網(wǎng)公網(wǎng)安備