对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通过Pygame绘制移动的矩形实例代码
Jan 03 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
在Python中使用Neo4j的方法
Mar 14 Python
python实现维吉尼亚加密法
Mar 20 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 Python
python批量修改ssh密码的实现
Aug 08 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
PyTorch中permute的用法详解
Dec 30 Python
pytorch之inception_v3的实现案例
Jan 06 Python
python实现的人脸识别打卡系统
May 08 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操作文件方法问答
2007/03/16 PHP
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
2017/05/17 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
python列表与元组详解实例
2013/11/01 Python
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
python exit出错原因整理
2020/08/31 Python
python定时截屏实现
2020/11/02 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
暑期培训班招生方案
2014/08/26 职场文书
面试通知短信
2015/04/20 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL