gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 09:01:49 26 4
gpt4 key购买 nike

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

我有一个示例文本文件。我必须在文本文件的每一行中找到搜索字符串(“Debug_logs”)。然后我必须使用模式打印搜索行的日期 (\d\d\d\d-\d\d-\d\d)

在不使用类(class)的情况下,我也能够做到并获得完美的结果。

但是如何让它与类和对象一起工作。

import re

class text_processing:

def __init__(self,file_name):
print ("File opened")
self.file_name = file_name
self.search_pat = 'DEBUG Facebook'


def search(self):
print ("in sreach function")
for line in self.file_name:
print (line)
if self.search_pat in line:
print (self.line)
for i in self.search_pat:
print re.findall(r"\d\d\d\d-\d\d-\d\d", self.search_pat)
break

def main():
filename = 'sample1.txt'
file_open = open(filename, "r")
x = text_processing(file_open)
x.search()

最佳答案

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

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 次。

我希望我正确理解您想要实现的目标并帮助您:)

关于python - 如何使用Python中的类在文本文件中进行模式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52404501/

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