Erfahren Sie, wie Sie Dateien mit bestimmten Namensmustern in Python mithilfe der Bibliothek `pathlib` effektiv löschen können. Diese Anleitung konzentriert sich auf das Entfernen von Dateien, die mit `temp` beginnen und mit `.txt` enden.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/62255438/ gestellt von dem Nutzer 'Bogota' ( https://stackoverflow.com/u/12116796/ ) sowie auf der Antwort https://stackoverflow.com/a/62255498/ bereitgestellt von dem Nutzer 'finswimmer' ( https://stackoverflow.com/u/9750706/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: Deleting files of specific extension using * in Python
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Wie man Dateien mit spezifischen Erweiterungen in Python mit pathlib löscht
Beim Arbeiten mit Dateien in Python kann es vorkommen, dass Sie bestimmte Dateien basierend auf spezifischen Namensmustern bereinigen müssen, beispielsweise alle Textdateien zu löschen, die mit einem bestimmten Präfix beginnen. In diesem Blogbeitrag behandeln wir ein häufiges Problem: das Löschen von Dateien, die mit temp anfangen und mit .txt enden.
Das Problem
Stellen Sie sich vor, Sie haben mehrere Textdateien in Ihrem Arbeitsverzeichnis. Beispielsweise:
temp1.txt
temp2.txt
temp3.txt
temp4.txt
track.txt
Sie möchten nur die Dateien löschen, die mit temp beginnen und mit .txt enden. Viele Anfänger versuchen vielleicht, dies mit einem einfachen Befehl umzusetzen, wie:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Dieser Ansatz führt jedoch zu einer Fehlermeldung:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Dieser Fehler tritt auf, da die Methode os.remove() keine Wildcards für Dateinamensmuster unterstützt. In diesem Fall ist es wichtig, eine andere Technik zu verwenden, die von Pythons pathlib-Bibliothek bereitgestellt wird.
Die Lösung
Der einfachste Weg, Dateien in Python zu löschen, die bestimmten Mustern entsprechen, ist die Verwendung der pathlib-Bibliothek, einem modernen und leistungsstarken Modul zur Manipulation von Dateisystempfaden. Sehen wir uns an, wie wir diese Aufgabe in nur wenigen Codezeilen erledigen können.
Schritt-für-Schritt-Anleitung
Importieren Sie die pathlib-Bibliothek: Beginnen Sie damit, die Bibliothek zu importieren, die bequeme Methoden zur Dateimanipulation bietet.
Verwenden Sie Path().glob() für die Mustererkennung: Die Funktion glob() ermöglicht es, ein Wildcard-Muster anzugeben. In unserem Fall verwenden wir temp*.txt, um die Dateien zu finden, die wir löschen möchten.
Iterieren Sie über die Treffer: Für jede Datei, die dem Muster entspricht, verwenden wir die Methode unlink(), um sie zu löschen.
Beispielcode
So sieht der vollständige Code aus:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Erklärung des Codes
from pathlib import Path: Diese Zeile importiert die Path-Klasse aus dem Modul pathlib, die wir zum Arbeiten mit Dateipfaden verwenden.
**Path(".").glob("temp*.txt")**: Dies erstellt ein Path-Objekt, das das aktuelle Verzeichnis (".") repräsentiert, und verwendet die Methode glob, um alle Dateien zu finden, die dem Muster temp*.txt entsprechen.
filename.unlink(): Dieser Befehl löscht die Datei, die durch das filename-Objekt repräsentiert wird.
Vorteile der Verwendung von pathlib
Einfachheit: Der Code ist prägnanter und leichter lesbar im Vergleich zur Verwendung älterer Methoden aus dem Modul os.
Flexibilität: pathlib bietet einen objektorientierten Ansatz für Dateisystempfade, was die Manipulation und Ausführung von Operationen erleichtert.
Fazit
Zusammenfassend ist die pathlib-Bibliothek Ihr bester Freund, wenn Sie Dateien basierend auf bestimmten Namensmustern in Python löschen müssen. Indem Sie den obigen Schritten folgen, können Sie Ihr Verzeichnis effizient aufräumen, indem unerwünschte Dateien entfernt werden, ohne Syntaxfehler zu verursachen. Merken Sie sich diesen Ansatz für das nächste Mal, wenn Sie auf eine ähnliche Situation stoßen!
Viel Spaß beim Programmieren! Wenn Sie Fragen haben oder weitere Beispiele benötigen, zögern Sie nicht, zu fragen!
Информация по комментариям в разработке