python获取指定文件夹下指定类型的三种方法

1.获取单级目录下所有指定格式的文件路径,若是多级目录需要额外设定

train_img_path = os.path.join(train_img_dir, img_type)  # 单级目录
# train_img_path = os.path.join(train_img_dir, '*', '*', img_type)  # 多级目录
train_img_list = glob(train_img_path)

2.获取指定文件夹及其子文件夹下的所有指定格式的文件路径

 def find_type_file(dir, type, file_list=[]):
    next_level_dirs = os.listdir(dir)
    for next_level_name in next_level_dirs:
        next_level_dir = os.path.join(dir, next_level_name)  # 将文件名加入到当前文件路径后面
        if os.path.isfile(next_level_dir):  # 如果是文件
            print(os.path.splitext(next_level_dir)[1]==type)
            if os.path.splitext(next_level_dir)[1] == type:  # 如果文件是指定后缀的
                file_list.append(next_level_dir)
        elif os.path.isdir(next_level_dir):  # 如果是路径
            find_type_file(next_level_dir, type, file_list)  # 递归
    return file_list
    
train_img_list = find_type_file(train_img_dir, img_type, file_list=[])

3.imutils.paths也可以获取指定文件夹及其子文件夹下的所有指定格式的文件路径

train_img_list = list(imutils.paths.list_files(basePath=train_img_dir, validExts=(img_type)))
发布了49 篇原创文章 · 获赞 104 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/xijuezhu8128/article/details/104917422