MicroPython: Dateien speichern, lesen und löschen

MicroPython enthält Funktionen, um Daten speichern, lesen, und löschen zu können. Auf einem Raspberry Pi Pico kann man dann wie überall mit Dateien arbeiten und Daten speichern und lesen.
Der Raspberry Pi Pico hat dazu einen Flash-Speicher in dem man nicht nur Programme und Bibliotheken, sondern auch Benutzer-definierte Dateien speichern und verwalten kann.

Folgende Dateioperationen wollen wir durchführen:

  • Dateien im aktuellen Verzeichnis anzeigen lassen
  • Datei erstellen und schreiben (Daten speichern)
  • Datei lesen (Daten laden)
  • Datei prüfen
  • Datei löschen
  • Datei laden mit IMPORT

Dateien im aktuellen Verzeichnis anzeigen lassen

Die Ausgabe der Dateien im gewählten Verzeichnis erfolgt als Liste.

import os

filelist = os.listdir('/')
print(filelist)

Datei erstellen und schreiben

Das Erstellen oder Schreiben einer Datei ist eigentlich die selbe Funktion. Wie genau die Datei beim Schreiben behandelt wird, wird durch einen zweiten Parameter definiert. Wichtig ist, wenn die Datei nicht vorhanden ist, dann wird sie bei den Parametern „a“ und „w“ neu erstellt. Ist die Datei schon vorhanden, dann unterscheiden sich die beiden Parameter in ihrer Funktion. Bei „a“ werden die Daten einfach am Ende der Datei angehängt. Bei „w“ wird der Inhalt der Datei einfach überschrieben.

import os

file = open('testfile.txt', 'a')
file.write('1' + "\n")
file.close()

Hinweis: Du kannst den Programmcode auch mehrmals hintereinander ausführen. Es wird jeweils eine „1“ mit einem Zeilenumbruch in die Datei geschrieben.

Datei lesen

Die oben erstellte und von Dir mehrmals geschriebene Datei kannst Du hiermit lesen und Dir den Inhalt anzeigen lassen.

import os

file = open('testfile.txt', 'r')
print(file.read())
file.close()

Datei prüfen

Gegebenenfalls möchte man nur prüfen, ob eine bestimmte Datei überhaupt existiert bzw. vorhanden ist. Also ohne sie zu lesen oder zu beschreiben.

import os

if 'testfile.txt' in os.listdir():
    print ('Die Datei existiert')
else:
    print('Die Datei existiert NICHT')

Datei löschen

Eine Datei die nicht mehr gebraucht wird, kann auch gelöscht werden.

import os

os.remove('testfile.txt')

Hinweis: Wenn die Datei auf diese Weise gelöscht wird, dann verschwindet sie aus dem Dateisystem. Das bedeutet, dass die Datei und die Daten weg sind. Mit Bordmitteln wird man diese Datei nicht wiederherstellen können.

Datei laden mit IMPORT

Zum Schluss noch ein Schmankerl. Etwas für ganz Ausgefuchste. Denn in Dateien speichert man vielleicht nicht einfach nur Daten, sondern Konfigurationen oder Einstellungen, die man bei einem Neustart nicht wieder erneut eingeben oder einstellen will. Und diese Einstellungen braucht man dann natürlich als Inhalt einer Variable.

Mit dem Kommando „import“ wird die Datei nicht einfach nur gelesen, sondern deren Inhalt als Programmcode eingelesen. Diese Datei kann auch dynamisch geändert werden, so das sie bei einem Neustart aktuelle Werte enthält.

try:
    import config
    print('Datei wurde erfolgreich importiert')
    a = config.ab[0]
    b = config.ab[1]
except:
    print('Datei existiert noch nicht und muss erstellt werden')
    a = 'aaaaa'
    b = 'bbbbb'
    file = open('config.py', 'w')
    file.write('ab = ["' + a + '", "' + b + '"]')
    file.close()

print()
print(a)
print(b)

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren