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)