python实操(1):搜索指定目录(文件)下包含指定字符串的文件,及行号
2017-03-27 18:20
871 查看
#!/usr/bin/python #encoding:utf-8 # Filename : findString.py #author by :morespeech #python2.7 #platform:pycharm import os import re class cFindString: ####public functions def __init__(self, filepattern , txtpattern): self.filePattern = re.compile(filepattern) self.txtParttern = re.compile(txtpattern) def findStringInFile(self, filename): if os.path.isdir(filename): for subfilename in os.listdir(filename): subfilename = os.path.join(filename, subfilename) self.findStringInFile(subfilename) else: if not os.path.exists(filename): print filename ,'not exist' return fileHandle = open(filename, 'rb') nLine = 0 for line in fileHandle: search = self.txtParttern.search(line) if search: print filename ,'(',nLine, ')', line nLine = nLine + 1 fileHandle.close() g_stringPattern='' g_filePattern='' g_filename='' def parse(): from optparse import OptionParser usage = "usage:findString [opthions] -n=.cpp -s=\d\w -f 1.cpp" parser = OptionParser(usage=usage) parser.add_option("-n", "--filenamePattern", dest = "wantfilePattern",help="match file format, .cpp/.c/.py etc") parser.add_option("-s", "--stringPattern", dest = "wantstringPattern", help="match string, regex etc") parser.add_option("-f", "--filename", dest = "wantfilename", help="input the file or folder you want to find") (options, args) = parser.parse_args() if options.wantfilePattern and options.wantstringPattern and options.wantfilename: global g_filePattern, g_stringPattern, g_filename g_filePattern = options.wantfilePattern g_stringPattern = options.wantstringPattern g_filename = options.wantfilename else: parser.print_help() if __name__== "__main__": parse() cFindString(g_filePattern, g_stringPattern).findStringInFile(g_filename)
相关文章推荐
- Python 检索目录下所有文件中包含指定字符串的文件
- Python:编写函数,能在当前目录以及子目录下查找文件名包含指定字符串的文件,并打印出完整路径
- python检索目录下所有文件中包含指定字符串的文件
- python检索目录下所有文件中包含指定字符串的文件
- Python 在当前目录以及其子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- Python 检索目录下所有文件中包含指定字符串的文件
- Python 在指定的目录下搜索包含关键字的文件
- python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- Python搜索目录下指定的文件,并返回绝对路径(包括子目录)
- Linux下搜索指定目录下文件中特定字符串并高亮显示匹配关键词
- 涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串
- 列出当前目录所有包含指定字符串的文件
- Python 遍历目录找出包含指定字符串的文件夹
- 查找当前目录下文件中包含关键字符串的文件以及行号
- python实现搜索指定目录下文件及文件内搜索指定关键词的方法
- Linux查找当前目录及其子目录下所有包含指定字符串的文件
- 子目录下,grep搜索子目录中包含某字符串的特定文件
- Shell循环列出目录下所有文件或查找目录下包含指定字符串的文件
- Python —— 批量替换指定目录下的所有文件中指定字符串