视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python怎么读取文件夹内容
2020-11-27 14:06:23 责编:小采
文档


看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、打开此文件<br><br> 相对于java来说 ,用python写的话能少写20行左右的代码,生产效率大大提高。人都舒服点

下载本文
显示全文
专题