文中所用文件夹递归请自行下载
Admin_Log
import os
def get_files_recursion_from_dir(path):
"""
从指定的文件夹中使用递归的方式,获取全部的文件列表
:param path:被判断的文件夹
:return:list.包含全部的文件,如果目录不存在或者无文件就返回一个空list
"""
print(f"当前判断的文件夹是:{path}")
file_list = []
if os.path.exists(path):
for f in os.listdir(path):
new_path = path + "/" + f
if os.path.isdir(new_path):
# 进入到这里,表明这个目录是文件夹不是文件
file_list += get_files_recursion_from_dir(new_path)
else:
file_list.append(new_path)
else:
print(f"指定的目录{path}不存在")
return []
return file_list
if __name__ == '__main__':
print(get_files_recursion_from_dir("E:/PycharmProjects/test"))
-
运行结果:
当前判断的文件夹是:E:/PycharmProjects/test 当前判断的文件夹是:E:/PycharmProjects/test/a 当前判断的文件夹是:E:/PycharmProjects/test/a/d 当前判断的文件夹是:E:/PycharmProjects/test/a/d/e 当前判断的文件夹是:E:/PycharmProjects/test/b ['E:/PycharmProjects/test/1.txt', 'E:/PycharmProjects/test/2.txt', 'E:/PycharmProjects/test/3.txt', 'E:/PycharmProjects/test/a/a1.txt', 'E:/PycharmProjects/test/a/a2.txt', 'E:/PycharmProjects/test/a/a3.txt', 'E:/PycharmProjects/test/a/d/e/e1.txt', 'E:/PycharmProjects/test/a/d/e/e2.txt', 'E:/PycharmProjects/test/a/d/e/e3.txt', 'E:/PycharmProjects/test/b/c1.txt', 'E:/PycharmProjects/test/b/c2.txt', 'E:/PycharmProjects/test/b/c3.txt'] 进程已结束,退出代码为 0



