欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實現(xiàn)搜索指定目錄下文件及文件內(nèi)搜索指定關鍵詞的方法

 更新時間:2015年06月28日 12:18:25   作者:不吃皮蛋  
這篇文章主要介紹了python實現(xiàn)搜索指定目錄下文件及文件內(nèi)搜索指定關鍵詞的方法,可實現(xiàn)針對文件夾及文件內(nèi)關鍵詞的搜索功能,需要的朋友可以參考下

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

#!/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, fnmatch
class 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
    print
if __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程序設計有所幫助。

相關文章

  • 使用Pandas修改DataFrame中某一列的值

    使用Pandas修改DataFrame中某一列的值

    DataFrame是Pandas中的主要數(shù)據(jù)結構之一,下面這篇文章主要給大家介紹了關于使用Pandas修改DataFrame中某一列的值的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python根據(jù)文件名批量搜索文件

    python根據(jù)文件名批量搜索文件

    大家好,本篇文章主要講的是python根據(jù)文件名批量搜索文件,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 基于Python實現(xiàn)音樂播放器的實現(xiàn)示例代碼

    基于Python實現(xiàn)音樂播放器的實現(xiàn)示例代碼

    這篇文章主要介紹了如何利用Python編寫簡易的音樂播放器,文中的示例代碼講解詳細,具有一的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • Python的集合類型之set和frozenset詳解

    Python的集合類型之set和frozenset詳解

    這篇文章主要為大家詳細介紹了Python的集合類型之set和frozenset,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • OpenCV黑帽運算(BLACKHAT)的使用

    OpenCV黑帽運算(BLACKHAT)的使用

    本文主要介紹了OpenCV黑帽運算(BLACKHAT)的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 舉例詳解Python中yield生成器的用法

    舉例詳解Python中yield生成器的用法

    這篇文章主要介紹了舉例詳解Python中yield生成器的用法,包括其在多線程multiprocess下的使用示例,非常推薦!需要的朋友可以參考下
    2015-08-08
  • Python 如何實現(xiàn)訪問者模式

    Python 如何實現(xiàn)訪問者模式

    這篇文章主要介紹了Python 如何實現(xiàn)訪問者模式,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Python中Selenium對Cookie的操作方法

    Python中Selenium對Cookie的操作方法

    Cookie內(nèi)記錄用戶名和密碼(加密)信息,只要請求時服務器收到Cookie,識別成功,默認為已登陸,今天通過本文給大家分享Selenium對Cookie的操作方法,感興趣的朋友一起看看吧
    2021-07-07
  • Pycharm快捷鍵配置詳細整理

    Pycharm快捷鍵配置詳細整理

    這篇文章主要介紹了Pycharm快捷鍵配置詳細整理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • python使用knn實現(xiàn)特征向量分類

    python使用knn實現(xiàn)特征向量分類

    這篇文章主要為大家詳細介紹了python使用knn實現(xiàn)特征向量分類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評論