Python中如何使用glob模块匹配多个文件扩展名
发布时间:2023-12-15 13:09:58
在Python中,我们可以使用glob模块来匹配多个文件扩展名。该模块提供了一个简单的函数glob(),可以根据指定的通配符模式返回符合条件的文件路径列表。
glob模块是Python自带的一个标准库,使用时只需要导入即可。
下面是使用glob模块匹配多个文件扩展名的示例代码:
import glob
# 匹配当前目录下所有的txt和csv文件
files = glob.glob('*.txt') + glob.glob('*.csv')
# 打印匹配到的文件路径
for file in files:
print(file)
在上面的示例代码中,我们首先导入了glob模块。
然后,我们使用glob.glob()函数来匹配当前目录下所有的txt和csv文件。glob.glob()函数的参数是一个字符串,其中可以包含通配符*来匹配多个字符。
注意,在上述示例代码中,我们使用glob.glob('*.txt') + glob.glob('*.csv')来同时匹配txt和csv文件,并将结果合并成一个文件路径列表。这样做是因为glob.glob()函数每次只能匹配一种扩展名,无法一次性匹配多种扩展名。
最后,我们使用一个for循环遍历匹配到的文件路径列表,并打印出每个文件的路径。
运行上述示例代码后,将会输出当前目录下所有匹配到的txt和csv文件的路径。
当然,除了使用+运算符来合并不同扩展名的文件列表,我们还可以使用列表推导式来一次性匹配多个扩展名,如下所示:
import glob
# 匹配当前目录下所有的txt和csv文件
files = [file for file in glob.glob('*.txt') + glob.glob('*.csv')]
# 打印匹配到的文件路径
for file in files:
print(file)
运行以上示例代码的结果和前面的示例是完全一样的。
除了通配符*,glob模块还支持其他一些常用的通配符,如?表示匹配任意一个字符,[]表示匹配一组字符中的任意一个字符,[!]表示匹配不在一组字符中的任意一个字符等。具体的使用方法可以参考glob模块的官方文档。
总结一下,使用glob模块可以方便的匹配多个文件扩展名,可以使用glob.glob()函数一次匹配一个扩展名,也可以使用列表推导式一次匹配多个扩展名。在使用时,我们只需要指定合适的通配符模式即可获取符合条件的文件路径列表。
