Liebe Python-Fachleute,
ich bin absoluter Anfänger (und als alter Radio- Fernsehtechniker eher der analogen Welt zugewant) und beschäftige mich seit einiger Zeit mit Python.
Mein Problem:
Ich möchte aus einer Datei mit z. B. folgendem Inhalt:
123
+ABC
D0465C
D0467A
die Zeilen mit D0... auslesen und untereinander in eine neue Datei schreiben.
Ich habe bereits gefunden, wie ich mit open, read, read, write Daten aus der alten in die neue Datei schreiben kann.
Was mir nicht gelingt, ist das selektieren der Daten. Dann fehlt mir noch die Methode zur Umwandlung von hex in bin.
Wahrscheinlich für euch alte Hasen kein Problem, ich wäre für einen Tipp dankbar.
Danke schon mal im Voraus.
Zeilen aus TXT-Datei selektieren
Hallo,
wenn du die Datei zeilenweise ausliest (du kannst einfach über ein File-Object iterieren - dazu gibt es viele Beispiele hier im Forum), kannst du jede Zeile mit der Methode .startswith("D0") darauf überprüfen, ob sie mit der genannten Zeichenkette beginnt.
Umwandeln von Hex geht mit der Funktion int:
Besten Gruß,
brb
wenn du die Datei zeilenweise ausliest (du kannst einfach über ein File-Object iterieren - dazu gibt es viele Beispiele hier im Forum), kannst du jede Zeile mit der Methode .startswith("D0") darauf überprüfen, ob sie mit der genannten Zeichenkette beginnt.
Umwandeln von Hex geht mit der Funktion int:
Code: Alles auswählen
>>> int("D0467A", 16)
13649530
brb
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Code: Alles auswählen
from contextlib import nested
with nested(open("in", "r"), open("out", "w")) as (fin, fout):
fout.writeall(("{0:b}".format(int(line[:-1], 16)) for line in fin if line.startswith("D0")))
P.S: Willkommen im Forum
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte