Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
23.01.2025

Usuwanie plików i katalogów w Pythonie

Zaawansowane usuwanie plików i katalogów w Pythonie na AlexHost VPS

Dlaczego główne usuwanie plików w Pythonie? Zarządzanie plikami i katalogami jest podstawowym zadaniem dla programistów, zwłaszcza na AlexHost Linux VPS hostującym dynamiczne aplikacje lub platformy CMS, takie jak WordPress. Moduły os, shutil i pathlib Pythona sprawiają, że usuwanie plików i katalogów jest wydajne i bezpieczne, a dyski SSD AlexHost i dostęp do roota zapewniają najwyższą wydajność. Niniejszy przewodnik obejmuje zaawansowane metody usuwania, wraz z obsługą błędów, w celu płynnego zarządzania plikami.

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 interfejs wysokiego poziomu do pracy z plikami. Jest szczególnie przydatny do kopiowania i usuwania katalogów i plików

Kluczowe cechy:

  • 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

  1. Otwórz interaktywną sesję Pythona wpisując
    ###ATP_PRO_NOTR_1_CODE_TAG_NOTR_ATP_PRO##

    (Użyj python, jeśli tak jest skonfigurowany Python w twoim systemie, ale python3 jest zwykle zalecanym poleceniem dla Pythona 3.x).

  2. Skopiuj i wklej kod bezpośrednio do sesji interaktywnej (skrypt poniżej)

ptak B: Zapisywanie do pliku skryptu Pythona

  1. Utwórz nowy plik za pomocą edytora tekstu, takiego jak nano
    ###ATP_PRO_NOTR_2_CODE_TAG_NOTR_ATP_PRO##
  2. Skopiuj i wklej następujący kod do pliku (skrypt poniżej)
  3. Możesz teraz uruchomić skrypt Pythona z terminala
    ###ATP_PRO_NOTR_3_CODE_TAG_NOTR_ATP_PRO##

Usuwanie pojedynczego pliku

###ATP_PRO_NOTR_4_CODE_TAG_NOTR_ATP_PRO#

Dane wyjściowe:

Usuwanie pustego katalogu

Krok 1: Utwórz katalog

Najpierw utwórz pusty katalog o nazwie example_dir. Można to zrobić za pomocą następującego polecenia

###ATP_PRO_NOTR_5_CODE_TAG_NOTR_ATP_PRO##

Krok 2: Utworzenie skryptu Python

Teraz należy utworzyć skrypt Pythona, który będzie zawierał kod usuwający pusty katalog. Do utworzenia skryptu można użyć edytora tekstu, takiego jak nano

  1. Otwórz nano i utwórz nowy plik Pythona
    ###ATP_PRO_NOTR_6_CODE_TAG_NOTR_ATP_PRO##
  2. Skopiuj i wklej następujący kod do pliku (kod poniżej)
  3. Teraz uruchom skrypt Pythona, który właśnie utworzyłeś
    ###ATP_PRO_NOTR_7_CODE_TAG_NOTR_ATP_PRO##

###ATP_PRO_NOTR_8_CODE_TAG_NOTR_ATP_PRO##Wyjście

Korzystanie z modułu shutil

Krok 1: Utwórz katalog z zawartością

Najpierw utwórz katalog o nazwie example_dir_with_content i dodaj do niego kilka plików. Można to zrobić za pomocą następujących poleceń

###ATP_PRO_NOTR_9_CODE_TAG_NOTR_ATP_PRO##

Krok 2: Tworzenie skryptu w języku Python

Teraz należy utworzyć skrypt Pythona zawierający kod usuwający katalog i jego zawartość. Do utworzenia skryptu można użyć edytora tekstu, takiego jak nano

  1. Otwórz nano i utwórz nowy plik Pythona
    ###ATP_PRO_NOTR_10_CODE_TAG_NOTR_ATP_PRO##
  2. Skopiuj i wklej następujący kod do pliku (kod poniżej)
  3. Teraz uruchom skrypt Python, który właśnie utworzyłeś
    ###ATP_PRO_NOTR_11_CODE_TAG_NOTR_ATP_PRO##

Użyj shutil.rmtree(), aby usunąć katalogi z zawartością

###ATP_PRO_NOTR_12_CODE_TAG_NOTR_ATP_PRO##Dane wyjściowe

Korzystanie z modułu pathlib

moduł pathlib zapewnia nowoczesny interfejs do ścieżek systemu plików

Usuwanie pliku

###ATP_PRO_NOTR_13_CODE_TAG_NOTR_ATP_PRO##Wyjście

Usuwanie pustego katalogu

###ATP_PRO_NOTR_14_CODE_TAG_NOTR_ATP_PRO#Dane wyjściowe:

Łaskawa obsługa błędów

Podczas pracy z operacjami na plikach, bardzo ważne jest, aby obsługiwać wyjątki z wdziękiem, aby zapobiec awarii programu. Typowe wyjątki obejmują

  • FileNotFoundError: Występuje przy próbie usunięcia nieistniejącego pliku lub katalogu.
  • PermissionError: Występuje, gdy użytkownik nie ma uprawnień niezbędnych do usunięcia pliku lub katalogu.
  • OSError: Występuje, gdy wystąpią różne błędy związane z systemem operacyjnym, w tym próba usunięcia niepustego katalogu.

Podsumowanie

W tym samouczku omówiliśmy, jak używać modułów Pythona, takich jak os, shutil i pathlib do usuwania plików i katalogów. Każdy z modułów ma unikalne zalety, a zrozumienie, jak efektywnie z nich korzystać, rozszerzy twoje możliwości zarządzania systemami plików w twoich aplikacjach. Opanowując te techniki, będziesz w stanie zautomatyzować zadania zarządzania plikami, pracować z plikami bardziej intuicyjnie i pisać solidne skrypty, które współdziałają z systemem plików

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills