递归获取指定文件下的所有文件的绝对路径from os import path
import os
def getFilenames(dir_path, file_names=[]):
"""获取某路径下所有文件列表
:type dir_path: str
:param dir_path: 真实存在的路径
:type file_names: list
:param file_names: 文件名保存列表,依赖调用端构造传递
:return:
"""
# 绝对路径
if not path.isabs(dir_path):
dir_path = path.abspath(dir_path)
for (path_name, dirs, files) in os.walk(dir_path):
print('path_name-->',path_name)
print('path_name-->',path_name)
print('files-->',files)
if files: # 文件,则添加进列表
for f in files:
file_names.append(path.join(path_name, f))
if dirs: # 目录,递归获取
for dir_ in dirs:
getFilenames(path.join(path_name, dir_), file_names)
else:
return file_names
file_li=getFilenames(r'C:\Users\pala\Downloads')
print("-"*100)
print(len(file_li),file_li)