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:

Teilen:

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

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Hardware-nahes 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

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk

 

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython

Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Pico WLAN Edition
Elektronik-Set Pico WLAN Edition

Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT

Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Sensor Edition
Elektronik-Set Sensor Edition

Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition

Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.

Elektronik-Set jetzt bestellen