码迷,mamicode.com
首页 > 编程语言 > 详细

python学习(递归)

时间:2018-07-22 17:41:40      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:迭代   路径名   file   listdir   结合   imp   lis   __next__   调用   

一. 递归

  递归就是函数自己调用自己

  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(\t*n,el)
            read(fp,n+1)    #重新调用次函数,不过参数为新的路径名
        else:   #给出文件路径内的内容不是文件夹,不需要再次打开,直接打印文件名
            print(\t*n,el)
read(filepath,0)    #最开始的递归深度为0

 

python学习(递归)

标签:迭代   路径名   file   listdir   结合   imp   lis   __next__   调用   

原文地址:https://www.cnblogs.com/dong-/p/9350777.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!