香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

python实现搜索指定目录下文件及文件内搜索指定关键词的方法


时间:2021-12-08 14:52 作者:admin


本文实例讲述了python/' target='_blank'>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程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)