Wie man das Arbeitsverzeichnis in Python ändert
Dieser Artikel bespricht, wie Sie das aktuelle Arbeitsverzeichnis von Python in ein anderes Verzeichnis ändern können.
Verwendung von das os
-Modul zum Ändern des Verzeichnisses in Python
Angenommen, Sie möchten aus irgendeinem Grund Ihr Arbeitsverzeichnis über Python statt über die Befehlskonsole ändern. In diesem Fall stellt das Modul os
Werkzeuge für verschiedene Betriebssystemprogramme direkt über Python zur Verfügung.
import os
Nehmen wir an, Sie befinden sich gerade in einem Arbeitsverzeichnis unter /Users/user
und möchten zu Users/user2
wechseln: Überprüfen Sie zunächst das aktuelle Arbeitsverzeichnis, in dem Sie sich befinden, indem Sie das Ergebnis von os.getcwd()
ausdrucken. Als nächstes rufen Sie den os.chdir("Users/user2")
Block auf, um das aktuelle Arbeitsverzeichnis zu wechseln.
print(os.getcwd())
os.chdir("/Users/user2")
print(os.getcwd())
Ausgabe:
/Users/user
/Users/user2
Damit wird überprüft, ob Ihr Programm erfolgreich das Arbeitsverzeichnis von user
auf user2
umgeschaltet hat.
Prüfung auf Ausnahmen
Der Pfad wird vom Benutzer eingegeben, so dass Eingabefehler sehr wahrscheinlich sind. Zum Beispiel gibt der Benutzer einen nicht existierenden Pfad ein; diese Funktion wird wahrscheinlich sehr anfällig für FileNotFound-Ausnahmen sein. Angesichts dessen sollten wir eine Ausnahmeprüfung implementieren.
Verwendung von if-else
zur Fehlerprüfung
Der einfache Weg, dies zu tun, besteht darin, mit if-else
zu prüfen, ob der angegebene Pfad existiert:
import os
def changeDir(newPath):
if os.path.exists(newPath):
os.chdir("Directory moved: ", newPath)
print(os.getcwd())
else:
print("Directory ", newPath, " not found.")
print("Base directory: ", os.getcwd())
changeDir("/Users/user2")
changeDir("/Users/nonexistentpath")
Nehmen wir an, dass /Users/user2
ein existierender Dateipfad ist und /Users/nonexistentpath
nicht existiert.
Ausgabe:
Base directory: /Users/user
Directory moved: /Users/user2
Directory Users/nonexistentpath not found.
Der erste Aufruf des changeDir()
-Blocks ging durch die if
-Anweisung, weil der Pfad existiert. Auf der anderen Seite geht der zweite Aufruf durch das else
und gibt eine fehlerähnliche Meldung aus, weil der Pfad nicht existiert.
Verwendung von try...except
zur Fehlerprüfung
Wenn der Befehl os.chdir()
den Dateipfad nicht findet, gibt er eine FileNotFoundError
-Benachrichtigung aus. Um dies abzufangen, müssen wir den Code um einen Block try...except
wickeln.
import os
def changeDir(newPath):
try:
os.chdir(newPath)
print("Directory moved: newPath")
except OSError:
print("Directory ", newPath, "does not exist.")
print("Base directory: ", os.getcwd())
changeDir("/Users/user2")
changeDir("/Users/nonexistentpath")
Ausgabe:
Base directory: /Users/user
Directory moved: /Users/user2
Directory Users/nonexistentpath does not exist.
Mehr oder weniger, beide erzeugen die gleiche Ausgabe; allerdings ist die Verwendung der try...except
Ausnahmebehandlung viel sicherer als die Verwendung einer if-else
Anweisung. Das liegt daran, dass benutzerdefinierte Bedingungen möglicherweise nicht alle möglichen Ausnahmen abdecken, die bei der Behandlung von Dateipfadmanipulationen auftreten können.
Zusammenfassend kann man sagen, daß das os
-Modul neben anderen Hilfsprogrammen, die es bietet, umfangreiche Unterstützung für die Manipulation von Dateien und Verzeichnissen bietet.
Wir können das Arbeitsverzeichnis direkt mit dem os.chdir()
-Block ändern, aber es wäre sicherer, ihn entweder um if-else
- oder try...except
-Blöcke zu wickeln, um zu vermeiden, dass Ausnahmen auftreten.
Wenn Sie mehr über Datei-Manipulation erfahren wollen, sind die Behandlung von Ausnahmen und die Aktualisierung von Dateinamen oder -inhalten unglaublich wichtig.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInVerwandter Artikel - Python Directory
- Python Get-Home-Verzeichnis
- Alle Dateien im Verzeichnis und Unterverzeichnissen in Python auflisten
- Behebung des Fehlers No Such File in Directory in Python
- Verzeichnis aus Pfad in Python extrahieren
- Ausführen eines Befehls für jede Datei in einem Ordner in Python
- Zählen Sie die Anzahl der Dateien in einem Verzeichnis in Python