通过glob()函数在Python中查找不同类型文件的数量
在Python中,可以使用glob()函数来查找指定路径下的文件和文件夹。glob()函数使用通配符来匹配文件路径,返回匹配到的文件列表。
首先,需要导入glob模块:
import glob
接下来,我们可以使用glob()函数来查找指定路径下的文件。使用通配符 * 可以匹配任意字符串,使用通配符 ? 可以匹配单个字符。使用 '**' 可以匹配任意子目录。
下面是一个例子,演示如何使用glob()函数来查找指定路径下所有的txt文件:
import glob
txt_files = glob.glob('./path/to/directory/*.txt')
print(f"在指定路径下共找到{len(txt_files)}个txt文件:")
for file in txt_files:
print(file)
在上面的例子中,首先使用glob.glob()来查找所有以.txt为后缀的文件,存储在txt_files列表中。然后使用len()函数获取找到的文件数量,使用for循环遍历并打印每个文件的路径。
除了通配符 * ,还可以使用方括号 [ ] 来指定多个匹配字符的范围。例如,使用通配符 *.jpg 来查找所有以.jpg为后缀的文件,使用通配符 *[0-9].jpg 查找所有以数字结尾的jpg文件。
下面是一个例子,演示如何查找一个文件夹下所有的图片文件(jpg、png、gif):
import glob
image_files = glob.glob('./path/to/directory/*.[jpg,png,gif]')
print(f"在指定路径下共找到{len(image_files)}个图片文件:")
for file in image_files:
print(file)
在上面的例子中,使用通配符 *.[jpg,png,gif] 来匹配以.jpg、.png、.gif为后缀的文件。同样,使用len()函数获取找到的文件数量,使用for循环遍历并打印每个文件的路径。
除了单个路径的匹配,还可以使用 ** 来递归地匹配子目录下的文件。例如,使用通配符 **/*.txt 来查找所有子目录下的txt文件。
下面是一个例子,演示如何查找一个文件夹下所有子目录中的txt文件:
import glob
txt_files = glob.glob('./path/to/directory/**/*.txt', recursive=True)
print(f"在指定路径下的所有子目录中共找到{len(txt_files)}个txt文件:")
for file in txt_files:
print(file)
在上面的例子中,使用通配符 **/*.txt 来匹配所有子目录中以.txt为后缀的文件。同样,使用len()函数获取找到的文件数量,使用for循环遍历并打印每个文件的路径。
总的来说,通过glob()函数可以方便地查找指定路径下不同类型文件的数量,并对它们进行进一步的操作。无论是查找特定后缀的文件,还是递归地查找子目录中的文件,glob()函数都可以通过灵活的通配符匹配来满足我们的需求。
