使用glob模块在Python中查找指定格式的文件
发布时间:2023-12-25 11:55:44
在Python中,可以使用glob模块来查找指定格式的文件。glob模块提供了一个函数,可以根据指定的通配符模式匹配文件路径。下面是glob模块的使用方法和一个示例。
首先,需要导入glob模块:
import glob
然后,可以使用glob模块中的glob函数来查找文件。该函数接受一个字符串参数,表示要匹配的文件路径模式。模式可以包含通配符,如*和?。下面是glob函数的使用示例:
files = glob.glob('*.txt')
上面的代码将匹配当前工作目录中以.txt结尾的所有文件,并返回一个列表,其中包含匹配的文件路径。
另外,还可以在模式中指定文件路径的一部分。例如,可以在模式中包含文件夹路径:
files = glob.glob('data/*.csv')
上面的代码将匹配data文件夹中所有以.csv结尾的文件,并返回一个列表。
glob函数还支持递归搜索。如果要在子文件夹中搜索文件,可以在模式中使用**通配符:
files = glob.glob('data/**/*.csv', recursive=True)
上面的代码将在data文件夹及其所有子文件夹中搜索以.csv结尾的文件,并返回一个列表。
除了glob函数,glob模块还提供了其他一些有用的函数,如iglob和escape。iglob函数与glob函数类似,但它返回一个迭代器,而不是列表。escape函数用于转义字符串中的特殊字符,以便能够正确匹配文件路径模式。
下面是一个完整的示例,演示如何使用glob模块查找当前工作目录下的所有以.py结尾的文件:
import glob
# 使用glob函数查找所有以.py结尾的文件
files = glob.glob('*.py')
# 打印匹配的文件路径
for file in files:
print(file)
上面的代码将打印当前工作目录中所有以.py结尾的文件的路径。
总结:
- 可以使用glob模块来查找指定格式的文件
- glob函数用于匹配文件路径模式
- 可以在模式中使用通配符和文件夹路径来进行匹配
- 还可以使用递归搜索来查找子文件夹中的文件
- glob模块还提供了其他一些有用的函数,如iglob和escape
