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

实例如下所示:

# -*- 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 文件夹遍历和文件查找的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python提取转移文件夹内所有.jpg文件并查看每一帧的方法

    python里面可以将路径里面的\替换成/避免转义. os.walk方法可以将目标路径下文件的root,dirs,files提取出来.后面对每个文件进行操作. 切片操作[:]判断是否为.jpg或.JPG文件. shutil的copy方法将文件从旧路径复制到新路径. glob的glob方法提取目标文件夹的所有图片,对每张图片进行显示保存等操作. 详细代码及注释如下: import os import shutil import glob import cv2 path = 'C:/Users/de

  • Python3.遍历某文件夹提取特定文件名的实例

    批量处理文件时,常需要先遍历某个路径提取特定条件的文件名.这篇写一个暴力遍历但很简洁的方法,真的非常简洁但是非常暴力. 例子目标是:获得存放遥感数据的文件夹下文件夹名以"_BAD"结尾的文件夹内容.因为该文件下分级很多(年/月/产品类型/),目标文件夹很多且存在在最后一级,手动查看很烦. 代码如下(知识点总结代码后): # -*- coding: utf-8 -*- """ 遍历某路径下所有文件夹,获得特定文件夹下所有文件 很暴力,真的遍历了所有的文件夹

  • python读取目录下所有的jpg文件,并显示第一张图片的示例

    如下所示: # -*- coding: UTF-8 -*- import numpy as np import os from scipy.misc import imread, imresize import matplotlib.pyplot as plt from glob import glob # 读取目录下所有的jpg图片 def load_image(image_path, image_size): file_name=glob(image_path+"/*jpg") s

  • 对python遍历文件夹中的所有jpg文件的实例详解

    python发现文件夹下所有的jpg文件,并且安装文件排放的顺序输出 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符:"?"匹配单个字符:"[]"匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路

  • python 获取指定文件夹下所有文件名称并写入列表的实例

    如下所示: import os import os.path rootdir = "./pic_data" file_object = open('train_list.txt','w') for parent,dirnames,filenames in os.walk(rootdir): for filename in filenames: print filename file_object.write(filename+ '\n') file_object.close() 在做深

  • Python 读取指定文件夹下的所有图像方法

    (1)数据准备 数据集介绍: 数据集中存放的是1223幅图像,其中756个负样本(图像名称为0.1~0.756),458个正样本(图像名称为1.1~1.458),其中:"."前的标号为样本标签,"."后的标号为样本序号 (2)利用python读取文件夹中所有图像 ''' Load the image files form the folder input: imgDir: the direction of the folder imgName:the name of

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

    实例如下所示: # -*- 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"# # 指明被遍历的文件夹 qu

  • 单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)

    以下是核心文件: index.php文件 复制代码 代码如下: <?php header('Content-Type:text/html charset:utf-8'); date_default_timezone_set('PRC'); $rootDir = 'listFile'; //站点根目录,装载本程序所有文件 //站点base_url设置方法: //考虑到通用性,现默认使用方法二,修改方法时注意同时修改.htaccess文件 //方法一:设置站点目录为根目录 //对应.htaccess

  • Python实现递归遍历文件夹并删除文件

    思路: 遍历文件夹下面的文件夹 如果文件夹名称等于".svn",则修改文件夹的属性(因为".svn"的文件都是只读的,你不能直接删除) 删除此文件夹 如果文件夹名称不等于".svn",则递归上面的方法 Python的实现 代码 import os import shutil import os.path import stat rootdir="F:\\work\\Test" for parent,dirnames,filen

  • Python遍历文件夹 处理json文件的方法

    有两种做法:os.walk().pathlib库,个人感觉pathlib库的path.glob用来匹配文件比较简单. 下面是第二种做法的实例(第一种做法百度有很多文章): from pathlib import Path import json analysis_root_dir = "D:\\analysis_data\json_file" store_result="D:\\analysis_data\\analysis_result\\dependency.csv&qu

  • python查找指定文件夹下所有文件并按修改时间倒序排列的方法

    代码如下: import os, glob, time def search_all_files_return_by_time_reversed(path, reverse=True): return sorted(glob.glob(os.path.join(path, '*')), key=lambda x: time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(os.path.getctime(x))), reverse=revers

  • python遍历文件夹找出文件夹后缀为py的文件方法

    大学毕业, 想看看大学写了多少行代码. #coding=utf-8 import os class Solution: def __init__(self): self.dirPath = [] def numberOfCode(self,path): for dir in os.listdir(path): childDir = os.path.join(path,dir) if os.path.isdir(childDir): self.numberOfCode(childDir) else

  • C++遍历文件夹下所有文件的多种方法

    为数不多的好用的代码,遍历文件夹获取所有子文件名,"filespec"可用通配符"*?".注意如果用相对路径的话,获取所有文件名后应再调用SetInitDir将初始目录改为当前目录,否则中间生成的文件都会放在之前的"InitDir"内. C/C++遍历文件夹感觉真是很不好用,建议还是使用C/C++做单任务处理,然后通过脚本语言实现遍历比较合理. CBrowseDir.h #include <io.h> #include <std

  • C#遍历文件夹后上传文件夹中所有文件错误案例分析

    asp.net是没有直接选取文件夹的控件的,我也不知道,如果大家有的话可以一起交流下.后来我想着应该有三种方法: ①先将文件夹压缩后上传服务器,然后再服务器上解压: ②获得文件夹名及目录,然后遍历文件夹下面的文件以及子文件夹,循环上传: ③是使用AcitiveX控件. 那我果断就先通过上传对话框获得文件夹名和文件夹所在的系统文件路径,可是接下来就错愕了,一开始是想使用javascript遍历文件夹的 1  var fso = new ActiveXObject("Scripting.FileSy

  • Python如何import文件夹下的文件(实现方法)

    Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同,下面来看看这个例子. 目录结构: a.py 要 import dir目录下的 b.py 文件.a.py代码如下: # coding=utf-8 "import dir 目录下的 b.py 文件" import dir.b prin

  • C#简单遍历指定文件夹中所有文件的方法

    本文实例讲述了C#简单遍历指定文件夹中所有文件的方法.分享给大家供大家参考,具体如下: C#遍历指定文件夹中的所有文件: DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(NextFolder.Name); //遍历文件 foreach(F

随机推荐