Извлечение StatusDescription из текстового файла с использованием Python - PullRequest
1 голос
/ 28 апреля 2020

У меня есть образец текстового файла. Я хочу извлечь StatusDescription для каждой строки и сделать ее недоступной. Я хочу, чтобы она возвращала ноль, т. Е.

Line1 StatusDescription = Null

Line2 StatusDescription = Success

пример текстового файла:

[23 октября 2019 года] [12: 14: 49: 150] [[ACTIVE] ExecuteThread: '7' для очереди: 'weblogi c .kernel.Default (self- tuning) '] [22368936] [172.30.26.90] [c84283f4-5a3d-4559-b8d1-6ae2bdfc6075] [com.intellectdesign.iportal.as.integrator.host.GenericCommunicator] [EXIT] {Выход из метода sendToHostEx ...}

[23 октября 2019 года] [12: 14: 49: 150] [[ACTIVE] ExecuteThread: '7' для очереди: 'weblogi c .kernel.Default (автоматическая настройка)'] [22368936] [172.30.26.90] [c84283f4-5a3d-4559-b8d1-6ae2bdfc6075] [com.intellectdesign.digitalface.formatter.CoopCardSummmaryFormatter] [ОШИБКА] {hdr_Tran_Id = COOP_IL ~ Corp_RD_RD_RD_RD_RD_RD = AAAAAD7B5619 ~ * MessageID = AAAAAD7B5619 ~ * StatusCode = S_001 ~ * StatusDescription = Успех ~ * StatusDescriptionKey = EN-US}

1 Ответ

1 голос
/ 28 апреля 2020

Это должно работать в вашем случае:

import re

def find_substring(line):
    try:
        result = re.search('StatusDescription=(.*)~', line)
        return result.group(1)
    except:
        return "Null"

with open('text.txt') as f:
    lines = f.readlines()
    for line in lines:
        status_description = find_substring(line)
        print(status_description)
...