pythonファイルの検索と内容のマッチング方法


需要:プログラム開発には多くのインターフェースがありますが、実際の使用の一部は使われていません。開発されたプログラムの中でこれらのインターフェース名にマッチしています。これらの未使用のインターフェース名を保存します。
コード構造:
構造解析:
1、find.pyはファイル検索とマッチングプログラムです。
2、input_files.txtはマッチングすべき内容です。
ファイル形式は以下の通りです。
3、result.txtは検索結果を保存するために使用されます。
同じフォーマット
4、text.txtテスト用のドキュメント(無視可能)
実際のコード:
find.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, re, datetime


class Find(object):
 def __init__(self, root, input_file):
  """
    --   
  """
  self.root = root #      
  self.input_files = [] #          
  self.files = [] #         
  self.current = 0 #             

  f = file(input_file, "r")
  old_content = f.read()
  f.close()
  self.input_files = old_content.split('
') # @staticmethod def find_file(self): """ -- , :return: """ # python walk , for root, dirs, files in os.walk(self.root, topdown=True): for name in files: self.files.append(os.path.join(root, name)) # print(os.path.join(root, name)) # for name in dirs: # print(os.path.join(root, name)) @staticmethod def walk(self): """ -- , result.txt :param self: :return: """ for item1 in self.files: Find.traverse_file(self, item1) try: result = '' for item3 in self.input_files: result += item3 + '
' f = file("./result_files.txt", "w") f.write(result) f.close() except IOError, msg: print "Error:", msg else: print "OK" @staticmethod def traverse_file(self, file_path): """ -- , :return: """ f = file(file_path, "r") file_content = f.read() f.close() input_files = [] for item2 in self.input_files: if item2: # , searchObj = re.search(r'(.*)' + item2 + '.*', file_content, re.M | re.I) if searchObj: continue else: input_files.append(item2) self.input_files = input_files if __name__ == "__main__": print datetime.datetime.now() findObj = Find('F:\\projects', "./input_files.txt") findObj.find_file(findObj) findObj.walk(findObj) print datetime.datetime.now()
以上のpythonファイルの検索と内容のマッチング方法は、小編集が皆さんに提供したすべての内容です。参考にしていただければ幸いです。よろしくお願いします。