Форум сайта python.su
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:56374/vmirezhivotnix/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
#EXTINF:-1 tvg-id=“2627” tvg-name=“Диалоги о рыбалке” group-title=“Познавательные” tvg-logo="https://dvb.by/sources/logos/3294.png",Диалоги о рыбалке
#EXTGRP:Познавательные
http://bigteisti2.lifeyosso.fun:56374/dialogi/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
#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:56374/OCEANTV/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
—————————-
Нужен простой скрипт для удаления ненужного из этого плейлиста.
Должно в итоге получится так:
#EXTINF:-1,В мире животных HD
http://bigteisti2.lifeyosso.fun:56374/vmirezhivotnix/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
#EXTINF:-1,Диалоги о рыбалке
http://bigteisti2.lifeyosso.fun:56374/dialogi/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
#EXTINF:-1,Ocean TV
http://bigteisti2.lifeyosso.fun:56374/OCEANTV/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
—————————-
Что мы должны сделать:
1. В строке: #EXTINF:-1, ….. удалить всё до запятой за которой идёт название канала.
2. Удалить полностью строки: #EXTGRP: Здесь могут меняться названия групп (#EXTGRP:Познавательные #EXTGRP:Новостные и т.д)
—————————-
Я ранее очищал Notepad++ так, не всегда срабатывает:
Открыть регулярные выражения.
В том же Notepad++ например, есть “Поиск” –> “Замена”, поставить галочку “Регулярные выражения” и ввести в строку поиска например:
Найти: #EXTINF:-1
Офлайн
import re txt = """ #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:56374/vmirezhivotnix/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu #EXTINF:-1 tvg-id=“2627” tvg-name=“Диалоги о рыбалке” group-title=“Познавательные” tvg-logo="https://dvb.by/sources/logos/3294.png",Диалоги о рыбалке #EXTGRP:Познавательные http://bigteisti2.lifeyosso.fun:56374/dialogi/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu #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:56374/OCEANTV/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu """ txt = re.sub(r"( tvg-id.*).(\,)", ',', txt) txt = re.sub(r"(#EXTGRP.*).(\n)", '', txt) print(txt)
#EXTINF:-1,В мире животных HD http://bigteisti2.lifeyosso.fun:56374/vmirezhivotnix/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu #EXTINF:-1,Диалоги о рыбалке http://bigteisti2.lifeyosso.fun:56374/dialogi/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu #EXTINF:-1,Ocean TV http://bigteisti2.lifeyosso.fun:56374/OCEANTV/video.m3u8?token=SXZhbnx8TXpRMVpYSjBaR1pu
Отредактировано AD0DE412 (Фев. 13, 2022 12:10:03)
Офлайн
Спасибо AD0DE412.
Есть такой скрипт:
# -*- coding: utf-8 -* import requests import os from os import listdir from os.path import isfile, join import re # создаем папку playlists если ее нет if not os.path.isdir('playlists'): os.mkdir('playlists') main() # получаем список файлов плейлистов из папки playlists playlists = [f for f in listdir('playlists') if isfile(join('playlists', f))]
Офлайн
что в playlists у вас
покажите
Отредактировано AD0DE412 (Фев. 13, 2022 15:58:39)
Офлайн
Спасибо AD0DE412
В папке playlists может быть много любых плейлистов .m3u
Прикреплённый файлы:
UPITERR.m3u (88,8 KБ)
Офлайн
нет я про перменую
Офлайн
Извините не понял вопрос – нет я про перменую
Офлайн
ок предпологаю что в playlists у вас список путей к файлам m3u
# -*- coding: utf-8 -* import requests import os from os import listdir from os.path import isfile, join import re # создаем папку playlists если ее нет if not os.path.isdir('playlists'): os.mkdir('playlists') main() # получаем список файлов плейлистов из папки playlists playlists = [f for f in listdir('playlists') if isfile(join('playlists', f))] for i in playlists: with open(f'playlists/{i}') as file_in: txt = file_in.read() txt = re.sub(r"( tvg-id.*).(\,)", ',', txt) txt = re.sub(r"(#EXTGRP.*).(\n)", '', txt) with open(f'out_{i}', 'w') as file_out: file_out.write(txt)
Отредактировано AD0DE412 (Фев. 13, 2022 19:43:27)
Офлайн
Спасибо
Выдаёт ошибку:
Traceback (most recent call last):
File “C:\Users\Пк\Desktop\cleaning_plist\2.py”, line 15, in <module>
with open(i) as file_in:
FileNotFoundError: No such file or directory: ‘UPITERR.m3u’
—————–
В папке playlists у меня лежит только этот один файл: UPITERR.m3u
Офлайн
пшет мол нет такого пути попробуйте исправленное (так то делаю все вслепую)
Отредактировано AD0DE412 (Фев. 13, 2022 19:45:04)
Офлайн