看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行左右的代码,生产效率大大提高。人都舒服点
Das obige ist der detaillierte Inhalt vonSo lesen Sie den Inhalt eines Ordners in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!