获取路径下所有特定格式文件列表

情形1: 没有子目录:

方法1:

os.listdir获取当前路径下特定格式['.jpg', 'png', 'gif']文件

def get_img_list(path):
    is_image_file = lambda x : any(x.endswith(extension) 
                                   for extension in ['.jpg', 'png', 'gif'])
    return [x for x in os.listdir(path) if is_image_file(x)]

方法2, 也可以使用glob方法,:

可以传入正则表达式r'*.[jpg, png]', 不能递归

glob.glob(os.path.join(path, r'*.[jpg, png]'))

情形2: 有子目录

使用os.walk递归获取

def file_name(file_dir):   
    L=[]   
    is_image_file = lambda x : any(x.endswith(extension) for extension in ['.jpg', 'png', 'tif'])
    for root, dirs, files in os.walk(file_dir):  
        for file in files:  
            if is_image_file(file):
                L.append(os.path.join(root, file))  
    return L  

原文地址:https://www.cnblogs.com/geoffreyone/p/10767887.html