18. Lektion: Das FilesystemAus Attraktor WikiVersion vom 3. Oktober 2023, 13:54 Uhr von Kapest (Diskussion | Beiträge) Inhaltsverzeichnis30. Lektion: Das FilesystemMicropython richtet im Flash ein Filesystem ein, auf das genau so zugegriffen werden kann wie auf die Festplatte im PC. f = open('Dateiname', 'Zugriftsart') ... f.close() Wenn der Zugriff auf eine Datei erfolgt ist muss diese wieder geschlossen werden. Das geschieht mit der Methode In eine Datei schreibenWir werden uns zuerst ansehen, wie man eine Datei erzeugt und etwas hinein schreibt.
# leere Datei anlegen f = open('testdatei', 'w') f.close() # eine Datei anlegen und gleich etwas hinein schreiben f = open('testdatei', 'w') f.write('Meine erste Datei im Filesystem') f.close() # Inhalte zu einer bestehenden Datei hinzufügen f = open('testdatei', 'a') f.write('Jetzt steht noch mehr drin!') f.close() Übung:Probiert den oben vorgestellt Code in der REPL selbst aus. Aus einer Datei lesenf = open('testdatei', 'r') text = f.read() f.close() Übung:
Methoden zur Bearbeitung des FilesystemsDie Funktionen zum Umgang mit dem Filesystem befinden sich im Modul
Übung:
Versuche>>> f = open("test_datei_01.txt", 'w') >>> f.write('Erste Zeile\n') 12 >>> f.write('Zweite Zeile\n') 13 >>> f.write('Dritte Zeile\n') 13 >>> f.close() >>> f = open('test_datei_01.txt', 'r') >>> print(f.read()) Erste Zeile Zweite Zeile Dritte Zeile >>> f.close() >>> f = open('test_datei_01.txt', 'r') >>> print(f.readline()) Erste Zeile # Leerzeile entsteht durch \n >>> print(f.readline()) Zweite Zeile >>> print(f.readline()) Dritte Zeile >>> print(f.readline()) >>> print(f.readline()) >>> f.close() >>> f = open('test_datei_01.txt', 'r') >>> print(f.readlines()) ['Erste Zeile\n', 'Zweite Zeile\n', 'Dritte Zeile\n'] >>> Kontextmanagerwith open('testdatei', 'w') as f: f.write('Text') Die .close()-Methode ist hier nicht erforderlich. Das übernimmt with. Variablen in einer Datei speichernEs können nur Texte in einer Datei gespeichert werden. Übung:
Das hat nur bei Textvariablen funktioniert. Es gibt dafür aber eine Lösung: Links zum Filesystem:
JsonJSON (JavaScript Object Notation) ist aufgrund seiner Einfachheit und Kreuzkompatibilität mit mehreren Programmiersprachen ein weit verbreiteter Standard für den Datenaustausch. Aufgrund seiner menschlichen und maschinenlesbaren Natur ist es für viele Entwickler eine ideale Wahl. In Python json bietet das Modul eine benutzerfreundliche Schnittstelle zum Kodieren und Dekodieren von JSON-Daten, sodass Entwickler nahtlos mit JSON-Daten arbeiten können. Das json-Modul in Python bietet verschiedene Methoden und Klassen zum Umgang mit JSON-Daten. Beispielsweise dump serialisiert die Methode Python-Objekte in JSON, während die dumps Methode eine JSON-String-Darstellung eines Python-Objekts zurückgibt. Andererseits load deserialisiert die Methode ein JSON-Objekt in ein Python-Objekt und die loads Methode deserialisiert einen JSON-String in ein Python-Objekt. Abgesehen von diesen Methoden json stellt das Modul mehrere Klassen bereit, mit denen die JSON-Kodierung und -Dekodierung angepasst werden kann. Eine solche Klasse ist die JSON-EncoderKlasse, die benutzerdefinierte Codierungsregeln definieren kann. Eine weitere Möglichkeit ist die JSONDecoderKlasse, die benutzerdefinierte Dekodierungsregeln definieren kann. Alles in allem json bietet das Modul in Python eine leistungsstarke und flexible Möglichkeit, mit JSON-Daten zu arbeiten. Ganz gleich, ob Sie eine Webanwendung erstellen oder mit Daten arbeiten, dieses Modul deckt alles ab, was Sie brauchen. >>> import json >>> dir(json) ['__class__', '__name__', '__dict__', 'dump', 'dumps', 'load', 'loads'] >>> Strings in JSON kodierenDie dumps-MethodeDie dumps-Methode serialisiert Python-Objekte in ein JSON-Objekt, damit die Daten in eine Datei geschrieben werden können. >>> import json >>> x = [1,2,3,4,5] >>> xj = json.dumps(x) >>> xj '[1, 2, 3, 4, 5]' >>> xx = json.loads(xj) >>> xx [1, 2, 3, 4, 5] >>> data = { "name" : "John" , "age" : 30 , "city" : "New York" } with open ( "data.json" , "w" ) as json_file: json.dumps(data, json_file) dumpsMethode Die dumps-Methode serialisiert Python-Objekte in eine JSON-formatierte Zeichenfolge, was praktisch ist, wenn Sie JSON-Daten über ein Netzwerk senden oder in eine Webseite einbetten müssen. import json data = { „name“ : „John“ , „age“ : 30 , „city“ …
Die loads-MethodeDateien in JSON kodierenLinks zu JSON:
HinweiseAustesten: import json file = "github-events.json" data = [] for line in open(file, 'r'): data.append(json.loads(line))
Zurück zu Micropython Kurs 2023 - Teil 1 |