18. Lektion: Das Filesystem: Difference between revisions
Jump to navigation
Jump to search
| Line 22: | Line 22: | ||
=== Methoden zur Bearbeitung des Filesystems=== | === Methoden zur Bearbeitung des Filesystems=== | ||
Die Funktionen zum Umgang mit dem Filesystem befinden sich im Modul os: | |||
;os.chdir(path) | |||
: wechselt das aktuelle Verzeichnis | |||
;os.getcwd() | |||
: Zeigt das aktuelle Verzeichnis an | |||
;os.ilistdir([dir]) | |||
: Diese Funktion gibt einen Iterator zurück, der dann Tupel liefert, die den Einträgen in dem Verzeichnis entsprechen, das sie auflistet. Ohne Argument listet sie das aktuelle Verzeichnis auf, andernfalls das durch dir angegebene Verzeichnis.<br>Die Tupel haben die Form (Name, Typ, Inode[, Größe]): | |||
* name ist eine Zeichenkette (oder Bytes, wenn dir ein Bytes-Objekt ist) und ist der Name des Eintrags; | |||
* type ist eine ganze Zahl, die den Typ des Eintrags angibt, mit 0x4000 für Verzeichnisse und 0x8000 für normale Dateien; | |||
* inode ist eine ganze Zahl, die dem Inode der Datei entspricht und bei Dateisystemen, die keinen solchen Begriff haben, 0 sein kann.<br>Einige Plattformen können ein 4-Tupel zurückgeben, das die Größe des Eintrags enthält. Bei Dateieinträgen ist size eine Ganzzahl, die die Größe der Datei angibt, oder -1, wenn sie unbekannt ist. <br>Für Verzeichniseinträge ist ihre Bedeutung derzeit nicht definiert. | |||
;os.listdir([dir]) | |||
: Wenn kein Argument angegeben wird, wird das aktuelle Verzeichnis aufgelistet. Andernfalls wird das angegebene Verzeichnis aufgelistet. | |||
;os.mkdir(path) | |||
: erzeugt ein neues Verzeichnis. | |||
;os.remove(path) | |||
: Entfernt eine Datei. | |||
;os.rmdir(path) | |||
: Entfernt ein Verzeichnis. | |||
;os.rename(old_path, new_path) | |||
: Ändert den Namen einer Datei. | |||
Revision as of 20:25, 3 September 2023
30. Lektion: Das Filesystem
Micropython richtet im Flash ein Filesystem ein, auf das genau so zugegriffen werden kann wie auf die Festplatte im PC.
Um auf eine Datei zugreifen zu können muss erst die Funktion open aufgerufen werden. Diese liefert einen Handler (hier f) zurück über den der Zugriff auf die Datei erfolgt:
f = open('Dateiname', 'Zugriftsart')
...
f.close()
Wenn der Zugriff auf eine Datei erfolgt ist muss diese wieder geschlossen werden. Das geschieht mit der Methode .close().
Aus einer Datei lesen
In eine Datei schreiben
Übung:
- Lege eine Datei mit dem Namen 'test_001.txt' an.
- Füge den Text 'Hallo Micropython.' in die Datei ein.
- Lese den Inhalt der Datei aus und zeige ihn an.
- Füge zur Datei weiter den Text 'Schön, dass es Dich gibt!' so hinzu, das er als neue Zeile ausgegeben wird.
- Lese die Datei aus und gebe den Inhalt aus.
Methoden zur Bearbeitung des Filesystems
Die Funktionen zum Umgang mit dem Filesystem befinden sich im Modul os:
- os.chdir(path)
- wechselt das aktuelle Verzeichnis
- os.getcwd()
- Zeigt das aktuelle Verzeichnis an
- os.ilistdir([dir])
- Diese Funktion gibt einen Iterator zurück, der dann Tupel liefert, die den Einträgen in dem Verzeichnis entsprechen, das sie auflistet. Ohne Argument listet sie das aktuelle Verzeichnis auf, andernfalls das durch dir angegebene Verzeichnis.
Die Tupel haben die Form (Name, Typ, Inode[, Größe]):
- name ist eine Zeichenkette (oder Bytes, wenn dir ein Bytes-Objekt ist) und ist der Name des Eintrags;
- type ist eine ganze Zahl, die den Typ des Eintrags angibt, mit 0x4000 für Verzeichnisse und 0x8000 für normale Dateien;
- inode ist eine ganze Zahl, die dem Inode der Datei entspricht und bei Dateisystemen, die keinen solchen Begriff haben, 0 sein kann.
Einige Plattformen können ein 4-Tupel zurückgeben, das die Größe des Eintrags enthält. Bei Dateieinträgen ist size eine Ganzzahl, die die Größe der Datei angibt, oder -1, wenn sie unbekannt ist.
Für Verzeichniseinträge ist ihre Bedeutung derzeit nicht definiert.
- os.listdir([dir])
- Wenn kein Argument angegeben wird, wird das aktuelle Verzeichnis aufgelistet. Andernfalls wird das angegebene Verzeichnis aufgelistet.
- os.mkdir(path)
- erzeugt ein neues Verzeichnis.
- os.remove(path)
- Entfernt eine Datei.
- os.rmdir(path)
- Entfernt ein Verzeichnis.
- os.rename(old_path, new_path)
- Ändert den Namen einer Datei.