Python文件名的匹配之clob庫
一、前言
既然在Pathlib庫中提到了glob()函數(shù),那么我們就專門用一篇內(nèi)容講解文件名的匹配。其實(shí)我們有專門的一個文件名匹配庫就叫:glob。
不過,glob庫的API非常小,但是僅僅應(yīng)用于文件名的匹配綽綽有余。只要是在實(shí)際的項(xiàng)目中需要過濾,或者匹配一組文件,都可以使用該庫進(jìn)行操作。
二、通配符
星號(*)
話不多說,下面我們使用通配符來匹配文件名,示例如下:
import glob for name in sorted(glob.glob('text/*')): print(name)
運(yùn)行之后,效果如下:
這里不僅用*通配符獲取了目錄下的所有文件,而且還對其進(jìn)行了排序。
三、問號(?)
問號(?)是用來匹配單字的,比如我們賽選上面1開頭的圖片文件。示例如下:
import glob for name in glob.glob('text/1?.png'): print(name)
運(yùn)行之后,效果如下:
四、區(qū)間匹配([0-9][a-z][A-Z])
從上面兩個匹配我們看出來,glob庫的匹配規(guī)則與正則表達(dá)式有些相似。既然它能匹配模糊的,一個或多個字符,那么肯定也可以匹配區(qū)間字符。
示例如下:
import glob for name in glob.glob('text/15[a-z].*'): print(name)
運(yùn)行之后,效果如下:
五、轉(zhuǎn)義元字符
當(dāng)然,上面的文件名都是常規(guī)的文件名,都是用字母與數(shù)字組成的。但是,有些人比較怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么辦呢?用反斜杠“\”轉(zhuǎn)義嗎?
其實(shí),我們還有更簡單的,直接使用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)行之后,效果如下:
到此這篇關(guān)于Python文件名的匹配之clob庫的文章就介紹到這了,更多相關(guān)Python lob庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django創(chuàng)建超級用戶時指定添加其它字段方式
這篇文章主要介紹了django創(chuàng)建超級用戶時指定添加其它字段方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python遍歷文件夾和讀寫文件的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python遍歷文件夾和讀寫文件的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-08-08六個Python編程最受用的內(nèi)置函數(shù)使用詳解
在日常的python編程中使用這幾個函數(shù)來簡化我們的編程工作,經(jīng)常使用能使編程效率大大地提高。本文為大家總結(jié)了六個Python編程最受用的內(nèi)置函數(shù),感興趣的可以了解一下2022-07-07Python調(diào)整數(shù)組形狀如何實(shí)現(xiàn)
這篇文章主要介紹了Python調(diào)整數(shù)組形狀如何實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12基于Python代碼實(shí)現(xiàn)Apriori?關(guān)聯(lián)規(guī)則算法
這篇文章主要介紹了基于Python代碼實(shí)現(xiàn)Apriori?關(guān)聯(lián)規(guī)則算法,本文通過應(yīng)用場景舉例,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03python函數(shù)默認(rèn)參數(shù)使用避坑指南
這篇文章主要為大家介紹了python函數(shù)默認(rèn)參數(shù)使用的踩雷避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python+opencv3.4.0 實(shí)現(xiàn)HOG+SVM行人檢測的示例代碼
這篇文章主要介紹了python+opencv3.4.0 實(shí)現(xiàn)HOG+SVM行人檢測的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python+Pika+RabbitMQ環(huán)境部署及實(shí)現(xiàn)工作隊(duì)列的實(shí)例教程
RabbitMQ是一個消息隊(duì)列服務(wù)器,在本文中我們將學(xué)習(xí)到Python+Pika+RabbitMQ環(huán)境部署及實(shí)現(xiàn)工作隊(duì)列的實(shí)例教程,需要的朋友可以參考下2016-06-06python實(shí)現(xiàn)多個視頻文件合成畫中畫效果
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)多個視頻文件合成畫中畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08