Python3 OS-Datei-/Verzeichnismethoden
osDas Modul ist ein wichtiges Modul in der Python-Standardbibliothek, das Funktionen für die Interaktion mit dem Betriebssystem bereitstellt.
DurchosMit dem Modul können Sie Aufgaben wie Dateioperationen, Verzeichnisoperationen, Verwaltung von Umgebungsvariablen und Prozessverwaltung ausführen.
osDas Modul ist plattformübergreifend, was bedeutet, dass Sie denselben Code auf verschiedenen Betriebssystemen (wie Windows, Linux, macOS) verwenden können.
Bevor SieosUm das Modul zu verwenden, müssen Sie es zuerst importieren. ImportosDer Code für das Modul lautet wie folgt:
import os
Häufige Funktionen des os-Moduls
1. Aktuelles Arbeitsverzeichnis abrufen
os.getcwd()Die Funktion wird verwendet, um den Pfad des aktuellen Arbeitsverzeichnisses abzurufen. Das aktuelle Arbeitsverzeichnis ist das Verzeichnis, in dem das Python-Skript ausgeführt wird.
Beispiel
print("Aktuelles Arbeitsverzeichnis:", current_directory)
2. Das aktuelle Arbeitsverzeichnis ändern
os.chdir(path)Die Funktion wird verwendet, um das aktuelle Arbeitsverzeichnis zu ändern.pathist der Pfad zu dem Verzeichnis, in das Sie wechseln möchten.
Beispiel
print("Neues Arbeitsverzeichnis:", os.getcwd())
3. Verzeichnisinhalte auflisten
os.listdir(path)Die Funktion wird verwendet, um alle Dateien und Unterverzeichnisse im angegebenen Verzeichnis aufzulisten. Wenn nicht angegebenpathParameter, listet sie standardmäßig den Inhalt des aktuellen Arbeitsverzeichnisses auf.
Beispiel
print("Verzeichnisinhalt:", files_and_dirs)
4. Ein Verzeichnis erstellen
os.mkdir(path)Die Funktion wird verwendet, um ein neues Verzeichnis zu erstellen. Wenn das Verzeichnis bereits existiert, wird sie eine Ausnahme auslösenFileExistsErroreine Ausnahme.
Beispiel
5. Ein Verzeichnis löschen
os.rmdir(path)Die Funktion wird verwendet, um ein leeres Verzeichnis zu löschen. Wenn das Verzeichnis nicht leer ist, wird sie eine Ausnahme auslösenOSErroreine Ausnahme.
Beispiel
6. Eine Datei löschen
os.remove(path)Die Funktion wird verwendet, um eine Datei zu löschen. Wenn die Datei nicht existiert, wird sie eine Ausnahme auslösenFileNotFoundErroreine Ausnahme.
Beispiel
7. Datei oder Verzeichnis umbenennen
os.rename(src, dst)Die Funktion wird verwendet, um eine Datei oder ein Verzeichnis umzubenennen.srcist der ursprüngliche Pfad,dstist der neue Pfad.
Beispiel
8. Eine Umgebungsvariable abrufen
os.getenv(key)Die Funktion wird verwendet, um den Wert der angegebenen Umgebungsvariable abzurufen. Wenn die Umgebungsvariable nicht existiert, gibt sie einen Wert zurückNone。
Beispiel
print("HOME-Verzeichnis:", home_directory)
9. Systembefehle ausführen
os.system(command)Die Funktion wird verwendet, um Befehle in der Shell des Betriebssystems auszuführen. Nachdem der Befehl ausgeführt wurde, gibt sie den Exit-Status des Befehls zurück.
Beispiel
Häufig verwendete Methoden von os
osDas Modul bietet eine sehr reichhaltige Sammlung von Methoden für den Umgang mit Dateien und Verzeichnissen. Die häufig verwendeten Methoden sind in der folgenden Tabelle aufgeführt:
| Nein. | Methode und Beschreibung |
|---|---|
| 1 | Berechtigungsmodus prüfen |
| 2 | Ändert das aktuelle Arbeitsverzeichnis |
| 3 | Setzt die Flags des Pfads auf numerische Flags. |
| 4 | Berechtigungen ändern |
| 5 | Dateieigentümer ändern |
| 6 | Ändert das Wurzelverzeichnis des aktuellen Prozesses |
| 7 | Dateideskriptor fd schließen |
| 8 | os.closerange(fd_low, fd_high) Schließt alle Dateideskriptoren von fd_low (einschließlich) bis fd_high (ausschließlich); Fehler werden ignoriert |
| 9 | Kopiert Dateideskriptor fd |
| 10 | Kopiert einen Dateideskriptor fd auf einen anderen fd2 |
| 11 | Ändert das aktuelle Arbeitsverzeichnis über einen Dateideskriptor |
| 12 | Ändert die Zugriffsberechtigungen einer durch den Parameter fd angegebenen Datei. Der Parameter mode ist die Dateizugriffsberechtigung unter Unix. |
| 13 | Ändert den Besitz einer Datei. Diese Funktion ändert die Benutzer-ID und die Benutzergruppen-ID einer Datei, die durch den Dateideskriptor fd angegeben wird. |
| 14 | Erzwingt, dass die durch den Dateideskriptor fd angegebene Datei auf die Festplatte geschrieben wird, aber die Dateistatusinformationen werden nicht aktualisiert. |
| 15 | os.fdopen(fd[, mode[, bufsize]]) Erstellt ein Dateiobjekt aus dem Dateideskriptor fd und gibt dieses Dateiobjekt zurück |
| 16 | Gibt die Systemkonfigurationsinformationen einer geöffneten Datei zurück. name ist der Wert der abzurufenden Systemkonfiguration. Sie kann eine Zeichenfolge sein, die einen Systemwert definiert. Diese Namen sind in vielen Standards (POSIX.1, Unix 95, Unix 98 und anderen) spezifiziert. |
| 17 | Gibt den Status des Dateideskriptors fd zurück, wie stat(). |
| 18 | Gibt die Dateisysteminformationen der Datei zurück, die den Dateideskriptor fd enthält. In Python 3.3 entspricht es statvfs(). |
| 19 | Erzwingt, dass die Datei mit dem Dateideskriptor fd auf die Festplatte geschrieben wird. |
| 20 | Kürzt die dem Dateideskriptor fd entsprechende Datei, sodass sie die Dateigröße nicht überschreiten kann. |
| 21 | Gibt das aktuelle Arbeitsverzeichnis zurück |
| 22 | Gibt ein Unicode-Objekt des aktuellen Arbeitsverzeichnisses zurück |
| 23 | Wenn der Dateideskriptor fd geöffnet und mit einem tty(-ähnlichen) Gerät verbunden ist, wird true zurückgegeben, andernfalls False. |
| 24 | Setzt die Flags des Pfads auf numerische Flags, ähnlich wie chflags(), aber ohne symbolische Links |
| 25 | Ändert die Berechtigungen der Linkdatei |
| 26 | Ändert den Dateieigentümer, ähnlich wie chown, folgt aber keinen Links. |
| 27 | Erstellt einen harten Link mit dem Namen des Parameters dst, der auf den Parameter src verweist |
| 28 | Gibt eine Liste der Namen von Dateien oder Ordnern zurück, die in dem durch path angegebenen Ordner enthalten sind. |
| 29 | Setzt die aktuelle Position des Dateideskriptors fd auf pos. Die how-Methode modifiziert: SEEK_SET oder 0 setzt pos, berechnet vom Anfang der Datei; SEEK_CUR oder 1 berechnet von der aktuellen Position; os.SEEK_END oder 2 beginnt am Ende der Datei. Gültig unter Unix und Windows. |
| 30 | Wie stat(), aber ohne symbolische Links |
| 31 | Extrahiert die Major-Gerätenummer aus der rohen Gerätenummer (unter Verwendung des Feldes st_dev oder st_rdev in stat). |
| 32 | Setzt eine rohe Gerätenummer aus den Major- und Minor-Gerätenummern zusammen. |
| 33 | Rekursive Funktion zum Erstellen von Ordnern. Wie mkdir(), aber erstellt alle Zwischenordner, die zum Aufnehmen von Unterordnern erforderlich sind. |
| 34 | Extrahiert die Minor-Gerätenummer aus der rohen Gerätenummer (unter Verwendung des Feldes st_dev oder st_rdev in stat). |
| 35 | Erstellt einen Ordner namens path mit einem numerischen Modus. Der Standardmodus ist 0777 (oktal). |
| 36 | Erstellt eine benannte Pipe. mode ist numerisch, Standard ist 0666 (oktal) |
| 37 | os.mknod(filename[, mode=0600, device]) |
| 38 | Öffnet eine Datei und legt die erforderlichen Öffnungsoptionen fest. Der Parameter mode ist optional. |
| 39 | Öffnet ein neues Pseudo-Terminal-Paar. Gibt die Dateideskriptoren von pty und tty zurück. |
| 40 | Gibt die Systemkonfigurationsinformationen der zugehörigen Datei zurück. |
| 41 | Erstellt eine Pipe. Gibt ein Paar Dateideskriptoren (r, w) zum Lesen bzw. Schreiben zurück. |
| 42 | os.popen(command[, mode[, bufsize]]) Eine Pipe von einem Befehl |
| 43 | Liest höchstens n Bytes aus dem Dateideskriptor fd und gibt eine Zeichenkette zurück, die die gelesenen Bytes enthält. Wenn die dem Dateideskriptor fd entsprechende Datei das Ende erreicht hat, wird eine leere Zeichenkette zurückgegeben. |
| 44 | Gibt die Datei zurück, auf die der symbolische Link zeigt |
| 45 | Löscht die Datei, deren Pfad path ist. Wenn path ein Ordner ist, wird OSError ausgelöst; siehe rmdir() unten, um ein Verzeichnis zu löschen. |
| 46 | Löscht Verzeichnisse rekursiv. |
| 47 | Benennt eine Datei oder ein Verzeichnis von src in dst um. |
| 48 | Benennt Verzeichnisse rekursiv um und kann auch Dateien umbenennen. |
| 49 | Löscht das durch path angegebene leere Verzeichnis. Wenn das Verzeichnis nicht leer ist, wird eine OSError-Ausnahme ausgelöst. |
| 50 | Ruft die Informationen des durch path angegebenen Pfads ab. Ihre Funktion entspricht dem Systemaufruf stat() in der C-API. |
| 51 | os.stat_float_times([newvalue]) |
| 52 | Ruft die Dateisystem-Statistikinformationen des angegebenen Pfads ab. |
| 53 | Erstellt einen symbolischen Link |
| 54 | Gibt die Prozessgruppe zurück, die dem Terminal-fd zugeordnet ist (ein von os.open() zurückgegebener offener Dateideskriptor). |
| 55 | Setzt die dem Terminal-fd zugeordnete Prozessgruppe (ein von os.open() zurückgegebener offener Dateideskriptor) auf pg. |
| 56 | os.tempnam([dir[, prefix]]) In Python3 entfernt.Gibt einen eindeutigen Pfadnamen zum Erstellen einer temporären Datei zurück. |
| 57 | os.tmpfile() In Python3 entfernt.Gibt ein im Modus (w+b) geöffnetes Dateiobjekt zurück. Dieses Dateiobjekt hat keinen Verzeichniseintrag, keinen Dateideskriptor und wird automatisch gelöscht. |
| 58 | os.tmpnam() In Python3 entfernt.Gibt einen eindeutigen Pfad zum Erstellen einer temporären Datei zurück. |
| 59 | Gibt eine Zeichenkette zurück, die das dem Dateideskriptor fd zugeordnete Terminalgerät darstellt. Wenn fd keinem Terminalgerät zugeordnet ist, wird eine Ausnahme ausgelöst. |
| 60 | Löscht den Dateipfad. |
| 61 | Gibt die Zugriffs- und Änderungszeiten der Datei am angegebenen Pfad zurück. |
| 62 | os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) Gibt Dateinamen in einem Verzeichnis aus, indem der Baum auf- oder abwärts durchlaufen wird. |
| 63 | Schreibt eine Zeichenkette in den Dateideskriptor fd. Gibt die tatsächliche Länge der geschriebenen Zeichenkette zurück. |
| 64 | Dateiattributinformationen abrufen. |
| 65 | Ruft das übergeordnete Verzeichnis des aktuellen Verzeichnisses ab und zeigt den Verzeichnisnamen als Zeichenkette an. |
| 66 | Benennt eine Datei oder ein Verzeichnis um. |
| 67 | Wird verwendet, um eine Datei oder einen Ordner unter Windows zu öffnen. |