Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2022, 10:58   #1
satfan
Пользователь
 
Регистрация: 11.02.2019
Сообщений: 79
По умолчанию Скрипт очистки плейлиста.

IDLE (Python 3.10 64-bit)
Windows 10
----------------------------
Есть плейлист IPTV:
#EXTINF:-1 tvg-id="v-mire-zhivotnyx-hd" tvg-name="В мире животных HD" group-title="Познавательные" tvg-logo="https://iptvxpix.ml/v-mire-zhivotnyx.png",В мире животных HD
#EXTGRP:Познавательные
http://bigteisti2.lifeyosso.fun:5637...pRMVpYSjBaR1pu
#EXTINF:-1 tvg-id="2627" tvg-name="Диалоги о рыбалке" group-title="Познавательные" tvg-logo="https://dvb.by/sources/logos/3294.png",Диалоги о рыбалке
#EXTGRP:Познавательные
http://bigteisti2.lifeyosso.fun:5637...pRMVpYSjBaR1pu
#EXTINF:-1 tvg-id="55" tvg-name="Ocean TV" group-title="Познавательные" tvg-logo="https://iptvxpix.ml/ocean-tv.png",Ocean TV
#EXTGRP:Познавательные
http://bigteisti2.lifeyosso.fun:5637...pRMVpYSjBaR1pu
----------------------------
Нужен простой скрипт для удаления ненужного из этого плейлиста.
Должно в итоге получится так:
#EXTINF:-1,В мире животных HD
http://bigteisti2.lifeyosso.fun:5637...pRMVpYSjBaR1pu
#EXTINF:-1,Диалоги о рыбалке
http://bigteisti2.lifeyosso.fun:5637...pRMVpYSjBaR1pu
#EXTINF:-1,Ocean TV
http://bigteisti2.lifeyosso.fun:5637...pRMVpYSjBaR1pu
----------------------------
Что мы должны сделать:
1. В строке: #EXTINF:-1, ..... удалить всё до запятой за которой идёт название канала.
2. Удалить полностью строки: #EXTGRP: Здесь могут меняться названия групп (#EXTGRP:Познавательные #EXTGRP:Новостные и т.д)
----------------------------
Я ранее очищал Notepad++ так, не всегда срабатывает:
Открыть регулярные выражения.
В том же Notepad++ например, есть "Поиск" --> "Замена", поставить галочку "Регулярные выражения" и ввести в строку поиска например:
Найти: #EXTINF:-1 [\w=" \-.]*
А в строку "Замена" вставить: #EXTINF:-1
и нажать "Заменить всё".
satfan вне форума Ответить с цитированием
Старый 15.02.2022, 09:17   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
with open('plist-old.m3u', 'r') as f:
    lines = f.readlines()

with open('plist-new.m3u', 'w') as f:
    for line in lines:
        if line.startswith('#EXTGRP:'):
            continue
        if line.startswith('#EXTINF:-1'):
            parts = line.split(',')
            f.write('#EXTINF:-1,' + parts[1])
            continue
        f.write(line)
Сработает, если в строчках с EXTINF только одна запятая.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для распознавания музыки и генерации плейлиста Александра_24 Общие вопросы по программированию, компьютерный форум 1 25.10.2019 18:50
Помогите найти адрес плейлиста интернет радио lenivaya10001 Свободное общение 1 02.10.2016 19:02
Отмена очистки экрана T_U_S_U_A Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.01.2012 20:16
Процедура очистки listbox detalik Помощь студентам 1 15.04.2011 17:41
создание плейлиста с проигрывателя Мейрамбек Помощь студентам 2 27.05.2010 09:41