So erhalten Sie das aktuelle Arbeitsverzeichnis in Python

How Get Current Working Directory Python



Der Datei- oder Ordnername kann mit dem vollständigen Pfad verwendet werden oder nur den Datei- oder Ordnernamen erwähnen, um ihn im Skript zu verwenden. Der vollständige Pfad einer Datei oder eines Ordners aus dem Stammverzeichnis wird durch den absoluten 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 Verzeichnisspeicherort festgelegt, von dem aus das 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 mithilfe verschiedener Module in Python wurden in diesem Tutorial gezeigt.

Beispiel-1: Verwenden des pathlib-Moduls zum Abrufen des aktuellen Arbeitsverzeichnisses

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, um das aktuelle Arbeitsverzeichnis mit dem pathlib-Modul zu lesen und zu drucken. Die cwd()-Methode der Path-Klasse wird verwendet, um das aktuelle Arbeitsverzeichnis zu drucken, von dem aus das Skript ausgeführt wird.







# Importieren Sie den Pfad aus dem pathlib-Modul

vonPfadlibimportierenWeg

# Rufen Sie den Pfad des aktuellen Arbeitsverzeichnisses ab

current_working_directory=Weg.cwd()

# Drucken Sie den Speicherort des aktuellen Arbeitsverzeichnisses

drucken('Der Speicherort des aktuellen Arbeitsverzeichnisses ist:')

drucken(current_working_directory)

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier wurde in der Ausgabe der Pfad des aktuellen Arbeitsverzeichnisses ohne den Skriptnamen angezeigt.





Beispiel-2: Verwenden von normpath() und abspath() zum Abrufen des aktuellen Arbeitsverzeichnisses

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





# OS-Modul importieren

importieren Sie

# Das aktuelle Arbeitsverzeichnis mit der Funktion normpath() ausgeben

drucken('Das aktuelle Arbeitsverzeichnis (mit normpath()) ist:')

drucken(Sie.Weg.dirname(Sie.Weg.normpath(__Datei__)))

# Druckt das aktuelle Arbeitsverzeichnis mit der Funktion abspath()

drucken(' Das aktuelle Arbeitsverzeichnis (mit abspath()) ist:')

drucken(Sie.Weg.abspath('.'))

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier wurde in der Ausgabe der Pfad des aktuellen Arbeitsverzeichnisses ohne den Skriptnamen angezeigt.



Beispiel-3: Verwenden von realpath() zum Abrufen des aktuellen Arbeitsverzeichnisses

Die realpath() ist eine weitere Methode, um das aktuelle Arbeitsverzeichnis abzurufen. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um das aktuelle Arbeitsverzeichnis mit dem Skriptnamen zu drucken, indem Sie das realpath()-Methode . Im Skript dauert es die __Datei__ als Argumentwert, der den Pfadnamen der Datei enthält, in die das os-Modul importiert wird.

# OS-Modul importieren

importieren Sie

# Lies das aktuelle Arbeitsverzeichnis mit der Funktion realpath()

realer_pfad= Sie.Weg.realpath(__Datei__)

# Druckt das aktuelle Arbeitsverzeichnis mit dem Skriptnamen

drucken(' Das aktuelle Arbeitsverzeichnis mit dem Skriptnamen ist:')

drucken(realer_pfad)

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier wurde in der Ausgabe der Pfad des aktuellen Arbeitsverzeichnisses mit dem Skriptnamen angezeigt.

Beispiel-4: Verwenden von getcwd() zum Abrufen des aktuellen Arbeitsverzeichnisses

Verwendung der getcwd()-Funktion des os-Moduls ist die einfachste Möglichkeit, das aktuelle Arbeitsverzeichnis des ausgeführten Skripts abzurufen. Es enthält kein Argument und gibt das CWD als String zurück. Erstellen Sie eine Python-Datei mit dem folgenden Skript, um die Verwendung des getcwd()-Funktion . Das aktuelle Arbeitsverzeichnis wird am Anfang des Skripts ausgegeben. Als nächstes wird der aktuelle Verzeichnispfad geändert, indem die chdir()-Funktion . Die getcwd()-Befehl wird nach einem Verzeichniswechsel wieder aufgerufen.

# OS-Modul importieren

importieren Sie

# Druckt das aktuelle Arbeitsverzeichnis mit der Funktion getcwd()

drucken('Das aktuelle Arbeitsverzeichnis ist: ', Sie.getcwd())

# Ändere das aktuelle Arbeitsverzeichnis

Sie.chdir('/etc/mail')

# Aktuelles Arbeitsverzeichnis nach Änderung drucken

drucken(' Das aktuelle Arbeitsverzeichnis nach der Änderung lautet: ', Sie.getcwd())

Ausgabe:

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Hier wurde vor dem Wechsel des Verzeichnisses der aktuelle Arbeitsverzeichnispfad ohne den Skriptnamen ausgegeben. Als nächstes wurde der geänderte Verzeichnispfad gedruckt.

Beispiel-5: Verwenden von getcwd() mit try-außer zum Abrufen des aktuellen Arbeitsverzeichnisses

Erstellen Sie mit dem folgenden Skript eine Python-Datei, um das aktuelle Arbeitsverzeichnis basierend auf dem Eingabewert zu ändern und verschiedene Arten von Fehlern zu behandeln. Drei Arten von Fehlern können durch Ausführen des Skripts behandelt werden. Die FileNotFoundError-Fehler wird generiert, wenn der aus der Eingabe entnommene Pfad nicht existiert. Die NotADirectoryError-Fehler wird generiert, wenn der aus der Eingabe entnommene Pfad kein Verzeichnis ist. Die PermissionError-Fehler wird generiert, wenn der aus der Eingabe entnommene Pfad nicht zugänglich ist.

# Importieren Sie das OS-Modul

importieren Sie

# Geben Sie den Pfad des Verzeichnisses ein

cwd= Eingang('Geben Sie den Pfad des aktuellen Arbeitsverzeichnisses ein: ')


Versuchen:

# Ändere das aktuelle Arbeitsverzeichnis

Sie.chdir(cwd)

# Druckt das aktuelle Arbeitsverzeichnis mit der Funktion getcwd()

drucken('Das aktuelle Arbeitsverzeichnis ist: ', Sie.getcwd())

# Fehler auslösen, wenn das Verzeichnis nicht existiert

außerFileNotFoundError:

drucken('Verzeichnis existiert nicht.')

# Fehler auslösen, wenn der Eingabepfad kein Verzeichnis ist

außerNotADirectoryError:

drucken('%s ist kein Verzeichnis'%(cwd))

# Fehler auslösen, wenn das Verzeichnis nicht zugänglich ist

außerBerechtigungsfehler:

drucken('Berechtigung zum Ändern des Verzeichnisses verweigert.')

Ausgabe:

Die folgende Ausgabe erscheint nach der Ausführung des obigen Skripts, wenn der Pfad existiert. Hier ist der übernommene Eingabepfad vorhanden und das geänderte Arbeitsverzeichnis wurde in der Ausgabe gedruckt.


Die folgende Ausgabe erscheint nach der Ausführung des obigen Skripts, wenn der Pfad nicht existiert.


Die folgende Ausgabe erscheint nach der Ausführung des obigen Skripts, wenn der eingenommene Pfad nicht zugänglich ist.

Abschluss:

Die Verwendung von pathlib- und os-Modulen zum Lesen des aktuellen Arbeitsverzeichnisses wird in diesem Tutorial anhand verschiedener Beispiele gezeigt. In diesem Tutorial wurde auch gezeigt, wie Sie das aktuelle Arbeitsverzeichnis abrufen, nachdem das aktuelle Arbeitsverzeichnis basierend auf Benutzereingaben geändert wurde.