- 概述
- 细节描述及实现
- 总结
一.概述
整体概述:常见问题如:①文件夹下面文件的查找②文件名及文件内容的特定需要的检索 前提是需要文件夹下面文件的遍历操作,故在此列出。
功能概述:
①遍历文件夹(包含子目录)
②访问文件夹下面的文件并记录其绝对路径
二.细节描述及实现
细节描述:
①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.让我们一同努力,明天会更好!