文件夹下的文件遍历-python

  1. 概述
  2. 细节描述及实现
  3. 总结

一.概述
整体概述:常见问题如:①文件夹下面文件的查找②文件名及文件内容的特定需要的检索 前提是需要文件夹下面文件的遍历操作,故在此列出。
功能概述:
①遍历文件夹(包含子目录)
②访问文件夹下面的文件并记录其绝对路径
二.细节描述及实现
细节描述:
①printPath(level, path,pathFileName=[])第三个参数用于保存全路径
②递归实现文件夹下面文件的访问
附录:文件夹下文件描述
这里写图片描述
代码实现:

#!/usr/bin/python
# -*- coding: cp936 -*-
#fileseaarch.py
# -*- copyfrom bokeyuan-*- -revised by judewen

import os
allFileNum = 0
def printPath(level, path,pathFileName=[]):
    global allFileNum
    '''''
    打印一个目录下的所有文件夹和文件
    '''
    # 所有文件夹,第一个字段是次目录的级别
    dirList = []
    # 所有文件
    fileList = []
    # pathFileName=[]
    # 返回一个列表,其中包含在目录条目的名称(google翻译)
    files = os.listdir(path)
    # 先添加目录级别
    dirList.append(str(level))
    for f in files:
        if(os.path.isdir(path + '/' + f)):
            # 排除隐藏文件夹。因为隐藏文件夹过多
            if(f[0] == '.'):
                pass
            else:
                # 添加非隐藏文件夹
                dirList.append(f)
        if(os.path.isfile(path + '/' + f)):
            # 添加文件
            fileList.append(f)
    # 当一个标志使用,文件夹列表第一个级别不打印
    i_dl = 0
    for dl in dirList:
        if(i_dl == 0):
            i_dl = i_dl + 1
        else:
            # 打印至控制台,不是第一个的目录
            print '-' * (int(dirList[0])), dl
            # 打印目录下的所有文件夹和文件,目录级别+1
            printPath((int(dirList[0]) + 1), path + '/' + dl,pathFileName)
    #fileList的拼接过程
    for elem in fileList:
        # 打印文件
        print elem
        pathFileName.append(path+"/"+str(elem))
        allFileNum+=1
  #      print type(fileList)
    return pathFileName

if __name__ == '__main__':
    #fileName=[]
    fileAllName=[]
    fileName=printPath(1, 'C:/Users/wen/Desktop/fortesting',fileAllName)
    print fileAllName
    print len(fileAllName)

三.总结
I.对于一些基本的操作,和大家一起多多积累.II.让我们一同努力,明天会更好!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值