Löschen von Dateien und Verzeichnissen in Python
In Python ist die Arbeit mit Dateien und Verzeichnissen eine häufige Aufgabe, insbesondere bei Anwendungen, die eine Dateimanipulation erfordern. Dieses Tutorial konzentriert sich auf fortgeschrittene Methoden zum Löschen von Dateien und Verzeichnissen unter Verwendung verschiedener Python-Module, einschließlich os, shutil und pathlib. Jedes dieser Module bietet unterschiedliche Funktionen für die Arbeit mit dem Dateisystem, die es Ihnen ermöglichen, Dateien und Verzeichnisse effizient zu verwalten. Um Python herunterzuladen, besuchen Sie den folgenden Link von der offiziellen Quelle python.org.
Verstehen der Module
1. Modul os
Das Modul os bietet die Möglichkeit, betriebssystemabhängige Funktionen zu nutzen, z. B. das Lesen oder Schreiben in das Dateisystem. Es beinhaltet Funktionen zum Löschen von Dateien und Verzeichnissen. Die Verwendung des os-Moduls in einer Linux-VPS-Hosting-Umgebung bietet eine effektive Kontrolle über die Dateiverwaltung und andere Operationen auf Systemebene. Dieses Modul ermöglicht es Entwicklern, Aktionen wie das Lesen, Schreiben und Löschen von Dateien und Verzeichnissen direkt auf dem Server durchzuführen
Hauptmerkmale:
- os.remove(path): Entfernt den Pfad zu einer Datei.
- os.rmdir(pfad): Entfernt (vernichtet) den Pfad zu einem Verzeichnis. Das Verzeichnis muss leer sein.
- os.unlink(path): Ein anderer Name für die Funktion os.remove(), die zum Löschen einer Datei verwendet wird.
2. Modul shutil
Das Modul shutil bietet eine High-Level-Schnittstelle für die Arbeit mit Dateien. Es ist besonders nützlich für das Kopieren und Löschen von Verzeichnissen und Dateien.
Wichtigste Funktionen:
- shutil.rmtree(path): Entfernt rekursiv ein Verzeichnis und seinen gesamten Inhalt, einschließlich Unterverzeichnisse und Dateien.
- shutil.move(src, dst): Verschiebt eine Datei oder ein Verzeichnis an einen anderen Ort. Kann auch verwendet werden, um Dateien zu löschen, indem sie in ein nicht existierendes Verzeichnis verschoben werden.
3. Modul Pathlib
Das pathlib-Modul bietet einen objektorientierten Ansatz für die Arbeit mit Dateisystempfaden. Dieses Modul wurde in Python 3.4 eingeführt und gilt als intuitiver und einfacher zu lesen.
Wichtigste Merkmale:
- Path.unlink(): Löscht die Datei.
- Path.rmdir(): Löscht ein leeres Verzeichnis.
- Path.rmtree(): Um ein Verzeichnis und seinen Inhalt zu löschen, wird shutil.rmtree() typischerweise in Verbindung mit Path verwendet.
Erweiterte Methoden zum Löschen von Dateien und Verzeichnissen
Verwendung des os-Moduls
So löschen Sie mit dem Modul os Dateien und Verzeichnisse:
Option A: Ausführen in interaktivem Python
- Öffnen Sie eine interaktive Python-Sitzung, indem Sie eingeben:
(Verwenden Sie python, wenn Python auf Ihrem System so konfiguriert ist, aber python3 ist normalerweise der empfohlene Befehl für Python 3.x).
- Kopieren Sie den Code und fügen Sie ihn direkt in die interaktive Sitzung ein (Skript unten)
vogel B: Schreiben in eine Python-Skriptdatei
- Erstellen Sie eine neue Datei mit einem Texteditor wie z.B. nano:
- Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein (Skript unten)
- Nun können Sie Ihr Python-Skript vom Terminal aus starten:
Entfernen einer einzelnen Datei
os importieren
file_path = 'beispiel.txt'
try:
os.remove(file_path)
print(f'Erfolgreich gelöscht {Dateipfad}')
except FileNotFoundError:
print(f'Die Datei {file_path} existiert nicht')
except PermissionError:
print(f'Berechtigung verweigert: {Dateipfad} konnte nicht gelöscht werden')
except Exception as e:
print(f'Es ist ein Fehler aufgetreten: {e}')