【Python】【文件】查找指定路径中是否存在目标文件(含此路径下的子文件夹)

 

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
@Time    :2021/9/18 16:27
@Author  :
@File    :findFile.py
@Version :1.0
@Function:
"""
import os


class FindFile:
    @staticmethod
    def find(root_path, file_name=None):
        """
        查找指定路径中是否存在目标文件(含此路径下的子文件夹)
        :param root_path: 根路径
        :param file_name: 目标文件名(含后缀)
        :param is_like: file_name是否模糊查找(file_name不为None是生效)
        :return:
            file_name != None:
                未找到;[]
                已找到:此文件的绝对路径(list)
            file_name == None:
                返回此路径中的所有文件list(含子文件夹中的文件)
        """
        file_list = []
        for root, dirs, names in os.walk(root_path):
            if len(names) > 0:
                for file in names:
                    if file_name is None:
                        # 返回所有文件的路径
                        file_list.append(os.path.join(root, file))
                        # print(os.path.join(root, file))
                    else:
                        # 返回目标文件的路径
                        if is_like:
                            # 精确查找
                            if file.find(file_name) != -1:
                                file_list.append(os.path.join(root, file))
                                # print(os.path.join(root, file))
                        else:
                            # 模糊查找
                            if file == file_name:
                                file_list.append(os.path.join(root, file))
                                # print(os.path.join(root, file))
        return file_list


if __name__ == '__main__':
    print(*FindFile.find('E:\Code', 'aaa.log'), sep='\n')

 

posted @ 2021-09-18 17:11  淡怀  阅读(434)  评论(0编辑  收藏  举报