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

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

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

本文實(shí)例講述了python實(shí)現(xiàn)搜索指定目錄下文件及文件內(nèi)搜索指定關(guān)鍵詞的方法。分享給大家供大家參考。具體實(shí)現(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)

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

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

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

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

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

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

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

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

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

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

    OpenCV黑帽運(yùn)算(BLACKHAT)的使用

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

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

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

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

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

    Python中Selenium對(duì)Cookie的操作方法

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

    Pycharm快捷鍵配置詳細(xì)整理

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

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

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

最新評(píng)論