久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python中glob庫實現文件名的匹配

瀏覽:2日期:2022-06-16 13:48:07
目錄前言通配符星號(*)問號(?)區間匹配([0-9][a-z][A-Z])轉義元字符前言

既然在Pathlib庫中提到了glob()函數,那么我們就專門用一篇內容講解文件名的匹配。其實我們有專門的一個文件名匹配庫就叫:glob。

不過,glob庫的API非常小,但是僅僅應用于文件名的匹配綽綽有余。只要是在實際的項目中需要過濾,或者匹配一組文件,都可以使用該庫進行操作。

通配符星號(*)

話不多說,下面我們使用通配符來匹配文件名,示例如下:

import globfor name in sorted(glob.glob(’text/*’)): print(name)

運行之后,效果如下:

Python中glob庫實現文件名的匹配

這里不僅用*通配符獲取了目錄下的所有文件,而且還對其進行了排序。

問號(?)

問號(?)是用來匹配單字的,比如我們賽選上面1開頭的圖片文件。示例如下:

import globfor name in glob.glob(’text/1?.png’): print(name)

運行之后,效果如下:

Python中glob庫實現文件名的匹配

區間匹配([0-9][a-z][A-Z])

從上面兩個匹配我們看出來,glob庫的匹配規則與正則表達式有些相似。既然它能匹配模糊的,一個或多個字符,那么肯定也可以匹配區間字符。

示例如下:

import globfor name in glob.glob(’text/15[a-z].*’): print(name)

運行之后,效果如下:

Python中glob庫實現文件名的匹配

轉義元字符

當然,上面的文件名都是常規的文件名,都是用字母與數字組成的。但是,有些人比較怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么辦呢?用反斜杠“”轉義嗎?

其實,我們還有更簡單的,直接使用escape()函數進行操作。示例如下:

import globescape_str=’?*[]’for char in escape_str: pattern = ’text/*’ + glob.escape(char) + ’.png’ for name in glob.glob(pattern):print(name)

運行之后,效果如下:

Python中glob庫實現文件名的匹配

到此這篇關于Python中glob庫實現文件名的匹配的文章就介紹到這了,更多相關Python 文件名的匹配內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 大连市| 凯里市| 枣强县| 八宿县| 吉水县| 永靖县| 富宁县| 乐业县| 芦溪县| 仪陇县| 汝州市| 陈巴尔虎旗| 涿鹿县| 水富县| 和平县| 隆化县| 洪湖市| 泽州县| 璧山县| 龙胜| 丰城市| 广水市| 泽库县| 林口县| 武冈市| 宜昌市| 原阳县| 砀山县| 桐城市| 成都市| 吉首市| 姜堰市| 淄博市| 太仓市| 格尔木市| 武穴市| 西丰县| 永寿县| 无棣县| 延吉市| 新河县|