Usuwanie plików i katalogów w Pythonie
W Pythonie praca z plikami i katalogami jest częstym zadaniem, szczególnie w aplikacjach wymagających manipulacji plikami. Ten samouczek skupia się na zaawansowanych metodach usuwania plików i katalogów przy użyciu różnych modułów Pythona, w tym os, shutil i pathlib. Każdy z tych modułów zapewnia inną funkcjonalność do pracy z systemem plików, umożliwiając efektywne zarządzanie plikami i katalogami. Aby pobrać Pythona, odwiedź poniższy link z oficjalnego źródła python.org.
Zrozumienie modułów
1. Moduł os
Moduł os zapewnia możliwość korzystania z funkcji zależnych od systemu operacyjnego, takich jak odczyt lub zapis w systemie plików. Obejmuje on funkcje usuwania plików i katalogów. Korzystanie z modułu os w środowisku hostingu Linux VPS zapewnia skuteczną kontrolę nad zarządzaniem plikami i innymi operacjami na poziomie systemu. Moduł ten pozwala programistom na wykonywanie czynności takich jak odczytywanie, zapisywanie i usuwanie plików i katalogów bezpośrednio na serwerze
Kluczowe cechy:
- os.remove(path): Usuwa ścieżkę do pliku.
- os.rmdir(path): Usuwa (niszczy) ścieżkę do katalogu. Katalog musi być pusty.
- os.unlink(path): Inna nazwa funkcji os.remove() używanej do usuwania pliku.
2. Moduł shutil
Moduł shutil oferuje wysokopoziomowy interfejs do pracy z plikami. Jest szczególnie przydatny do kopiowania i usuwania katalogów i plików.
Kluczowe funkcje:
- shutil.rmtree(path): Rekursywnie usuwa katalog i całą jego zawartość, w tym podkatalogi i pliki.
- shutil.move(src, dst): Przenosi plik lub katalog do innej lokalizacji. Może być również używana do usuwania plików poprzez przeniesienie ich do nieistniejącego katalogu.
3. Moduł Pathlib
Moduł pathlib zapewnia obiektowe podejście do pracy ze ścieżkami systemu plików. Moduł ten pojawił się w Pythonie 3.4 i jest uważany za bardziej intuicyjny i łatwiejszy do odczytania.
Kluczowe cechy:
- Path.unlink(): Usuwa plik.
- Path.rmdir(): Usuwa pusty katalog.
- Path.rmtree(): Aby usunąć katalog i jego zawartość, funkcja shutil.rmtree() jest zwykle używana w połączeniu z Path.
Zaawansowane metody usuwania plików i katalogów
Korzystanie z modułu os
Oto jak używać modułu os do usuwania plików i katalogów:
Opcja A: Uruchamianie w interaktywnym Pythonie
- Otwórz interaktywną sesję Pythona wpisując:
(Użyj python, jeśli tak jest skonfigurowany Python w twoim systemie, ale python3 jest zwykle zalecanym poleceniem dla Pythona 3.x).
- Skopiuj i wklej kod bezpośrednio do sesji interaktywnej (skrypt poniżej)
ptak B: Zapisywanie do pliku skryptu Pythona
- Utwórz nowy plik za pomocą edytora tekstu, takiego jak nano:
- Skopiuj i wklej następujący kod do pliku (skrypt poniżej)
- Możesz teraz uruchomić skrypt Pythona z terminala:
Usuwanie pojedynczego pliku
import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Pomyślnie usunięto {file_path}')
except FileNotFoundError:
print(f'Plik {file_path} nie istnieje')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'Wystąpił błąd: {e}')