文件结构示例
![示例](https://i-blog.csdnimg.cn/blog_migrate/2702ec6f0ea8eadbc984a1b62c248411.png)
关键API
python版本3.6.8
- 获取某文件夹下的所有文件及文件夹,返回列表数据
file_list = os.listdir(dir_path)
- 路径拼接
complete_file_name = os.path.join(dir_path, file_name)
- 判断是否为文件
os.path.isfile(complete_file_name)
- 判断是否为文件夹
os.path.isdir(complete_file_name)
完整代码
import os
def search_files(dir_path):
"""
获取所有文件
:param dir_path:文件夹路径
:return: 该文件夹下的所有文件的列表
"""
result = []
file_list = os.listdir(dir_path) # 获取当前文件夹下的所有文件
for file_name in file_list:
complete_file_name = os.path.join(dir_path, file_name) # 获取包含路径的文件名
if os.path.isdir(complete_file_name): # 如果是文件夹
result.extend(search_files(complete_file_name)) # 文件夹递归
if os.path.isfile(complete_file_name): # 文件名判断是否为文件
result.append(complete_file_name) # 添加文件路径到结果列表里
print(complete_file_name) # 输出找到的文件的路径
return result
if __name__ == '__main__':
list1 = search_files(r'./12')
print(list1)
print(len(list1)) # 文件数量
结果: