Member 8724221 Ответов: 1

Как найти конкретную строку в файле, который является динамическим по своей природе, используя Python


У меня есть текстовый файл, который содержит следующие строки.

Существующие Схемы Питания (* Активные)
-----------------------------------
Схема питания GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (сбалансированная)
Схема питания GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (высокая производительность)
GUID схемы питания: a1841308-3541-4fab-bc81-f71556f20b4a (энергосбережение)

Здесь мне нужно найти только значения GUID.

Экс:381b4222-f694-41f0-9685-ff5bb260df2e
8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
a1841308-3541-4fab-bc81-f71556f20b4a

Как это сделать?

Я новичок в python.

Что я уже пробовал:

Я попробовал нижеследующую вещь

testfile = os.path.join(os.getcwd(), "power_all.txt")
with open(testfile, "r+") as pwr:
   for line in pwr:
       scheme_guid = line.split("GUID:")[-1]
       print(scheme_guid)


Я получаю вывод, как показано ниже:

Существующие Схемы Питания (* Активные)

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

381b4222-f694-41f0-9685-ff5bb260df2e (сбалансированный)

8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (высокая производительность)

a1841308-3541-4fab-bc81-f71556f20b4a (энергосбережение) *

Patrice T

В чем проблема с выходом ?

Member 8724221

Мне нужны только ценности.
Пример: 381b4222-f694-41f0-9685-ff5bb260df2e
8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
a1841308-3541-4fab-bc81-f71556f20b4a

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Richard MacCutchan

Вам просто нужно сделать второе разделение, используя пробел в качестве разделителя.

1 Ответов

Рейтинг:
11

Patrice T

Цитата:
Как найти конкретную строку в файле, который является динамическим по своей природе, используя Python

Вам нужно изучить регулярные выражения (RegEx)
В принципе, регулярные выражения были созданы для соответствия шаблонам, а это именно то, что вам нужно.
Возможны разные подходы, но это регулярное выражение "GUID: (.*) \(" будет совпадение идентификатор GUID.
-----
Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & Test RegEx[^]
Онлайн-тестер регулярных выражений и отладчик: PHP, PCRE, Python, Golang и JavaScript[^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение: Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
Этот сайт также показывает регулярное выражение в красивом графике, но не может проверить, что соответствует регулярному выражению: Regexper[^]