python学习(递归)
Posted 唯你如我心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习(递归)相关的知识,希望对你有一定的参考价值。
一. 递归
递归就是函数自己调用自己
python中递归最大可用深度是997
递归可以用来遍历各种树形结构
#用递归方法查看某一个路径内的文件内容 import os filepath = ‘d:资料下载‘ #要打开的文件路径 def read(filepath,n): #n为递归深度,也就是用来控制缩进的数量 it = os.listdir(filepath) #按照给出的文件路径打开文件, 返回的it是一个可迭代对象 # print("__next__"in dir(it)) #it对象中不包含__next__函数,所以不是迭代器 for el in it: #对给出的文件路径中的文件进行迭代,打印出给出文件路径内的文件名 fp = os.path.join(filepath,el) #文件路径内的内容如果还是文件夹,需要用递归再一次打开里面的文件夹,所以需要将文件路径结合到一起 if os.path.isdir(fp): #判断某一路径内的内容是否是文件夹固定写法 print(‘ ‘*n,el) read(fp,n+1) #重新调用次函数,不过参数为新的路径名 else: #给出文件路径内的内容不是文件夹,不需要再次打开,直接打印文件名 print(‘ ‘*n,el) read(filepath,0) #最开始的递归深度为0
以上是关于python学习(递归)的主要内容,如果未能解决你的问题,请参考以下文章