Как мой Указанный из текста в Python?

У меня есть вывод из программы в виде текста, как:

------------
Action specified: GetInfo

Gathering information...

Reported chip type: 2307

Reported chip ID: 98-DE-94-93-76-50

Reported firmware version: 1.08.10

------------

Но я должен просто спасти, Reported chip type: value "2307" в переменной. как это возможно?

2 ответа

Решение

Вы обычно делаете что-то подобное с регулярным выражением

import re
match = re.search('Reported chip type:\s(?P<chip_type>\d+)', my_text)
chiptype = int(match.group('chip_type'))     

>>> print chiptype
2307

В вашем случае, возможно, достаточно просто использовать пару разбиений:

chiptype = int(my_text.split('Reported chip type:', 1)[-1].split('\n')[0].strip())

Предполагая, что вы можете прочитать файл и прочитать его в переменную с именем text:

for line in text:
    if line.startswith("Reported chip type:"):
        _, chiptype = line.split(':')
        break

print chiptype

Это поместит первый экземпляр значения "Reported chip type:" в chiptype,

Ваш вывод выглядит так:

 2307

Обратите внимание, что есть ведущее место. Мы можем преобразовать это в int если вы знаете, что это всегда int вы можете сделать это: chiptype = int(chiptype), Если это просто строка, вы можете убрать начальный пробел: chiptype = chiptype.strip()

Другие вопросы по тегам