Задача - нужен скрипт Python:
В плейлисте m3u удалить дубли каналов.
-------------------------------------
1. Указать путь к файлу плейлиста m3u
2. Найти дубли ссылок на каналы
3. Удалить дубли:
Начинающиеся с этого: #EXTINF:
Заканчивается концом найденой ссылки дубля
4. Оставить только по одной - все дубли удалить.
5. Кодировка: UTF-8
------------------------------
Этот скрипт не работает как надо . Сылки удаляет правильно, а строка с названием канала остаётся.:
Должен удалить так это всё:
#EXTINF:-1 ,Арсенал HD
#EXTINF:-1 ,НТВ
__________
А это осталось неправильно:
#EXTINF:-1 ,Арсенал HD
#EXTINF:-1 ,НТВ
В плейлисте m3u удалить дубли каналов.
-------------------------------------
1. Указать путь к файлу плейлиста m3u
2. Найти дубли ссылок на каналы
3. Удалить дубли:
Начинающиеся с этого: #EXTINF:
Заканчивается концом найденой ссылки дубля
4. Оставить только по одной - все дубли удалить.
5. Кодировка: UTF-8
------------------------------
Этот скрипт не работает как надо . Сылки удаляет правильно, а строка с названием канала остаётся.:
Python:
def remove_duplicate_links(input_file_path, output_file_path):
with open(input_file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
unique_links = []
seen_links = set()
index = 0
while index < len(lines):
if lines[index].startswith("#EXTINF:-1"):
unique_links.append(lines[index])
index += 1
while index < len(lines) and not lines[index].startswith("#EXTINF:-1"):
if lines[index].strip() not in seen_links:
unique_links.append(lines[index])
seen_links.add(lines[index].strip())
index += 1
else:
unique_links.append(lines[index])
index += 1
with open(output_file_path, 'w', encoding='utf-8') as file:
file.writelines(unique_links)
input_file = input("Введите путь к исходному файлу плейлиста m3u: ")
output_file = input("Введите путь для сохранения обработанного файла: ")
remove_duplicate_links(input_file, output_file)
print("Дубликаты ссылок удалены. Результат сохранен по указанному пути.")
#EXTINF:-1 ,Арсенал HD
Ссылка скрыта от гостей
#EXTINF:-1 ,НТВ
Ссылка скрыта от гостей
__________
А это осталось неправильно:
#EXTINF:-1 ,Арсенал HD
#EXTINF:-1 ,НТВ