bin neu hier im Forum und auch Python ist für mich neu. Ich möchte aber gern lernen.
Ich möchte ein kleines Programm schreiben, dass mir meine IPTV Playlist sortiert. Die IPTV Playlist soll später in Enigma2 Receiver eingefügt werden. Allerdings sind die Dateien UTF-8 codiert und da entsteht mein erstes Problem.
Kurz über mein Vorhaben:
Es gibt eine Datei namens "SenderListe.txt" .Diese Datei ist mit UTF-8 gespeichert. Da stehen Namen der Sender und dazugehörige Kanal-Referenz zum Sender und sind mit ";" getrennt..
Da die Playlist für Russische IPTV ist, stehen da Kyrillische Zeichen/Namen drin.
SenderListe.txt:
Code: Alles auswählen
Развлекательные-----;1:64:2:0:0:0:0:0:0:0::
ТНТ;4097:0:1:10:521:D:80130000:0:0:0:
ТНТ4;4097:0:1:60:521:D:80420000:0:0:0:
СТС;4097:0:1:C:521:D:800E0000:0:0:0:
Alledings habe ich schon jetzt Problemme beim Auslesen. Und Zwar ganz am Anfang der ersten Zeile steht : "\ufeff" drin.
und am Ende: "\r\n"
siehe hier:
Code: Alles auswählen
>>>
============ RESTART: D:\=PYTHON=\Playlist\iptv\playlist_sort.py ============
('\ufeffРазвлекательные-----', '1:64:2:0:0:0:0:0:0:0::\r\n')
('ТНТ', '4097:0:1:10:521:D:80130000:0:0:0:\r\n')
('ТНТ4', '4097:0:1:60:521:D:80420000:0:0:0:\r\n')
('СТС', '4097:0:1:C:521:D:800E0000:0:0:0:')
>>>
Was muss ich machen um später auf jeweilige Daten zuzugreifen Bsp. sender_liste.name bzw. sender_liste.referenz
hier ist mein Code, aber nicht lachen, wie gesagt das sind meine erste Erfahrungen mit Python/Programmierung.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys
import os.path
import codecs
'''-----------------------------CLASSEN--------------------------'''
class Playlist:
def __init__(self):
self.filename='SenderListe.txt'
self.sender_liste={}
def Liste_ins_Speicher(self):
if os.path.exists(self.filename):
datei=codecs.open(self.filename, "r", 'utf-8')
#datei_inhalt=datei.read()
#print(datei_inhalt)
#datei_inhalt=codecs.datei_inhalt.decode('utf-8')
for zeile in datei:
try:
if not zeile:
break
else:
#zeile=zeile.rstrip()
parts=zeile.split(';')
name=parts[0]
referenz=parts[1]
self.sender_liste.update({name:referenz})
except IndexError:
continue
datei.close()
def Ausgeben(self):
for i in self.sender_liste.items():
print(i)
'''-----------------------------CODE--------------------------'''
playlist=Playlist()
playlist.Liste_ins_Speicher()
playlist.Ausgeben()
Vielen Dank im Voraus.