递归获取指定文件下的所有文件的绝对路径fromosimportpath
importos
defgetFilenames(dir_path,file_names=[]):
"""获取某路径下所有文件列表
:typedir_path:str
:paramdir_path:真实存在的路径
:typefile_names:list
:paramfile_names:文件名保存列表,依赖调用端构造传递
:return:
"""
#绝对路径
ifnotpath.isabs(dir_path):
dir_path=path.abspath(dir_path)
for(path_name,dirs,files)inos.walk(dir_path):
print('path_name-->',path_name)
print('path_name-->',path_name)
print('files-->',files)
iffiles:#文件,则添加进列表
forfinfiles:
file_names.append(path.join(path_name,f))
ifdirs:#目录,递归获取
fordir_indirs:
getFilenames(path.join(path_name,dir_),file_names)
else:
returnfile_names
file_li=getFilenames(r'C:\Users\pala\Downloads')
print("-"*100)
print(len(file_li),file_li)