So ändern Sie das Arbeitsverzeichnis in Python

So ändern Sie das Arbeitsverzeichnis in Python

Ein Arbeitsverzeichnis ist ein aktuelles Verzeichnis, in dem wir arbeiten und aus dem das Skript ausgeführt wird. In diesem Verzeichnis haben wir Zugriff auf viele Dateien (die darin enthalten sind). Wir müssen jedoch manchmal Verzeichnisse ändern und zwischen Dateien und Ordnern hin und her gehen. In diesem Tutorial lernen wir, wie man das Arbeitsverzeichnis in Python verändert.

Betriebssystemmodul

Um dies zu erreichen, benötigen wir das Betriebssystemmodul in Python. Da es vorinstalliert ist, müssen nichts installiert werden. Das Betriebssystemmodul wird normalerweise in Python verwendet, um Dateien und Ordner im System zu interagieren, verwalten und zu ändern. Zum Beispiel können wir Verzeichnisse erstellen/entfernen, Arbeitsverzeichnisse, Walkthrough -Dateien ändern, prüfen, ob Dateien vorhanden sind usw.… Unnötig zu erwähnen, dass es ein sehr nützliches Modul ist.

Das aktuelle Arbeitsverzeichnis erhalten

Um das aktuelle Arbeitsverzeichnis zu erhalten, verwenden wir das GetCwd () Methode aus dem Betriebssystemmodul. Bitte beachten Sie hier, dass kein Argument verabschiedet wird. In meinem Fall war die Ausgabe "/home/kalyani/pycharmprojects/pythonproject1”Auf einer Ubuntu -Maschine (Pycharm laufen). Dies bedeutet, dass das Hauptskript - Haupt.PY - befindet sich in diesem Ordner (Pythonproject1). Und wohlgemerkt, das Arbeitsverzeichnis, in erster Linie einen Ordner!

OS importieren
# Holen Sie sich das aktuelle Arbeitsverzeichnis
current_directory = os.getCwd ()
print ("Ihr aktuelles Arbeitsverzeichnis ist % s" % current_directory)

Ändern des aktuellen Arbeitsverzeichnisses

Das Ändern Ihres Arbeitsverzeichnisses ist mit der CHDIR () -Methode, die genau ein Argument benötigt - den Weg zum neuen Standort als Zeichenfolge.

OS importieren
# Holen Sie sich das aktuelle Arbeitsverzeichnis
current_directory = os.getCwd ()
print ("Ihr aktuelles Arbeitsverzeichnis ist % s" % current_directory)

Das erste, was zu tun ist, ist, den neuen Weg zum Arbeitsverzeichnis festzulegen. Auf Ubuntu ist dies sehr einfach!

# Lassen Sie uns ein neues Arbeitsverzeichnis festlegen
new_working_directory = "/home/kalyani/desktop/pythondirectory"

Unter Windows müssen Sie doppelte Backslashes verwenden, um das Verzeichnis zu definieren.

#New_working_directory = "C: \\ Benutzer \\ Never \\ Desktop \\ Pythondirectory"

Als nächstes definieren wir eine Versuchsklausel. Wenn der Pfad besteht, werden wir die Methode CHDIR () verwenden, um das Arbeitsverzeichnis in ein neues Arbeitsverzeichnis zu ändern. Wenn der Pfad kein Verzeichnis ist, wirft er einen Fehler auf!

versuchen:
Betriebssystem.chdir (new_working_directory)
drucken ("Das Arbeitsverzeichnis wurde geändert!"))
drucken ("WD: % s" % OS.getCwd ())
Außer notadirectoryError:
drucken ("Sie haben kein Verzeichnis ausgewählt."))
Außer FilenotFoundError:
drucken ("Der Ordner wurde nicht gefunden. Der Weg ist falsch."))
Außer ErlaubnisError:
Print ("Sie haben keinen Zugriff auf diesen Ordner/diese Datei."))

Der vollständige Code würde so aussehen:

OS importieren
# Holen Sie sich das aktuelle Arbeitsverzeichnis
current_directory = os.getCwd ()
print ("Ihr aktuelles Arbeitsverzeichnis ist % s" % current_directory)
# Lassen Sie uns ein neues Arbeitsverzeichnis festlegen
#new_working_directory = "/home/kalyani/desktop/pythondirectory"
new_working_directory = r "c: \ user \ Never \ Desktop \ pythondirectory"
versuchen:
Betriebssystem.chdir (new_working_directory)
drucken ("Das Arbeitsverzeichnis wurde geändert!"))
drucken ("WD: % s" % OS.getCwd ())
Außer notadirectoryError:
drucken ("Sie haben kein Verzeichnis ausgewählt."))
Außer FilenotFoundError:
drucken ("Der Ordner wurde nicht gefunden. Der Weg ist falsch."))
Außer ErlaubnisError:
Print ("Sie haben keinen Zugriff auf diesen Ordner/diese Datei."))

In der Tat können Fehler verschiedene Arten von Ausnahmen aufbauen:

ich. NotadirectoryError:

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

new_working_directory = "c: \\ user \\ Never \\ Desktop \\ Pythondirectory \\ Text.txt"

Was Sie hier bemerken können, ist, dass ich den Pfad auf ein Textdokument namens Text verweile.txt. Und letzteres wirft einen Fehler, der als notadirectoryError bekannt ist. Mit anderen Worten, Ihr Weg muss auf ein Verzeichnis hinweisen.

ii. FilenotFoundError:

Ein FilenotFoundError wird geworfen, wenn der Weg nicht existiert. Nehmen wir für den Moment an, dass ich kein Verzeichnis namens Pythondirectory auf meinem Desktop habe und meinen Weg zu:

new_working_directory = "c: \ user \ Never \ Desktop \ pythondirectory"

Es wird a werfen FilenotFoundError. Dieser Fehler bedeutet lediglich, dass das Verzeichnis, auf das wir hinweisen, nicht existiert oder nicht gefunden wurde.

III. ErlaubnisError:

A ErlaubnisError wird angehoben, wenn der Benutzer keine angemessenen Berechtigungen zum Ändern oder Zugriff auf das ausgewählte Verzeichnis hat.

iv. Syntax-Fehler:

Ein Syntaxfehler tritt auf, wenn im Pfad ein Syntaxfehler vorliegt. Unter Windows, wenn wir schreiben, um zu sagen:

new_working_directory = "c: \ user \ Never \ Desktop \ pythondirectory"

Ein Synthaxfehler wird geworfen! Ein Syntaxfehler ist jedoch viel schwieriger zu fangen, da er bewertet, importiert oder ausgeführt werden muss. Wenn wir Try-Except-Blöcke schreiben, ist es daher schwieriger, einen solchen Fehler zu fangen.

Um Fehler zu vermeiden, kann der Pfad auf eine von drei verschiedenen Arten geschrieben werden, sodass keine Fehler geworfen werden:

Methode 1: In dieser Methode fügen wir ein "r" hinzu, bevor wir die Zeichenfolge auslegen.

new_working_directory = r "c: \ user \ Never \ Desktop \ pythondirectory"

Methode 2: Wir verwenden doppelte Backslashes.

new_working_directory = "c: \\ user \\ Never \\ Desktop \\ Pythondirectory"

Methode 3: Wir verwenden einen einzelnen Stürmerstrich.

new_working_directory = "C:/user/Never/Desktop/Pythondirectory"

Pfadmodul

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

PIP -Installationspfad
(https: // pypi.org/project/path/)

Als nächstes schreiben wir:

vom Pfadimportpfad
OS importieren

Überprüfen Sie zunächst das aktuelle Arbeitsverzeichnis mithilfe des Betriebssystemmoduls und der GetCWD () -Methode.

# Lassen Sie uns das aktuelle Arbeitsverzeichnis überprüfen
CWD = OS.getCwd ()
print ("Das aktuelle Arbeitsverzeichnis ist: % s" % CWD)
drucken("---------------------------------------------")

Setzen Sie den Weg zum neuen Arbeitsverzeichnis. In diesem Fall habe ich beschlossen, das Beispiel auf einem Windows -Computer festzulegen:

# Legen Sie den Pfad zum neuen Arbeitsverzeichnis fest
new_path = "c: \\ user \\ Never \\ Desktop \\ Pythondirectory"

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

# Ändern Sie das Arbeitsverzeichnis
Pfad (new_path).chdir ()

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

# Überprüfen Sie das Arbeitsverzeichnis erneut
# Wurde es geändert??
CWD = OS.getCwd ()
Druck ("Das neue Arbeitsverzeichnis ist % s" % CWD)

Das Ändern von Arbeitsverzeichnissen ist eine leichte Aufgabe und dauert nur eine Methode - die Chdir (Path) -Methode. Abhängig davon, ob Sie sich auf einem Windows -Computer oder einem Linux -Computer befinden, müssen Sie jedoch vorsichtig sein, wie Sie den Pfad als Zeichenfolge eingeben. Wenn es falsch eingegeben wird, kann es einen Fehler werfen!

Glückliche Codierung!