我正在尝试使用 python 从基于匹配文本的应用程序日志中获取数据节。一个伪示例看起来像这样:
Error_Paragraph = [
data1 = 'abcdefg'
data2 = '123556'
data3 = 'supercalifragilistic'
data4 = 'expealadocious'
....
data106 = 'critical info'
....
]
这些日志中有很多节......都带有“data106”类型标识符。仅获取与“Error_Paragraph”匹配的节的最佳方法是什么?抓住整个段落会很有用,但我专门在“Error_Paragraph”中只寻找“data106”
我已经尝试了几次迭代,但似乎无法正确地消化这些段落。真正好的是将这一切都吸进字典中,这样我就可以根据需要访问这些项目。
谢谢!
当前尝试的示例:
import re
import gzip
import sys
f = gzip.open( sys.argv[1], 'rb')
dataDict = re.findall(r"Error_Paragraph = \[[^\]]*data106 = '([^']*)'", s)
print dataDict
我得到以下输出:
File "./logfile.txt", line 10
dataDict = re.findall(f"^\$Error_Paragraph = \[[^\]]*data106 = '([^']*)'", s)