Python 小技巧 061:匹配文件名
Python 匹配文件名Python 中 glob 内置模块的 glob 函数实现了用正则表达式匹配文件名。
1. 通配符 *
星号 * 能匹配零个或多个字符。
假设 E:/demo 文件夹下有以下一些文件:
那么可以使用通配符 * 匹配所有后缀为 .txt 的文件:
from glob import glob
print(glob(r"E:\demo\*.txt")) # 打印匹配到的文件名(列表)
执行结果:
['E:\\demo\\1.txt', 'E:\\demo\\cat.txt', 'E:\\demo\\demo.txt']
2. 字符通配符 ?
用问号 ? 可以匹配任何单个的字符。
例如,匹配 E:/demo 中格式为 ?.txt 的文件:
from glob import glob
print(glob(r"E:\demo\?.txt")) # 打印匹配到的文件名(列表)
执行结果:
['E:\\demo\\1.txt']
3. 字符范围
可以用方括号指定字符范围,像正则表达式一样。
例如:
from glob import glob
print(glob(r"E:\demo\.txt")) # 打印匹配到的文件名(列表)
执行结果:
['E:\\demo\\1.txt'] 正则表达式好复杂的
页:
[1]