python разбирать условные несколько строк в текстовом файле - PullRequest
1 голос
/ 03 февраля 2020

Я хотел бы проанализировать текстовый файл, но с несколькими условиями:

Ввод:

something<br />
something <br />
something<br />
Modifications made by xy (xy) on 2019/12/10 10:40:23<br />
location: A --> B<br />
something<br />
something<br />
something<br />
Modifications made by xz (xz) on 2020/01/17 11:11:59<br />
analyzer: C --> D<br />
analyzer: B --> D<br />
analyzer: G --> D<br />
location: E --> F<br />
something<br />
something<br />
something

Задача: Мне нужно найти «location: x -> y» и дату до местоположения. TXT-файл может содержать неизвестный номер изменения местоположения.

Требуемый вывод:

2019/12/10 10:40:23, location: A --> B
2020/01/17 11:11:59, location: E --> F

Я попробовал некоторый код, например ::

with open('log.txt', 'r') as searchfile:
    for line in searchfile:
        if 'location' in line:
            print (line)

но только найдите места, и я не знаю, как найти даты для них.

Заранее спасибо.

1 Ответ

2 голосов
/ 03 февраля 2020

Просто следите за соответствующим временем и местоположением как таковым:

with open('log.txt', 'r') as searchfile:
    time = None
    for line in searchfile:
        if line.startswith('Modifications made by'):
            time = line.split('on')[-1].strip()
        elif line.startswith('location') and time is not None:
            print(f'{time}, {line}')
...