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

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

Python通過fnmatch模塊實現文件名匹配

瀏覽:4日期:2022-07-09 11:02:44

fnmatch 模塊主要用于文件名稱的匹配,其能力比簡單的字符串匹配更強大,但比使用正則表達式相比稍弱。。如果在數據處理操作中,只需要使用簡單的通配符就能完成文件名的匹配,則使用 fnmatch 模塊是不錯的選擇。

fnmatch 模塊中,常用的函數及其功能如表 1 所示。

Python fnmatch模塊常用函數及功能

函數名 功能 fnmatch.filter(names, pattern) 對 names 列表進行過濾,返回 names 列表中匹配 pattern 的文件名組成的子集合。 fnmatch.fnmatch(filename, pattern) 判斷 filename 文件名,是否和指定 pattern 字符串匹配 fnmatch.fnmatchcase(filename, pattern) 和 fnmatch() 函數功能大致相同,只是該函數區分大小寫。 fnmatch.translate(pattern) 將一個 UNIX shell 風格的 pattern 字符串,轉換為正則表達式

fnmatch 模塊匹配文件名的模式使用的就是 UNIX shell 風格,其支持使用如下幾個通配符:

*:可匹配任意個任意字符。 ?:可匹配一個任意字符。 [字符序列]:可匹配中括號里字符序列中的任意字符。該字符序列也支持中畫線表示法。比如 [a-c] 可代表 a、b 和 c 字符中任意一個。 [!字符序列]:可匹配不在中括號里字符序列中的任意字符。

例如,下面程序演示表 1 中一些函數的用法及功能:

import fnmatch#filter()print(fnmatch.filter([’dlsf’, ’ewro.txt’, ’te.py’, ’youe.py’], ’*.txt’))#fnmatch()for file in [’word.doc’,’index.py’,’my_file.txt’]:if fnmatch.fnmatch(file,’*.txt’):print(file)#fnmatchcase()print([addr for addr in [’word.doc’,’index.py’,’my_file.txt’,’a.TXT’] if fnmatch.fnmatchcase(addr, ’*.txt’)])#translate()print(fnmatch.translate(’a*b.txt’))

程序執行結果為:

[’ewro.txt’]my_file.txt[’my_file.txt’](?s:a.*b.txt)Z

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 孝昌县| 隆德县| 晋城| 延长县| 安远县| 通州区| 广东省| 唐河县| 新巴尔虎右旗| 丽江市| 隆尧县| 贡嘎县| 东乡| 阳谷县| 兴宁市| 游戏| 长治县| 资阳市| 巴马| 阿克陶县| 滨州市| 淮北市| 宁晋县| 舞钢市| 射洪县| 福清市| 博客| 烟台市| 长泰县| 顺昌县| 运城市| 正定县| 宁陵县| 虎林市| 招远市| 乌拉特前旗| 珠海市| 彰武县| 大埔区| 英德市| 盐山县|