我正在尝试使用Class搜索模式。
我有一个示例文本文件。我必须在文本文件的每一行中找到搜索字符串(“ Debug_logs”)。
然后我必须使用模式Form 1
Form 2
From 3
Form 4
Form 5
无需使用Class,我就能做到并获得完美的结果。
但是如何使其与类和对象一起使用。
(\d\d\d\d-\d\d-\d\d)
答案 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次。
希望我能理解您正在努力实现的目标并为您提供帮助:)