fnmatch模組的使用
此模組的主要作用是檔名稱的匹配,並且匹配的模式使用的unix shell風格。
fnmatch比較簡單就4個方法分別是:fnmatch,fnmatchcase,filter,translate
測試filename,是否符合pattern。
import fnmatch
import os
def run():
for file in os.listdir(』.』): #os.listdir返回指定的資料夾包含的檔案或資料夾的名字的列表
if fnmatch.fnmatch(file, 『*.py』): #判斷是否有字尾為.py的檔案,*代表檔名長度格式不限制。
print(file)
ifname== 『main』:
run()
2.fnmatchcase
fnmatch.fnmatchcase(filename, pattern)
和fnmatch()類似,只是fnmatchcase 強制區分大小寫匹配,不管檔案系統是否區分。
print(fnmatch.fnmatchcase(「text.py」,「text.")) #true
print(fnmatch.fnmatchcase(「text.py」, "text.」)) # false
print(fnmatch.fnmatchcase(「text.py」, 「.py")) # false
print(fnmatch.fnmatchcase(「text.py」, ".py」)) # true
3.filter
fnmatch.filter(names, pattern)
實現列表特殊字元的過濾或篩選,返回符合匹配模式的字元列表,它的作用類似
print(fnmatch.filter(filelist,"?.py")) #匹配前面是乙個字元的.py檔案
輸出:d.py
4.translate
fnmatch.translate(pattern):
翻譯模式, fnmatch將這種全域性模式轉換成乙個正則式, 然後使用re模組來比較名字和模式。 translate() 函式是乙個公共api用於將全域性模式轉換成正則式
regex = fnmatch.translate(』[f,d,d,d,g,h].txt』)#將[f,d,d,d,g,h].txt轉為正則匹配的模式
print(「regex」,regex)#(?s:[f,d,d,d,g,h].txt)\z
#\z:匹配字串結束,如果是存在換行,只匹配到換行前的結束字串。
reobj = re.compile(regex)#生成re匹配模組
print(reobj.match (『f.txt』))#返回乙個匹配物件
#<_sre.sre_match object span="(0," match="『f.txt』">
fnmatch模組的使用
此模組的主要作用是檔名稱的匹配,並且匹配的模式使用的unix shell風格。fnmatch比較簡單就4個方法分別是 fnmatch,fnmatchcase,filter,translate 測試filename,是否符合pattern。import fnmatch import os defrun...
fnmatch模組的使用
fnmatch 函式根據指定的模式來匹配檔名或字串。此模組的主要作用是檔名稱的匹配,並且匹配的模式使用的unix shell風格。字面意思感覺就是filename match。如下 import os import fnmatch for filename in os.listdir test if...
fnmatch模組的使用
簡單記錄一下fnmatch模組的使用,此模組的主要作用是檔名稱的匹配,並且匹配的模式使用的unix shell風格。字面意思感覺就是filename match 如下例子所示 usr bin env python import os import fnmatch for filename in os...