Dateierweiterung in Python holen

Rayven Esplanada 30 Januar 2023
  1. Verwenden Sie das Modul os.path, um die Dateierweiterung aus einer Datei in Python zu extrahieren
  2. Verwenden Sie das Modul pathlib, um die Erweiterung aus einer Datei in Python zu extrahieren
Dateierweiterung in Python holen

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.

Rayven Esplanada avatar Rayven Esplanada avatar

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.

LinkedIn

Verwandter Artikel - Python File