python遍历文件,查找指定内容
比较笨,苦思了两天才写出这么十几行的代码,也顺便将Python的正则和os.path.walk学习了一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import os, sys, re def searcher(root_dir): skipexts = ['.gif', '.exe', '.pyc', '.o', '.a','.dll','.lib','.pdb','.mdb'] regex = re.compile(r'http:\/\/.*') for root,dirs,files in os.walk(root_dir): for file in files: if os.path.splitext(file)[1] not in skipexts: file_obj = open(os.path.join(root, file),'rU') line_no = 0 for eachline in file_obj: line_no += 1 if regex.findall(eachline): print "%s %d:%s"%(os.path.join(root, file),line_no,eachline) searcher('/home/') |
效果是从指定的目录下,遍历所有文件内容,并从文件内容中查找指定的关键字,并告知在具体哪个文件的哪一行,我这里使用了正则从文本内容中匹配URL地址