So erhalten Sie das aktuelle Arbeitsverzeichnis in Python

So erhalten Sie das aktuelle Arbeitsverzeichnis in Python

Der Datei- oder Ordnername kann mit dem vollständigen Pfad verwendet werden oder nur der Datei- oder Ordnername erwähnt, um sie im Skript zu verwenden. Der vollständige Pfad einer Datei oder eines Ordners aus dem Stammverzeichnis wird durch absolute Pfad angegeben. Wenn der Dateiname ohne den Pfadnamen im Skript verwendet wird, wird das aktuelle Arbeitsverzeichnis als Pfadname der Datei angenommen und als relativer Pfad bezeichnet. In Python wird das aktuelle Arbeitsverzeichnis auf den Verzeichnisort gesetzt, von dem aus dem Python -Skript ausgeführt wird. In Python gibt es viele Module, um das aktuelle Arbeitsverzeichnis zu erhalten. Die Möglichkeiten zum Abrufen des aktuellen Arbeitsverzeichnisses durch die Verwendung verschiedener Module in Python haben in diesem Tutorial gezeigt.

Beispiel 1: Verwenden Sie das Pathlib-Modul, um das aktuelle Arbeitsverzeichnis zu erhalten

Die Pfadklasse der Pathlib -Modul wird verwendet, um das aktuelle Arbeitsverzeichnis des ausführenden Skripts zu lesen. Erstellen Sie ein Python -Skript mit dem folgenden Code zum Lesen und Drucken des aktuellen Arbeitsverzeichnisses mit dem Pathlib -Modul. Der CWD () Methode der Pfadklasse wird verwendet, um das aktuelle Arbeitsverzeichnis aus der Ausführung des Skripts zu drucken.

# Importieren Sie den Pfad aus dem Pathlib -Modul
vom Pathlib -Importpfad
# Rufen Sie den Pfad des aktuellen Arbeitsverzeichnisses ab
current_working_directory = path.CWD ()
# Drucken Sie den Standort des aktuellen Arbeitsverzeichnisses
print ("Der Standort des aktuellen Arbeitsverzeichnisses ist:")
print (current_working_directory)

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier wurde der Pfad des aktuellen Arbeitsverzeichnisses ohne den Skriptnamen in der Ausgabe gezeigt.

Beispiel-2: Verwenden von NormPath () und Abspath (), um das aktuelle Arbeitsverzeichnis zu erhalten

Die Verwendung des Betriebssystemmoduls ist eine weitere Möglichkeit, das aktuelle Arbeitsverzeichnis abzurufen. In der Pfadklasse des Betriebssystemmoduls gibt es verschiedene Methoden, um das aktuelle Arbeitsverzeichnis abzurufen. Der NormPath () und Abspath () Methoden sind die beiden. Diese Methoden geben das aktuelle Arbeitsverzeichnis als Zeichenfolge zurück. Erstellen Sie eine Python -Datei mit dem folgenden Skript, um die Zwecke dieser Funktionen zu überprüfen.

# Betriebssystemmodul importieren
OS importieren
# Drucken Sie das aktuelle Arbeitsverzeichnis mithilfe von NormPath () -Funktion
print ("Das aktuelle Arbeitsverzeichnis (mit NormPath ()) ist:")
Druck (Betriebssystem.Weg.Dirname (Betriebssystem.Weg.NormPath (__ Datei__)))
# Drucken Sie das aktuelle funktionierende Verzeichnis mit Abspath () -Funktion
print ("\ nDie aktuelles Arbeitsverzeichnis (mit Abspat ()) ist:")
Druck (Betriebssystem.Weg.Abspath ('.'))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier wurde der Pfad des aktuellen Arbeitsverzeichnisses ohne den Skriptnamen in der Ausgabe gezeigt.

Beispiel-3: Verwenden Sie RealPath (), um das aktuelle Arbeitsverzeichnis zu erhalten

Der RealPath () ist eine andere Methode, um das aktuelle Arbeitsverzeichnis abzurufen. Erstellen Sie eine Python -Datei mit dem folgenden Skript, um das aktuelle Arbeitsverzeichnis mit dem Skriptnamen mit dem zu drucken RealPath () Methode. Im Skript nimmt es das __Datei__ als Argumentwert, der den Pfadnamen der Datei enthält, in dem das Betriebssystemmodul importiert wird.

# Betriebssystemmodul importieren
OS importieren
# Lesen Sie das aktuelle Arbeitsverzeichnis mithilfe der RealPath () -Funktion
real_path = os.Weg.RealPath (__ Datei__)
# Drucken Sie das aktuelle Arbeitsverzeichnis mit dem Skriptnamen
print ("\ nDie aktuelles Arbeitsverzeichnis mit dem Skriptnamen ist:")
print (real_path)

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier wurde der Pfad des aktuellen Arbeitsverzeichnisses mit dem Skriptnamen in der Ausgabe gezeigt.

Beispiel-4: Verwenden Sie GetCWD (), um das aktuelle Arbeitsverzeichnis zu erhalten

Verwendung der GetCWD () -Funktion des Betriebssystemmoduls ist die einfachste Möglichkeit, das aktuelle Arbeitsverzeichnis des ausführenden Skripts abzurufen. Es enthält kein Argument und gibt den CWD als Zeichenfolge zurück. Erstellen Sie eine Python -Datei mit dem folgenden Skript, um die Verwendung des GetCWD () -Funktion. Das aktuelle Arbeitsverzeichnis wird zu Beginn des Skripts gedruckt. Als nächstes wird der aktuelle Verzeichnispfad durch die Verwendung des chdir () Funktion. Der GetCwd () -Befehl wird erneut aufgerufen, nachdem das Verzeichnis geändert wurde.

# Betriebssystemmodul importieren
OS importieren
# Drucken Sie das aktuelle Arbeitsverzeichnis mit GetCWD () -Funktion
print ("Das aktuelle Arbeitsverzeichnis ist: \ n", OS.getCwd ())
# Ändern Sie das aktuelle Arbeitsverzeichnis
Betriebssystem.chdir ('/etc/mail')
# Drucken Sie das aktuelle Arbeitsverzeichnis nach der Änderung
print ("\ nDie aktuelles Arbeitsverzeichnis nach der Änderung ist: \ n", OS.getCwd ())

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier wurde der aktuelle Arbeitsverzeichnispfad ohne Skriptnamen gedruckt, bevor das Verzeichnis geändert wurde. Als nächstes wurde der geänderte Verzeichnispfad gedruckt.

Beispiel-5: Verwenden Sie GetCwd () mit Versuch, um das aktuelle Arbeitsverzeichnis zu erhalten

Erstellen Sie eine Python -Datei mit dem folgenden Skript, um das aktuelle Arbeitsverzeichnis basierend auf dem Eingabewert zu ändern und verschiedene Arten von Fehlern zu verarbeiten. Drei Arten von Fehlern können durch Ausführen des Skripts behandelt werden. Der FilenotFoundError -Fehler wird erzeugt, wenn der von der Eingabe eingezogene Pfad nicht existiert. Der NOTAD INDIRECTORYError -Fehler wird erzeugt, wenn der vom Eingang eingezogene Pfad kein Verzeichnis ist. Der Erlaubniserrorfehler wird generiert, wenn der vom Eingang eingeführte Pfad nicht zugänglich ist.

# Das Betriebssystemmodul importieren
OS importieren
# Geben Sie den Pfad des Verzeichnisses ein
CWD = Eingabe ("Geben Sie den Pfad des aktuellen Arbeitsverzeichnisses ein: \ n")
versuchen:
# Ändern Sie das aktuelle Arbeitsverzeichnis
Betriebssystem.Chdir (CWD)
# Drucken Sie das aktuelle Arbeitsverzeichnis mit GetCWD () -Funktion
print ("Das aktuelle Arbeitsverzeichnis ist: \ n", OS.getCwd ())
# Erhöhen Sie Fehler, wenn das Verzeichnis nicht vorhanden ist
Außer FilenotFoundError:
drucken ("Verzeichnis existiert nicht."))
# Fehler erhöhen, wenn der Eingabepfad kein Verzeichnis ist
Außer notadirectoryError:
Print (" %S ist kein Verzeichnis" %(CWD))
# Fehler erhöhen, wenn das Verzeichnis nicht zugänglich ist
Außer ErlaubnisError:
drucken ("Erlaubnis, das Verzeichnis zu ändern."))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn der Pfad existiert. Hier existiert der aufgenommene Eingangspfad, und das veränderte Arbeitsverzeichnis hat in der Ausgabe gedruckt.


Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn der Pfad nicht vorhanden ist.


Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn der Übernahmepfad nicht zugänglich ist.

Abschluss:

Die Verwendung von Pathlib- und OS -Modulen zum Lesen des aktuellen Arbeitsverzeichnisses wird in diesem Tutorial unter Verwendung verschiedener Beispiele angezeigt. Die Möglichkeit, das aktuelle Arbeitsverzeichnis nach der Änderung des aktuellen Arbeitsverzeichnisses basierend auf den Benutzereingaben abzurufen, wurde auch in diesem Tutorial gezeigt.