Eine txt datei zeilenweise einlesen und vergleichen
@Sirius3: Habe nochmal in die Doku geschaut und groupby scheint tatsächlich nichts zu cachen, sowie bei dieser Anwendung dem Dekorator ziemlich zu ähneln; der gefällt mir dennoch gut und manchmal kann es eben doch NIH sein ...
-
- User
- Beiträge: 11
- Registriert: Donnerstag 4. Januar 2018, 14:38
snafu hat geschrieben:Das ist schon klar. Aber Funktionen und ihr Sinn, welcher sich normalerweise aus ihrem Namen ergibt, sind dir doch wohl bekannt.python-fan hat geschrieben:Wenn man in einer anderen Programmiersprache programmiert und eine anderen Syntax gewohnt ist, kann man auch gewisse Sachen übersehen oder man braucht etwas, um es zu verstehen.
Wenn du an bestimmten Stellen nicht weiterkommst, dann frag ruhig. Die groupby()-Doku hatte ich ja bereits verlinkt. Kannst bei Bedarf aber gerne eine Erklärung dazu auf Deutsch haben. Das tuple-map-Konstrukt, welches ich zum Parsen des Wertes nachträglich editiert hatte, könnte auch nicht jedem geläufig sein...
Code: Alles auswählen
if msg_type == 'I':
start = line.index('from') + 5
stop = line.index('-', start)
sensor_id = line[start:stop]
if msg_type == 'A':
start = line.index('"') + 1
stop = line.index('"', start)
raw = line[start:stop]
parts = raw.split(',')
value = tuple(map(int, parts))
Vielen Dank auch an alle anderen, ich lerne viel neues dazu hier.
@python-fan: deshalb mag ich die Lösung mit »index« nicht, weil sie völlig unverständlich ist. Das erste Index sucht das Wörtchen 'from', also die Position des ›f‹, da muß man noch die 4 Zeichen und das Leerzeichen, also 5 weiter um an der Position der ›6‹ zu landen.