递归函数
递归就是一个函数在它本身内调用它自己。 执行递归函数将反复调用自己, 每一次调用就会进入新的一层,递归函数必须要有结束条件。
当函数一直递推直到遇到墙后但返回,这个墙就是结束条件。
所以递归的两个要素就是 结束条件和递推关系。
1 import os 2 # here put the import lib 3 #演示递归函数,要求收集指定目录下面的所有文件,包括子目录 4 def file_collect(path): 5 file_list=[] 6 #如果文件夹不存在则返回空,并提示 7 if os.path.exists(path=path): 8 for f in os.listdir(path=path): #如果存在就获取当前文件夹的所有内容,包括子文件夹, 9 print(f)#当前获取到的是文件名或者是子文件夹名字, 需要补全具体路径 10 new_path=path+'/'+f 11 #再判断新路径是否为文件夹 12 if os.path.isdir(new_path): 13 pass 14 file_list+=file_collect(new_path) 15 #判断获取到的对象是文件还是文件夹 16 17 else:#否则就是文件名, 则加入到文件列表 18 # print(type(file_list)) 19 # print(new_path) 20 file_list.append(new_path) 21 else: 22 print(f"指定的文件夹{path}不存在。") 23 return [] 24 return file_list 25 26 print(file_collect(path=input("输入具体文件夹路径")))View Code
标签:演示,递归,python,list,文件夹,file,new,print,path From: https://www.cnblogs.com/bensonmg/p/16966616.html