如何在 Python 中查找具有特定扩展名的文件

在编程中,有时候需要查找特定的文件,此时可以使用Python实现文件查找功能。本文将介绍如何在Python中查找具有特定扩展名的文件。

首先,Python提供了OS模块,该模块提供了许多与操作系统相关的功能,包括文件操作、目录操作等等。因此,在进行文件查找时,我们需要使用os模块。

接下来,我们需要定义一个函数,该函数接收两个参数:一个表示文件夹路径,另一个表示扩展名。该函数将返回具有该扩展名的文件列表。

示例代码如下:

import os

def find_files(folder, extension):
    file_list = []
    for root, dirs, files in os.walk(folder):
        for file in files:
            if file.endswith(extension):
                file_list.append(os.path.join(root, file))
    return file_list

通过上述代码,我们可以实现在指定文件夹中查找具有特定扩展名的文件,并将这些文件名放到一个列表中进行返回。这里的os.walk()会遍历传入路径下的所有文件和文件夹,返回 3 个值:root(根目录), dirs(子目录), files(文件) ,对于每个文件名进行判断是否以指定的扩展名结尾,若是则将其加入到结果列表中返回。

举例说明,假设我们需要查找文件夹“/Users/test”的所有.png文件,可以使用以下代码进行查找:

folder = '/Users/test'
extension = '.png'
file_list = find_files(folder, extension)
print(file_list)

这将返回以.png结尾的所有文件列表。

注意事项:

  1. 当传入的文件路径不存在或者不是一个文件夹时,os.walk()会抛出FileNotFoundError的异常,需要捕获此异常。
  2. 在文件查找时,我们可以忽略文件名大小写,需要将文件名和扩展名转换为小写进行比较。
  3. 如果文件夹内没有符合要求的文件,则返回一个空的列表。

总结:本文介绍了如何在Python中查找特定扩展名的文件,通过使用os模块中的os.walk()遍历文件夹中所有文件,判断文件名是否以指定扩展名结尾,将符合条件的文件添加到列表中返回。此方法可实现快速查找符合特定条件的文件。