Python3 glob — 文件名规则匹配
warning:
这篇文章距离上次修改已过423天,其中的内容可能已经有所变动。
Python的glob模块提供了一个函数glob(),它可以查找符合特定规则的文件路径名。该模块主要用于查找文件系统中的文件,可以使用简单的模式匹配。
以下是一些使用Python3的glob模块的常见方法:
- 查找所有
.txt文件:
import glob
for filename in glob.glob('*.txt'):
print(filename)- 查找当前目录及子目录下的所有
.txt文件:
import glob
for filename in glob.glob('**/*.txt', recursive=True):
print(filename)- 查找特定目录下的所有
.txt文件:
import glob
for filename in glob.glob('/path/*.txt'):
print(filename)- 查找特定目录及子目录下的所有
.txt文件:
import glob
for filename in glob.glob('/path/**/*.txt', recursive=True):
print(filename)- 查找多种文件类型:
import glob
for filename in glob.glob('*.txt', '*.jpg'):
print(filename)- 使用
glob.iglob()进行迭代匹配:
import glob
file_iterator = glob.iglob(r'**/*.txt', recursive=True)
for filename in file_iterator:
print(filename)以上代码中,glob.glob()函数返回所有匹配的文件路径列表,而glob.iglob()返回一个可迭代的对象,可以用来逐个获取匹配的文件路径。
注意:**/*.txt中的**/用于匹配所有子目录。这种语法是shell的语法,在Python中,你需要使用两个星号**来表示任意层级的子目录。如果你在Windows系统中使用这种语法,请确保你的Python脚本是在raw字符串或者加转义的情况下使用。
评论已关闭