Python——模塊——fnmatch(文件名對比)
阿新 • • 發佈:2019-04-11
size 大小寫 來看 翻譯 pre shel 轉換 lte span
一、模塊作用
fnmatch 模塊主要用於文件名的比較,使用 Unix shell 使用的 glob 樣式模式。
二、簡單匹配
fnmatch()
將單個文件名與模式進行比較並返回布爾值,來看它們是否匹配。當操作系統使用區分大小寫的文件系統時,比較區分大小寫。
實例:模式匹配所有以 ‘fnmatch_‘
開頭和以 ‘.py‘
結尾的文件
import fnmatch import os #需要匹配的文件名及後綴 patten = ‘fnmatch_*.py‘ #文件所在的目錄 files = os.listdir(‘.‘) #循環匹配 for name insorted(files): print(‘Filename: {:<25} {}‘.format(name, fnmatch.fnmatch(name, patten)))
**要強制進行區分大小寫的比較,無論文件系統和操作系統設置如何,請使用 fnmatchcase()
。
三、過濾
要測試文件名序列,使用 filter()
,它返回與 pattern
參數匹配的名稱列表。
import fnmatch import os #需要匹配的文件名及後綴 patten = ‘fnmatch_*.py‘ #排序 files = list(sorted(os.listdir(‘.‘))) fnmatch.filter(files,patten)
四、翻譯模式
在內部,fnmatch
將 glob
模式轉換為正則表達式,並使用 re
模塊比較名稱和模式。translate()
函數是將 glob
模式轉換為正則表達式的公共 API。
Python——模塊——fnmatch(文件名對比)