对Python 文件夹遍历和文件查找的实例讲解
实例如下所示:
#-*-coding:utf-8-*- #tofindwhereusethetableonxxxxxxxxxxxproductionenv ''' 在项目中我们元数据管理的不是很好,如果先知道一张表在哪里用过,就需要写个程序去遍历下 ''' importos importos.path rootdir="C:\\Users\\IBM_ADMIN\\IBM\\rationalsdp\\workspace"##指明被遍历的文件夹 query="xxxxxxxxx" defwalk_all_files(rootdir,query): forparent,dirnames,filenamesinos.walk(rootdir):#for循环自动完成递归枚举#三个参数:分别返回1.父目录(当前路径)2.所有文件夹名字(不含路径)3.所有文件名字 fordirnameindirnames:#输出文件夹信息 #print"parentis:"+parent #print"dirnameis:"+dirname pass forfilenameinfilenames:#输出文件信息 #print"parentis:"+parent #print"filenameis:"+filename #print"thefullnameofthefileis:"+os.path.join(parent,filename) is_file_contain_word(os.path.join(parent,filename),query) defis_file_contain_word(file_,query_word): #print1111111 ifquery_wordinopen(file_).read(): printfile_ filecontext=open(file_).read() lines=filecontext.split('\n')#python打印关键词所在行 forlineinlines: ifquery_wordinline: printline walk_all_files(rootdir,query) print"done" ''' http://www.iplaypy.com/jichu/note.html pleaseexplainos.walk(): walk()方法语法格式如下: os.walk(top[,topdown=True[,onerror=None[,followlinks=False]]])os.walk(top[,topdown=True[,onerror=None[,followlinks=False]]]) 参数 top--根目录下的每一个文件夹(包含它自己),产生3-元组(dirpath,dirnames,filenames)【文件夹路径,文件夹名字,文件名】。 topdown--可选,为True或者没有指定,一个目录的的3-元组将比它的任何子文件夹的3-元组先产生(目录自上而下)。如果topdown为False,一个目录的3-元组将比它的任何子文件夹的3-元组后产生(目录自下而上)。 onerror--可选,是一个函数;它调用时有一个参数,一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。 followlinks--设置为true,则通过软链接访问目录。 返回值 该方法没有返回值。 '''
以上这篇对Python文件夹遍历和文件查找的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。