Как мой Указанный из текста в 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()