fnmatch 模块的使用
fnmatch() 函数根据指定的模式来匹配文件名或字符串。
此模块的主要作用是文件名称的匹配,并且匹配的模式使用的 unix shell 风格。字面意思感觉就是 filename match。
案例:
代码如下:
import os
import fnmatch
for filename in os.listdir('./test'):
if fnmatch.fnmatch(filename, '*.txt'): # 匹配模式为星号,表示任意的字符
print(filename)
运行结果:
注:案例中主要使用 os.listdir 来列出当前目录中的文件,如果匹配的后缀为.txt,那么就打印出来,fnmatch.fnmatch 是一个布尔函数,返回为 True 或者 Faulse。
主要使用的匹配模式
import fnmatch
if fnmatch.fnmatch('apollo', '?pollo'): # 匹配模式为问号,及匹配一个任意字符
print("match1")
if fnmatch.fnmatch('apollo', '[a-z]pollo): # 匹配模式为单个字符,在a-z之间
print("match2")
if fnmatch.fnmatch('0pollo', '[!a-z]pollo'): # 匹配模式为不能是a-z之间的字符
print("match3")
运行结果:
注:
问号相当于一个占位符,从而能匹配
a是字母a-z之间的字母,从而能匹配
数字0不在a-z之间的字母,从而能匹配