国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現搜索指定目錄下文件及文件內搜索指定關鍵詞的方法

2019-11-25 17:15:46
字體:
來源:轉載
供稿:網友

本文實例講述了python實現搜索指定目錄下文件及文件內搜索指定關鍵詞的方法。分享給大家供大家參考。具體實現方法如下:

#!/usr/bin/python -O# -*- coding: UTF-8 -*-"""Sucht rekursiv in Dateiinhalten und listet die Fundstellen auf."""__author__ = "Jens Diemer"__license__ = """GNU General Public License v2 or above - http://www.opensource.org/licenses/gpl-license.php"""__url__ = "http://www.jensdiemer.de"__version__ = "0.1"import os, time, fnmatchclass search:  def __init__(self, path, search_string, file_filter):    self.search_path = path    self.search_string = search_string    self.file_filter = file_filter    print "Search '%s' in [%s]..." % (      self.search_string, self.search_path    )    print "_" * 80    time_begin = time.time()    file_count = self.walk()    print "_" * 80    print "%s files searched in %0.2fsec." % (      file_count, (time.time() - time_begin)    )  def walk(self):    file_count = 0    for root, dirlist, filelist in os.walk(self.search_path, followlinks=True):      for filename in filelist:        for file_filter in self.file_filter:          if fnmatch.fnmatch(filename, file_filter):            self.search_file(os.path.join(root, filename))            file_count += 1    return file_count  def search_file(self, filepath):    f = file(filepath, "r")    content = f.read()    f.close()    if self.search_string in content:      print filepath      self.cutout_content(content)  def cutout_content(self, content):    current_pos = 0    search_string_len = len(self.search_string)    for i in xrange(max_cutouts):      try:        pos = content.index(self.search_string, current_pos)      except ValueError:        break      content_window = content[ pos - content_extract : pos + content_extract ]      print ">>>", content_window.encode("String_Escape")      current_pos += pos + search_string_len    printif __name__ == "__main__":  search_path = r"c:/texte"  file_filter = ("*.py",) # fnmatch-Filter  search_string = "history"  content_extract = 35 # Gr��e des Ausschnittes der angezeigt wird  max_cutouts = 20 # Max. Anzahl an Treffer, die Angezeigt werden sollen  search(search_path, search_string, file_filter)

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济宁市| 南平市| 日喀则市| 漳平市| 定远县| 巴马| 新田县| 大连市| 黄龙县| 招远市| 隆昌县| 万荣县| 舒城县| 什邡市| 陆良县| 南昌县| 哈尔滨市| 利川市| 浠水县| 汝州市| 扶余县| 赣榆县| 临西县| 武山县| 工布江达县| 鄂伦春自治旗| 泸州市| 辽宁省| 彭水| 油尖旺区| 昌乐县| 睢宁县| 满城县| 湟源县| 外汇| 馆陶县| 辉县市| 石阡县| 健康| 乌拉特前旗| 中宁县|