Python3 glob — 文件名规则匹配
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字符串或者加转义的情况下使用。
评论已关闭