Python遍历目标路径下的所有文件夹名称

      设计一个函数,希望实现输入一个路径,就可以打印出该路径下的所有文件夹名称,并且返回文件夹名称组成的列表

      废话不多说,代码如下:

import os

dirList = []

def findDir_BaseFunction(pathname):
    '''
简介:
    findDir_BaseFunction(pathname)可以查找pathname本身“或”其所有子路径下所有文件夹名称

参数:
    pathname:字符串形式的路径

返回值:
    dirList:pathname本身及其所有子路径下所有文件夹名称的列表
    “或”打印文件夹名称

'''
    global dirList
    # 判断pathname是否是文件夹
    if os.path.isdir(pathname):
        # 获取下一级目录或文件名
        files = os.listdir(pathname)
        #如果存在下一级目录或文件名,不存在则返回本文件夹名
        if (len(files)) > 0:
            
            # 合成一个子路径
            for i in files:
                ipath = str(pathname)+"/"+str(i)   
                # 如果子路径是文件夹,则执行下一次递归
                if os.path.isdir(ipath):
                    print(i)
                    dirList.append(i)
                    findDir_BaseFunction(ipath)
        # 递归终止条件            
        else:
            dirList.append(pathname)
            return dirList
    else:
        print("请输入正确的路径名")

        
def findDir(pathname):
    '''
findDir_BaseFunction还不够人性化,比如findDir_BaseFunction不会打印出自身路径的文件夹名称
个人水平有限 :( ,个人觉得在递归函数不能再添加新语句(担心递归时会重复执行)
所有我新建了一个findDir函数,去完善findDir_BaseFunction不会打印出自身路径的文件夹名称的问题

简介:
    findDir(pathname)可以查找pathname本身“及”其所有子路径下所有文件夹名称
    
参数:
    pathname:字符串形式的路径
    
返回值:
    dirList:pathname本身及其所有子路径下所有文件夹名称的列表
    打印文件夹名称
'''   
    if os.path.isdir(pathname):
        print(pathname)
    files = os.listdir(pathname)
    if (len(files)) > 0:
        dirList.append(pathname)
    findDir_BaseFunction(pathname)
      
findDir("F:/god_App")

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值