Dateierweiterung in Python holen
-
Verwenden Sie das Modul
os.path
, um die Dateierweiterung aus einer Datei in Python zu extrahieren -
Verwenden Sie das Modul
pathlib
, um die Erweiterung aus einer Datei in Python zu extrahieren
Dieses Tutorial zeigt, wie man die Dateierweiterung aus dem Dateinamen in Python erhält.
Verwenden Sie das Modul os.path
, um die Dateierweiterung aus einer Datei in Python zu extrahieren
Python verfügt über ein Modul os.path
, das vorgefertigte nützliche Funktionen zur Manipulation von OS-Dateipfaden enthält. Es umfasst das Öffnen, Speichern und Aktualisieren sowie das Abrufen der Informationen aus Dateipfaden.
Wir werden dieses Modul verwenden, um die Dateierweiterung in Python zu ermitteln.
Die Funktion os.path
hat eine Funktion splitext()
, um die Wurzel und die Erweiterung des gegebenen Dateipfads aufzuteilen. Die Funktion gibt ein Tupel zurück, das die Wurzelzeichenkette und die Erweiterungszeichenkette enthält.
Geben wir einen Beispiel-Dateipfad mit einer docx
-Erweiterung an.
/Users/user/Documents/sampledoc.docx
Die erwartete Ausgabe sollte die Erweiterung .docx
sein.
Deklarieren Sie zwei separate Variablen zum Auffangen des Ergebnisses von splitext()
mit den Namen extension
und root
.
import os
path = "/Users/user/Documents/sampledoc.docx"
root, extension = os.path.splitext(path)
print("Root:", root)
print("extension:", extension)
Ausgabe:
Root: /Users/user/Documents/sampledoc
Extension: .docx
Die Erweiterung wurde nun erfolgreich aus dem Wurzel-Dateipfad zurückgegeben.
Verwenden Sie das Modul pathlib
, um die Erweiterung aus einer Datei in Python zu extrahieren
Das Modul pathlib
ist ein Python-Modul, das Klassen enthält, die Dateipfade repräsentieren und Hilfsfunktionen und Konstanten für diese Klassen implementiert.
pathlib.Path()
akzeptiert eine Pfadzeichenkette als Argument und gibt ein neues Path
-Objekt zurück.
Das pathlib.Path
-Objekt hat das Attribut suffix
, das die Dateierweiterungsinformationen zurückgibt.
import pathlib
path = pathlib.Path("/Users/user/Documents/sampledoc.docx")
print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", path.suffix)
Außer der Wurzel können wir auch den übergeordneten Dateipfad und den tatsächlichen Dateinamen des angegebenen Dateipfads erhalten, indem wir einfach die Attribute parent
und name
innerhalb des Path
-Objekts aufrufen.
Ausgabe:
Parent: /Users/user/Documents
Filename: sampledoc.docx
Extension: .docx
Was ist, wenn wir eine Dateierweiterung wie .tar.gz
oder .tar.bz2
haben?
pathlib
bietet auch ein Attribut für Dateien mit mehreren Suffixen als Erweiterung. Das Attribut suffixes
innerhalb des Path
-Objekts ist eine Liste, die alle Suffixe der angegebenen Datei enthält. Wenn wir das obige Beispiel verwenden und das Attribut suffixes
ausgeben:
import pathlib
path = pathlib.Path("/Users/user/Documents/sampledoc.docx")
print("Suffix(es):", path.suffixes)
Ausgabe:
Suffix(es): ['.docx']
Auch wenn es nur ein Suffix gibt, wird die Ausgabe eine Singleton-Liste ergeben.
Versuchen Sie nun ein Beispiel mit einer .tar.gz
-Erweiterung. Um die Liste in eine einzelne Zeichenkette umzuwandeln, kann die Funktion join()
auf eine leere Zeichenkette angewendet werden und das Attribut suffixes
als Argument akzeptieren.
import pathlib
path = pathlib.Path("/Users/user/Documents/app_sample.tar.gz")
print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", "".join(path.suffixes))
Ausgabe:
Parent: /Users/user/Documents
Filename: app_sample.tar.gz
Extension: .tar.gz
Statt einer Liste wird nun die tatsächliche Erweiterung ausgegeben.
Zusammenfassend lässt sich sagen, dass die beiden Module os
und pathlib
komfortable Methoden bereitstellen, um in Python die Dateiendung aus einem Dateipfad zu ermitteln.
Das Modul os
hat die Funktion splitext
, um die Wurzel und den Dateinamen von der Dateiendung zu trennen. pathlib
erzeugt ein Path
-Objekt und speichert die Erweiterung einfach im Attribut suffixes
.
Wenn Sie mehr als eine Erweiterung in einer Datei erwarten, wäre es am besten, pathlib
zu verwenden, da es einfache Unterstützung für mehrere Erweiterungen mit dem Attribut suffixes
bietet.
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 File
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie man in Python Text an eine Datei anhängt
- Wie man prüft, ob eine Datei in Python existiert
- Wie man Dateien mit einer bestimmten Endung nur in Python findet
- Wie man bestimmte Zeilen aus einer Datei in Python liest
- Dateiberechtigungen in Python ändern