Python递归获取指定路径下所有特定类型的文件路径

在做数据整理时,有时需要批量获取指定路径下特定类型的文件绝对路径,Python似乎没有这种依赖库可以直接拿来使用,于是借助内置的 os 模块和递归来实现一个简单的函数,达到获取文件列表的目的。

from os import listdir
from os.path import join, isfile, isdir


def get_file_list(parent_dir, file_type, file_list):
    """
    :param parent_dir: 想要获取文件列表的一级目录
    :param file_type: 想要获取的文件类型(后缀名)
    :param file_list: 将获取到的文件列表存储到该列表中
    :return: 返回获取到的文件列表
    """
    # 列举出当前文件路径下的所有文件名,也可能是文件夹名
    for f in listdir(parent_dir):
        # 将当前路径下的文件名或文件夹名和上一级目录进行连接,进而获取到一个新的路径
        temp_dir = join(parent_dir, f)
        # 判断当前绝对路径的类型如果是一个文件而非文件夹且文件类型为指定的类型,则将该绝对路径添加到 file_list 文件列表中
        if isfile(temp_dir) and temp_dir.endswith(file_type):
            file_list.append(temp_dir)
        # 如果当前绝对路径的类型是一个文件夹,则递归调用该函数,直到将所有的文件递归获取并判断完毕
        elif isdir(temp_dir):
            get_file_list(temp_dir, file_type, file_list)
    # 返回文件列表 file_list
    return file_list

调用函数效果展示:

列出 mkv 格式的文件路径

展开阅读全文

页面更新:2024-03-31

标签:递归   路径   类型   文件   文件名   文件类型   文件夹   函数   绝对路径   目录

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top