415
14.2
Das Modul os – die Schnittstelle zum Betriebssystem
14.2.3 Dateien und Verzeichnisse anlegen und modifizieren
Wenn ein Skript Dateien erzeugt und abspeichert, sollte es auch ein Verzeichnis für seinen
Datenbestand anlegen. Die Funktion
mkdir() erzeugt ein neues Unterverzeichnis inner-
halb eines bereits vorhandenen Verzeichnisses. Format:
mkdir(path[,mode])
Das erste Argument enthält den Pfad, wobei nur der letzte Teil – der eigentliche Verzeich-
nisname – neu ist. Optional können im zweiten Argument Zugriffsrechte als numerischer
Modus im Unix-Stil vergeben werden (nur unter Windows und Unix). Der Default-Modus
ist
0o777 (oktal), erlaubt also alles. Falls das Verzeichnis bereits existiert, wird eine Aus-
nahme erzeugt (
OSError). Im folgenden Beispiel wird das Verzeichnis /daten2016 im
bereits vorhandenen Verzeichnis
/projekt/daten neu erstellt.
>>> os.access("/projekt/daten/daten.txt", os.W_OK)
False
>>> os.access("/projekt/daten/", os.W_OK and os.R_OK)
True
Modus Erklärung
F_OK
Testen, ob Pfad existiert
R_OK
Testen, ob Leserecht (r) gegeben ist
W_OK
Testen, ob Schreibrecht (w) gegeben ist
X_OK
Testen, ob Recht zum Ausführen (x) gegeben ist
Tabelle 14.5: Mögliche Werte für das zweite Argument der Funktion access()
Funktion Erklärung
mkdir(path[,mode])
Neues Verzeichnis erstellen und Zugriffsrechte festlegen
makedirs(path[,mode])
Neues Verzeichnis mit allen Zwischenverzeichnissen des
Pfades erstellen und Zugriffsrechte festlegen
remove(path)
Die Datei mit dem Pfad path wird gelöscht.
removedirs(path)
Leere Verzeichnisse löschen
rename (old, new)
old
enthält als String den (existierenden) Pfad einer Datei
oder eines Verzeichnisses, diese(s) wird in
new umbenannt.
renames (old, new)
Der gesamte Pfad old mit allen Zwischenverzeichnissen
wird in
new umbenannt.
rmdir(path)
Leeres Verzeichnis path löschen
Tabelle 14.6: Funktionen zur Modifikation von Dateien und Verzeichnissen
>>> os.mkdir('/projekt/daten/daten2016', 0o705)

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.