Kursinhalt
Python Fortgeschrittene Konzepte
Python Fortgeschrittene Konzepte
Arbeiten Mit Dateipfaden
In den vorherigen Kapiteln haben wir mit Dateien im Stammverzeichnis gearbeitet, ohne Dateipfade anzugeben. Jetzt tauchen wir tiefer in dieses Thema ein, um sicherzustellen, dass wir vollständig ausgerüstet sind.
Umgang mit Dateipfaden auf verschiedenen Betriebssystemen
Dateipfade unterscheiden sich erheblich zwischen den Betriebssystemen. Beispielsweise verwendet Windows Rückwärtsschrägstriche (\
), um Pfadsegmente zu trennen, während macOS und Linux Vorwärtsschrägstriche (/
) verwenden. Python bietet mehrere Werkzeuge, um diese Unterschiede nahtlos zu handhaben, hauptsächlich durch die Module os
und pathlib
.
Verwendung des os-Moduls
Das os
-Modul enthält Dienstprogramme für zuverlässige Pfadmanipulationen in verschiedenen Betriebssystemumgebungen. Hier sind einige wichtige Funktionen:
os.path.join()
: verbindet intelligent ein oder mehrere Pfadkomponenten;os.path.abspath()
: gibt einen absoluten Pfad für den angegebenen Pfad zurück;os.path.basename()
: gibt den Basisnamen des Pfadnamens zurück;os.path.dirname()
: gibt den Verzeichnisnamen des Pfadnamens zurück;
Beispiel:
import os # Correctly joins parts of a file path according to the OS conventions file_path = os.path.join('my_dir', 'sub_dir', 'file.txt') print(file_path)
Verwendung des pathlib-Moduls
Eingeführt in Python 3.4, bietet pathlib einen objektorientierten Ansatz zur Handhabung von Dateisystempfaden. Es kapselt die Dateisystempfade in eine Reihe von Objekten, die Zugriff auf das Dateisystem bieten.
from pathlib import Path # Creating a Path object that is agnostic to the OS p = Path('my_dir') / 'sub_dir' / 'file.txt' print(p)
In Python, wenn Sie unter Windows arbeiten, können Sie den Linux-ähnlichen Schrägstrich (/
) für Dateipfade verwenden; Python verarbeitet dies automatisch. Es ist nicht notwendig, zusätzliche Bibliotheken für diesen Zweck einzubeziehen. Das pathlib
-Modul ist hauptsächlich nützlich, um diese Pfade bequem zu manipulieren. Anstatt Pfade jedes Mal manuell zu parsen, ermöglicht pathlib
das Arbeiten mit Pfaden als Objekte, was die Operationen vereinfacht und die Lesbarkeit des Codes verbessert.
Danke für Ihr Feedback!