zoukankan      html  css  js  c++  java
  • python 读取文件夹中的文件内容

     看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是

      这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来, 没有把找到的文件单独拿出来, 因为我的需求达到了,扩展项目是后来的人需要做的事情),话不多说,贴代码

    #!/usr/bin/env python
    # encoding: utf-8
    '''
    1、读取指定目录下的所有文件
    2、读取文件,正则匹配出需要的内容,获取文件名
    3、打开此文件(可以选择打开可以选择复制到别的地方去)
    '''
    import os.path
    import re
    
    
    # 遍历指定目录,显示目录下的所有文件名
    def eachFile(filepath):
        pathDir =  os.listdir(filepath)
        for allDir in pathDir:
            child = os.path.join('%s\%s' % (filepath, allDir))
            if os.path.isfile(child):
                readFile(child)
    #             print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题
                continue
            eachFile(child)
      
    # 遍历出结果 返回文件的名字
    def readFile(filenames):
            fopen = open(filenames, 'r') # r 代表read
            fileread = fopen.read()
            fopen.close()
            t=re.search(r'clearSpitValve',fileread)
            if t:
    #             print "匹配到的文件是:"+filenames
                arr.append(filenames)        
    
    if __name__ == "__main__":
        filenames = 'D:java\answer\Thinking in Java4 Answer' # refer root dir
        arr=[]
        eachFile(filenames)
        for i in arr:
            print i
    

    满足我的需求,需要做的事情 分3步

    1、读取指定目录下的所有文件
    2、读取文件,正则匹配出需要的内容,获取文件名
    3、打开此文件

    相对于java来说 ,用python写的话能少写20行左右的代码,生产效率大大提高。人都舒服点

      

  • 相关阅读:
    ubuntu /etc/rc.local 不执行
    HTML中设置页面内嵌跳转
    JS使用AudioContext播放音乐
    Unity实现摄像机以某个物体为中心旋转
    Unity中实现通过鼠标对物体进行旋转平移缩放
    解决Windows上无法创建以点开头的文件问题
    解决FBX模型导入Unity后没有贴图的问题
    nedb中使用update更新数据的原理
    Electron 渲染进程中解决require is not defined的问题
    Base64转Blob的方式
  • 原文地址:https://www.cnblogs.com/wzqshb/p/7239841.html
Copyright © 2011-2022 走看看