zltzlt 发表于 2020-1-27 22:15:29

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']

大大2623 发表于 2020-6-25 22:21:23

正则表达式好复杂的
页: [1]
查看完整版本: Python 小技巧 061:匹配文件名