如何使用python中的类在文本文件中进行模式搜索

时间:2018-09-19 11:09:15

标签: python

我正在尝试使用Class搜索模式。

我有一个示例文本文件。我必须在文本文件的每一行中找到搜索字符串(“ Debug_logs”)。 然后我必须使用模式Form 1 Form 2 From 3 Form 4 Form 5

打印搜索行的日期

无需使用Class,我就能做到并获得完美的结果。

但是如何使其与类和对象一起使用。

(\d\d\d\d-\d\d-\d\d)

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您想要的,但是我已经解决了文件打开等问题(现在该对象已传递文件名,并且仅在搜索时打开文件) ()函数被调用),以及其他一些事情。

import re

class text_processing:

    def __init__(self,file_name):
        self.file_name = file_name
        self.search_pat = 'DEBUG Facebook'


    def search(self):
        print ("File opened")
        print ("in search function")
        with open(self.file_name, "r") as file:
            for line in file:
                print (line)
                if self.search_pat in line:
                    print (re.findall(r"\d\d\d\d-\d\d-\d\d", line))


def main():
    filename = 'sample1.txt'
    x = text_processing(filename)
    x.search()

main()

self.search_pat中搜索模式之前,该模式只是文本“ DEBUG Facebook”,因此没有找到任何内容。您还遍历了“ DEBUG Facebook”中的每个字符,因此当re.findall已经遍历并找到所有出现的内容时,您冗余搜索了14次。

希望我能理解您正在努力实现的目标并为您提供帮助:)