So ändern Sie das Arbeitsverzeichnis in Python

How Change Working Directory Python



Ein Arbeitsverzeichnis ist ein aktuelles Verzeichnis, in dem wir arbeiten und von dem aus das Skript ausgeführt wird; Innerhalb dieses Verzeichnisses haben wir Zugriff auf viele Dateien (die darin befindlichen). Manchmal müssen wir jedoch Verzeichnisse wechseln und zwischen Dateien und Ordnern hin und her wechseln. In diesem Tutorial erfahren Sie, wie Sie das Arbeitsverzeichnis in Python ändern.

OS-MODUL

Um dies zu erreichen, benötigen wir zunächst das os-Modul in Python. Da es vorinstalliert ist, muss nichts installiert werden. Das Betriebssystemmodul wird normalerweise in Python verwendet, um Dateien und Ordner auf dem System zu interagieren, zu verwalten und zu ändern. Zum Beispiel können wir Verzeichnisse erstellen/entfernen, Arbeitsverzeichnisse ändern, Walkthrough-Dateien durchführen, prüfen, ob Dateien vorhanden sind usw. Es ist unnötig zu erwähnen, dass es sich um ein sehr nützliches Modul handelt.







Abrufen des aktuellen Arbeitsverzeichnisses

Um das aktuelle Arbeitsverzeichnis zu erhalten, verwenden wir das getcwd()-Methode aus dem os-Modul. Beachten Sie hierbei, dass kein Argument übergeben wird. In meinem Fall war die Ausgabe /home/kalyani/PycharmProjects/pythonProject1 auf einem Ubuntu-Rechner (mit PyCharm). Das bedeutet, dass sich das Hauptskript – main.py – in diesem Ordner (pythonProject1) befindet. Und wohlgemerkt, das Arbeitsverzeichnis, in erster Linie ein Ordner!



importieren Sie

# Holen Sie sich das aktuelle Arbeitsverzeichnis

Aktuelles Verzeichnis= Sie.getcwd()

drucken('Ihr aktuelles Arbeitsverzeichnis ist %s'% Aktuelles Verzeichnis)



Ändern des aktuellen Arbeitsverzeichnisses

Das Ändern Ihres Arbeitsverzeichnisses ist mit der Methode chdir() einfach, die genau ein Argument benötigt – den Pfad zum neuen Speicherort als String.





importieren Sie

# Holen Sie sich das aktuelle Arbeitsverzeichnis

Aktuelles Verzeichnis= Sie.getcwd()

drucken('Ihr aktuelles Arbeitsverzeichnis ist %s'% Aktuelles Verzeichnis)

Als erstes müssen Sie den neuen Pfad zum Arbeitsverzeichnis festlegen. Unter Ubuntu ist dies sehr einfach!

# legen wir ein neues Arbeitsverzeichnis fest

neues_arbeitsverzeichnis= '/home/kalyani/Desktop/PythonDirectory'

Unter Windows müssen Sie doppelte umgekehrte Schrägstriche verwenden, um das Verzeichnis zu definieren.



#new_working_directory = 'C:\Benutzer\nie\Desktop\PythonDirectory'

Als nächstes definieren wir eine try-except-Klausel. Wenn der Pfad existiert, verwenden wir die Methode chdir(), um das Arbeitsverzeichnis in ein neues Arbeitsverzeichnis zu ändern. Wenn der Pfad kein Verzeichnis ist, wird ein Fehler ausgegeben!

Versuchen:

Sie.chdir(neues_arbeitsverzeichnis)

drucken('Das Arbeitsverzeichnis wurde geändert!')

drucken('WD: %s'%Sie.getcwd())


außerNotADirectoryError:

drucken('Sie haben kein Verzeichnis gewählt.')


außerFileNotFoundError:

drucken('Der Ordner wurde nicht gefunden. Der Pfad ist falsch.')


außerBerechtigungsfehler:

drucken('Sie haben keinen Zugriff auf diesen Ordner/diese Datei.')

Der vollständige Code würde so aussehen:

importieren Sie

# Holen Sie sich das aktuelle Arbeitsverzeichnis

Aktuelles Verzeichnis= Sie.getcwd()

drucken('Ihr aktuelles Arbeitsverzeichnis ist %s'% Aktuelles Verzeichnis)

# legen wir ein neues Arbeitsverzeichnis fest

#new_working_directory = '/home/kalyani/Desktop/PythonDirectory'

neues_arbeitsverzeichnis=R'C: UDienen jeDesktopPythonVerzeichnis'

Versuchen:

Sie.chdir(neues_arbeitsverzeichnis)

drucken('Das Arbeitsverzeichnis wurde geändert!')

drucken('WD: %s'%Sie.getcwd())


außerNotADirectoryError:

drucken('Sie haben kein Verzeichnis gewählt.')


außerFileNotFoundError:

drucken('Der Ordner wurde nicht gefunden. Der Pfad ist falsch.')


außerBerechtigungsfehler:

drucken('Sie haben keinen Zugriff auf diesen Ordner/diese Datei.')

Tatsächlich können Fehler verschiedene Arten von Ausnahmen auslösen:

ich. NotADirectoryError:

Nehmen wir nun für einen Fall an, dass ich den folgenden Code für den Pfad oder das neue Arbeitsverzeichnis geschrieben habe:

neues_arbeitsverzeichnis= 'C:\Benutzer\noch nie\Desktop\PythonVerzeichnis\text.txt'

Was Sie hier beachten können, ist, dass ich den Pfad zu einem Textdokument namens text.txt zeige. Letzteres löst einen Fehler aus, der als NotADirectoryError bekannt ist. Mit anderen Worten, Ihr Pfad muss auf eine Art Verzeichnis verweisen.

ii. FileNotFoundError:

Ein FileNotFoundError wird ausgelöst, wenn der Pfad nicht existiert. Angenommen, ich habe im Moment kein Verzeichnis mit dem Namen PythonDirectory auf meinem Desktop und setze meinen Pfad auf:

neues_arbeitsverzeichnis= 'C: UDienen jeDesktopPythonVerzeichnis'

Es wird einen werfen FileNotFoundError . Dieser Fehler bedeutet einfach, dass das Verzeichnis, auf das wir verweisen, nicht existiert oder nicht gefunden wurde.

iii. Berechtigungsfehler:

ZU Berechtigungsfehler wird ausgelöst, wenn der Benutzer nicht über ausreichende Berechtigungen zum Ändern oder Zugreifen auf das ausgewählte Verzeichnis verfügt.

NS. Syntax-Fehler:

Ein Syntaxfehler tritt auf, wenn der Pfad einen Syntaxfehler enthält. Unter Windows, wenn wir schreiben, um zu sagen:

neues_arbeitsverzeichnis= 'C: UDienen jeDesktopPythonVerzeichnis'

Ein Synthax-Fehler wird geworfen! Ein Syntaxfehler ist jedoch viel schwieriger zu erkennen, da er ausgewertet, importiert oder ausgeführt werden muss. Wenn wir Try-Exception-Blöcke schreiben, ist es daher schwieriger, einen solchen Fehler abzufangen.

Um Fehler zu vermeiden, kann unter Windows der Pfad auf drei verschiedene Arten ausgeschrieben werden, sodass keine Fehler ausgegeben werden:

Methode 1: Bei dieser Methode fügen wir ein r hinzu, bevor wir die Zeichenfolge festlegen.

neues_arbeitsverzeichnis=R'C: UDienen jeDesktopPythonVerzeichnis'

Methode 2: Wir verwenden doppelte Backslashes.

neues_arbeitsverzeichnis= 'C:\Benutzer\noch nie\Desktop\Python-Verzeichnis'

Methode 3: Wir verwenden einen einzelnen Schrägstrich.

neues_arbeitsverzeichnis= 'C:/Benutzer/nie/Desktop/PythonDirectory'

PFAD-MODUL

Wir können das Arbeitsverzeichnis auch mit dem Pfadmodul ändern. Installieren Sie zunächst den Pfad wie folgt (den Link zum Modul habe ich auch angegeben):

pip-Installationspfad

(https://pypi.org/Projekt/Pfad/)

Als nächstes schreiben wir:

vonWegimportierenWeg

importieren Sie

Lassen Sie uns zunächst das aktuelle Arbeitsverzeichnis mit dem os-Modul und der getcwd()-Methode überprüfen.

# überprüfen wir das aktuelle Arbeitsverzeichnis

cwd= Sie.getcwd()

drucken('Das aktuelle Arbeitsverzeichnis ist: %s '% cwd)

drucken('----------------------------------------------------------')

Legen Sie als Nächstes den Pfad zum neuen Arbeitsverzeichnis fest. In diesem Fall habe ich mich für das Beispiel auf einem Windows-Rechner entschieden:

# setze den Pfad zum neuen Arbeitsverzeichnis

neuer Weg= 'C:\Benutzer\noch nie\Desktop\Python-Verzeichnis'

Verwenden Sie Path(), um das Arbeitsverzeichnis zu ändern. Path() nimmt hier nur ein Argument: den tatsächlichen Pfad zum neuen Arbeitsverzeichnis und verwendet die Methode chdir(), um die Aufgabe zu erfüllen.

# das Arbeitsverzeichnis ändern

Weg(neuer Weg).chdir()

Überprüfen Sie erneut, ob das Arbeitsverzeichnis geändert wurde. Und hier wurde, wie auf dem Bild zu sehen, tatsächlich das Arbeitsverzeichnis geändert!

# Überprüfen Sie das Arbeitsverzeichnis erneut

# wurde es geändert?

cwd= Sie.getcwd()

drucken('Das neue Arbeitsverzeichnis ist %s '% cwd)

Das Ändern von Arbeitsverzeichnissen ist eine einfache Aufgabe und erfordert nur eine Methode – die Methode chdir(path). Je nachdem, ob Sie sich auf einem Windows- oder Linux-Rechner befinden, müssen Sie jedoch vorsichtig sein, wie Sie den Pfad als String eingeben. Bei falscher Eingabe kann es zu einem Fehler kommen!

Viel Spaß beim Codieren!