1. 简介
在Python的标准库中,glob模块是一个非常有用的工具,它用于查找符合特定规则的文件路径名。glob模块提供了一个简单的方法来获取文件系统中的文件列表,它可以根据用户提供的通配符模式匹配文件名。
2. glob模块的基本用法
glob模块提供了一个主要的函数glob(),该函数接受一个包含通配符的字符串作为参数,并返回与该模式匹配的文件路径名列表。
import glob
# 查找当前目录下所有的文件
files = glob.glob('*')
# 查找所有以.py结尾的文件
py_files = glob.glob('*.py')
# 查找所有以test开头的文件
test_files = glob.glob('test*')
上述代码中,首先我们导入了glob模块。然后我们使用glob()函数分别查找了当前目录下的所有文件,以及符合后缀名为.py和以test开头的文件。
3. 通配符
通配符是一种在文件名匹配时使用的特殊字符。在glob模块中,支持以下几种通配符:
*: 匹配任意个字符(可以是字母、数字或者其他特殊字符)
?:匹配单个字符
[ ]:匹配指定范围内的字符,例如[0-9]匹配任意一个数字
下面是一些使用通配符的例子:
# 查找所有以.txt或者.log结尾的文件
files = glob.glob('*.txt') + glob.glob('*.log')
# 查找所有以a、b、c开头的文件
abc_files = glob.glob('[abc]*')
在上面的例子中,我们查找了所有以.txt或者.log结尾的文件,以及所有以a、b、c开头的文件。
4. 递归查找文件
除了在当前目录下查找文件,glob模块还可以进行递归查找。我们可以使用双星号(**)来匹配任意层级的文件路径。
# 查找当前目录及子目录下的所有.py文件
py_files = glob.glob('**/*.py', recursive=True)
在上面的例子中,我们使用了**/*.py来匹配任意层级的.py文件,并设置了recursive=True来进行递归查找。
5. 结语
本文介绍了Python标准库中的glob模块的基本用法。我们学习了如何使用glob()函数来查找符合特定规则的文件路径名,如何使用通配符来进行模式匹配,以及如何进行递归查找。
使用glob模块可以方便地找到文件系统中的文件,并对其进行操作。无论是简单的文件查找还是复杂的递归查找,glob模块都能很好地满足我们的需求。
希望本文对您理解和使用glob模块有所帮助!