遍历文件夹下所有的文件,拼接成绝对路径,组成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