📌  相关文章
📜  python 在目录中查找特定文件 - Python (1)

📅  最后修改于: 2023-12-03 14:46:13.691000             🧑  作者: Mango

Python 在目录中查找特定文件

有时候,我们需要在一个目录中搜索特定的文件。Python提供了多种方法来实现这个任务。

使用os.walk

os.walk函数可以遍历一个文件夹及其子文件夹中的所有文件和文件夹,可以使用os.path模块中的函数来判断文件类型并进行筛选。

import os

def find_files(directory, extension):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(extension):
                print(os.path.join(root, file))

示例调用:

find_files('/path/to/directory', '.txt')

以上代码将遍历/path/to/directory目录及其子目录中的所有.txt文件,并将它们的路径打印出来。

使用glob模块

glob模块可以用来匹配文件路径,使用这个模块可以方便地查找特定的文件。

import glob

def find_files(directory, extension):
    for file_path in glob.glob(os.path.join(directory, '*{}'.format(extension))):
        print(file_path)

示例调用:

find_files('/path/to/directory', '.txt')

以上代码将在/path/to/directory目录及其子目录中查找所有.txt文件,并将它们的路径打印出来。

使用pathlib模块

在Python3.4及以上版本中,pathlib模块提供了一种更优雅的方式来处理文件路径,可以使用其提供的glob方法来查找特定的文件。

import pathlib

def find_files(directory, extension):
    for file_path in pathlib.Path(directory).rglob('*{}'.format(extension)):
        print(file_path)

示例调用:

find_files('/path/to/directory', '.txt')

以上代码将在/path/to/directory目录及其子目录中查找所有.txt文件,并将它们的路径打印出来。

以上三种方法都可以用来查找特定的文件,开发者可以根据自己的实际需求选择适合自己的方法。