Как преобразовать текстовый файл с несколькими дублирующимися ключами и распечатать его с соответствующими значениями - PullRequest
0 голосов
/ 09 мая 2018
RequestId=159dd0dc-3ac2-11e7-9f57-b7548c7a91e2

global-action-trace=15a01af3-3ac2-11e7-babe-0a5b00b90000

EOE

RequestId=12780045-3ac2-11e7-8dc6-f7c2b766d8e7

global-action-trace=1278c342-3ac2-11e7-babe-0a5b00b90000

EOE

Я хочу напечатать только key(RequestId) и оценить, как это возможно в Python

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Использование Regex:

Демо:

import re
s = """RequestId=159dd0dc-3ac2-11e7-9f57-b7548c7a91e2

global-action-trace=15a01af3-3ac2-11e7-babe-0a5b00b90000

EOE

RequestId=12780045-3ac2-11e7-8dc6-f7c2b766d8e7

global-action-trace=1278c342-3ac2-11e7-babe-0a5b00b90000

EOE"""
print(re.findall("RequestId=(.*)", s))

Выход:

['159dd0dc-3ac2-11e7-9f57-b7548c7a91e2', '12780045-3ac2-11e7-8dc6-f7c2b766d8e7']
0 голосов
/ 09 мая 2018

Просто используйте regex. Выражение в скобках () - это то, что вы хотите извлечь.

print re.findall('RequestId=([A-Za-z0-9 -=]+)', s)
#Output:
#['159dd0dc-3ac2-11e7-9f57-b7548c7a91e2 global-action-trace=15a01af3-3ac2-11e7-babe-0a5b00b90000 EOE RequestId=12780045-3ac2-11e7-8dc6-f7c2b766d8e7 global-action-trace=1278c342-3ac2-11e7-babe-0a5b00b90000 EOE']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...