热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python读取文件夹中的文件内容

看thinkinginjava的时候发现有个题的答案不确定结果,于是下载答案看下,结果是 这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是

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

《python 读取文件夹中的文件内容》

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

#!/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

1、读取指定目录下的所有文件

2、读取文件,正则匹配出需要的内容,获取文件名

3、打开此文件

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

转载自:https://www.cnblogs.com/wzqshb/p/7239841.html


推荐阅读
author-avatar
最美的你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有