递归:即方法(函数)自己调用自己的一种特殊编程写法
使用场景:找出一个文件夹中全部的文件
import os
def t1():
# 把文件夹的内容列出来
print(os.listdir("./test")) # ['1', '2.txt']
# 判断指定路径是否是个文件夹 是为True,不是为False
print(os.path.isdir("./test/1")) # True
print(os.path.isdir("./test/1.txt")) # False
# 判断一个路径是否存在
print(os.path.exists("./test")) # True
print(os.path.exists("./a")) # False
if __name__ == '__main__':
t1()
import os
def get_files_recursuin_from_dir(path):
"""
从指定文件夹中使用递归的方法,获取全部的文件列表
:param path: 被判断文件夹
:return: list,包含全部的文件,如果目录不存在或者无文件就返回一个空list
"""
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_recursuin_from_dir(new_path)
else:
file_list.append(new_path)
else:
print(f"指定路径{path}不存在")
return []
return file_list
if __name__ == '__main__':
print(get_files_recursuin_from_dir("./test"))