Форум сайта python.su
-2
Уважаемые спецы.
Есть файл в формате txt (userbouquet.IPTV.tv) —- правлю его в Notepad++.
В этом файле есть строки которые нужно заменить.
В этой строке:
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//106.121.58.171%3a81/udp/239.54.7.170%3a1224:ПЛАНЕТА HD —— нужно заменить эту часть текста 4097:0:1:0:0:0:0:0:0:0 в начале, на 4097:0:1:5A3C:17:FD:1680000:0:0:0.
1.Строку ищем по названию канала ПЛАНЕТА HD или другое название.
2. Текст в середине всегда разный http%3a//106.171.58.141%3a81/udp/239.54.7.170%3a1224:
3. Эта часть строки всегда одинаковая === 4097:0:1:0:0:0:0:0:0:0 на что меняем всегда разное.
Строк много только разные каналы. Вручную править очень не удобно. Как это сделать — Регулярными выражениями или Python ?
Офлайн
857
Можно по-разному править. В основном, можно функцию написать для замены строки, а в ней уже можно применять как регулярные выражения, так и всё остальное. Потом надо открыть файл и каждую строку по очереди подать в эту функцию, которая на выходе вернёт строку без изменений или изменённую. Также в функцию можно подавать критерии и действия (название канала, какую подстроку заменить, на какую строку заменить), чтобы эти критерии искались в строке и действия применялись к ней, если критерии подошли.
Можешь и sed попробовать, я бы использовал его для такой задачи. Но в винде sed использовать проблематично. Так что ставь линукс, там таких программ много (для работы с текстом).
Отредактировано py.user.next (Март 6, 2019 11:48:43)
Офлайн
4
Более точно опишите задачу: что дано, что требуется сделать.
1. во время редактирования нужно заменить только строки с названием ПЛАНЕТА HD(или другим) или все строки нужно редактировать подряд
Все ли строки идентичные по структуре, чем отличаются друг от друга?
Лучше сбросьте сам файл
2. "Текст в середине всегда разный http%3a//106.171.58.141%3a81/udp/239.54.7.170%3a1224:"
непонятно как это должно влиять на выполнение задачи:
то ли не нужно его трогать, то ли ещё что
3 Эта часть строки всегда одинаковая === 4097:0:1:0:0:0:0:0:0:0 на что меняем всегда разное.
Вроде как только эту часть нужно менять, но на что менять непонятно
и т.д.
Я уверен, что если начать писать эту программу сразу вылезет много мелочей которые вы не упомянули
или неправильно описали. А потом это всё переделывать
Повторюсь: опишите вашу задачу очень подробно, тогда можно будет о чём-то говорить
Офлайн
-2
Есть файл: userbouquet.IPTV.tv
Вот часть его:
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//107.171.54.141%3a81/udp/239.54.7.53%3a1224:МОЯ ПЛАНЕТА
#DESCRIPTION МОЯ ПЛАНЕТА
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//109.171.58.141%3a81/udp/239.54.7.170%3a1224:ПЛАНЕТА HD
#DESCRIPTION ПЛАНЕТА HD
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//ott-cdn.am/s55/04.m3u8:ОХОТНИК И РЫБОЛОВ
#DESCRIPTION ОХОТНИК И РЫБОЛОВ
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//ott-cdn.am/s62/04.m3u8:ОХОТНИК И РЫБОЛОВ HD
#DESCRIPTION ОХОТНИК И РЫБОЛОВ HD
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//ott-cdn.am/s79/index.m3u8 :Maestro TV
#DESCRIPTION Maestro TV
В нём много разных каналов.
=============================================================
Я должен поочерёдно найти каждый канал - его строку:
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//107.171.54.141%3a81/udp/239.54.7.53%3a1224:МОЯ ПЛАНЕТА
Это значение (4097:0:1:0:0:0:0:0:0:0) мне нужно заменить на правильное: 4097:0:1:4274:11:FD:1680000:0:0:0
И так по каждому каналу.
==============================================================
3 Эта часть строки всегда одинаковая === 4097:0:1:0:0:0:0:0:0:0 на что меняем всегда разное.
Вроде как только эту часть нужно менять, но на что менять непонятно
и т.д. — у каждого канала это будет своё (МОЯ ПЛАНЕТА — 4097:0:1:4274:11:FD:1680000:0:0:0 )
(ОХОТНИК И РЫБОЛОВ – 4097:0:1:138D:5:FD:1680000:0:0:0) и т.д.
Эти данные у меня есть — они всегда постоянны для каждого канала.
Это в файле: _Триколор.txt Прилагается. Его форму можно изменить так как нужно.
===============================================================
Всё это приходится делать потому, что ссылки в середине строки (http%3a//107.171.54.141%3a81/udp/239.54.7.53%3a1224) со временем меняются.
Прикреплённый файлы:
_Триколор.txt (2,4 KБ)
Офлайн