文件夹下的文件遍历-python

来源:互联网 发布:unity3d接入支付宝sdk 编辑:程序博客网 时间:2024/05/17 20:29
  1. 概述
  2. 细节描述及实现
  3. 总结

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

#!/usr/bin/python# -*- coding: cp936 -*-#fileseaarch.py# -*- copyfrom bokeyuan-*- -revised by judewenimport osallFileNum = 0def 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 pathFileNameif __name__ == '__main__':    #fileName=[]    fileAllName=[]    fileName=printPath(1, 'C:/Users/wen/Desktop/fortesting',fileAllName)    print fileAllName    print len(fileAllName)

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

1 0
原创粉丝点击