python遍历文件夹下所有的文件并返回

遍历文件夹下所有的文件,拼接成绝对路径,组成list返回

import os


def get_all_file_in_dir(file_dir, want_ext_tup=None):
    '''
    获取目录下的所有文件
    file_dir: 文件路径
    want_ext_tup: 期望获取的扩展名,不填就全部获取
    :return:
    '''
    file_name_list = []
    for root, dirs, files in os.walk(file_dir):
        if files:
            for name in files:

                # 此处可以增加文件名称过滤条件, 比如 -----
                # 跳过所有 ~$ 开头的文件
                # if name.startswith(('~$',)):
                #     continue
                # ---------------------------------------

                if want_ext_tup and not name.endswith(want_ext_tup):
                    continue

                file_name = f'{root}/{name}'.replace('\\', '/')
                file_name_list.append(file_name)

    return file_name_list


if __name__ == '__main__':

    img_dir = r'E:\数据集\classic'
    want_ext_tup = ('jpg', 'JPEG', 'JPG', 'jpeg', 'png', 'PNG')

    img_list = get_all_file_in_dir(img_dir, want_ext_tup)
    
    print(img_list)
    # ["E:/数据集/classic/test/1.jpg", "E:/数据集/classic/test/2.jpg", "E:/数据集/classic/test/3.jpg" ... ]
    print(len(img_list))
    # 31225

你可能感兴趣的:(Python,python日常开发工具包,python,os)