"""递归获取文件"""
import os
def getfiles(data_path, suffix=None, data_file_list=None, with_path=False):
"""
获取目录及子目录下所有文件名或者文件路径
:param data_path: 数据根目录
:param suffix: 后缀名
:param data_file_list: 返回的文件名或路径
:param with_path: 是否返回路径
:return: 文件名或文件路径
"""
if data_file_list is None:
data_file_list = []
if suffix is not None:
if not isinstance(suffix, list):
suffix = [suffix]
data_files = os.listdir(data_path)
for data_file in data_files:
data_file_path = os.path.join(data_path, data_file)
if os.path.isdir(data_file_path):
getfiles(data_file_path, suffix, data_file_list, with_path)
else:
if suffix is None:
if with_path:
data_file_list.append(data_file_path)
else:
data_file_list.append(data_file)
else:
_, data_suffix = os.path.splitext(data_file)
data_suffix = data_suffix.split('.')[-1]
if data_suffix in suffix:
if with_path:
data_file_list.append(data_file_path)
else:
data_file_list.append(data_file)
return data_file_list
06-05
715

12-25
04-24
2727
