gpt4 book ai didi

python 文件查找及内容匹配方法

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python 文件查找及内容匹配方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

需求:程序开发中有大量的接口,但在实际的使用中有一部分是没有使用的,在开发的程序中匹配这些接口名,找到哪些接口从没有使用过。将这些没有使用过的接口名保存下来.

代码结构:

结构解析:

1、find.py 是文件查找及匹配程序 。

2、input_files.txt是待匹配内容 。

文件格式如下:

3、result.txt 用于存放查找结果 。

格式同上 。

4、text.txt 用于测试的文档(可忽略) 。

实际代码:

find.py 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/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( '\n' ) # 将待匹配字符串保存在数组中
 
  @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 + '\n'
    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 文件查找及内容匹配方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/changhuzhao/article/details/58585448 。

最后此篇关于python 文件查找及内容匹配方法的文章就讲到这里了,如果你想了解更多关于python 文件查找及内容匹配方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com