对Python 文件夹遍历和文件查找的实例讲解


Posted in Python onApril 26, 2018

实例如下所示:

# -*- coding: utf-8 -*-
#to find where use the table on xxxxx xxxxxx  production env
'''
在项目中我们元数据管理的不是很好,如果先知道一张表在哪里用过,就需要写个程序去遍历下
'''
import os
import os.path
rootdir =  "C:\\Users\\IBM_ADMIN\\IBM\\rationalsdp\\workspace"#   # 指明被遍历的文件夹
query = "xxxxxxxxx"              
def walk_all_files(rootdir,query):
  for parent,dirnames,filenames in os.walk(rootdir):  #for循环自动完成递归枚举 #三个参数:分别返回1.父目录(当前路径) 2.所有文件夹名字(不含路径) 3.所有文件名字
    for dirname in dirnames:             #输出文件夹信息
      #print "parent is:" + parent
      #print "dirname is :" + dirname
      pass
    for filename in filenames:            #输出文件信息
      #print "parent is :" + parent
      #print "filename is:" + filename
      #print "the full name of the file is :" + os.path.join(parent,filename)
      is_file_contain_word(os.path.join(parent,filename),query)
def is_file_contain_word(file_,query_word):
  #print 1111111
  if query_word in open(file_).read() :
    print file_
    filecontext = open(file_).read()
    lines = filecontext.split('\n')         # python打印关键词所在行
    for line in lines:
      if query_word in line:
        print line
walk_all_files(rootdir,query)
print "done"
'''
http://www.iplaypy.com/jichu/note.html
please explain os.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 文件夹遍历和文件查找的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python处理RSS、ATOM模块FEEDPARSER介绍
Feb 18 Python
在Python编程过程中用单元测试法调试代码的介绍
Apr 02 Python
归纳整理Python中的控制流语句的知识点
Apr 14 Python
python如何通过protobuf实现rpc
Mar 06 Python
python将txt文件读取为字典的示例
Dec 22 Python
python爬虫获取小区经纬度以及结构化地址
Dec 30 Python
python 字符串常用方法汇总详解
Sep 16 Python
Python的缺点和劣势分析
Nov 19 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
Python容器类型公共方法总结
Aug 19 Python
pytorch 如何使用amp进行混合精度训练
May 24 Python
Python实现排序方法常见的四种
Jul 15 Python
Python3.遍历某文件夹提取特定文件名的实例
Apr 26 #Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 #Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 #Python
Python实现字符串的逆序 C++字符串逆序算法
May 28 #Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 #Python
TensorFlow损失函数专题详解
Apr 26 #Python
浅谈Tensorflow模型的保存与恢复加载
Apr 26 #Python
You might like
PHP parse_url 一个好用的函数
2009/10/03 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
2013/11/27 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中你应该知道的一些内置函数
2017/03/31 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
Python实现验证码识别
2020/06/15 Python
简单的Python人脸识别系统
2020/07/14 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
error和exception有什么区别
2012/10/02 面试题
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
2016年校长新年寄语
2015/08/17 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
MySQL之select、distinct、limit的使用
2021/11/11 MySQL