33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Użyj kodu:

BLACK33
BG40
Użyj promocji
21.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
    python3

    (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_NOTR_2_CODE_TAG_NOTR_ATP##
  2. Skopiuj i wklej następujący kod do pliku (skrypt poniżej)
  3. Możesz teraz uruchomić skrypt Pythona z terminala
    python3 remove_file.py

Usuwanie pojedynczego pliku

import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f'The file {file_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'An error occurred: {e}')

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

mkdir example _dir

Krok 2: Utwórz skrypt Pythona

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_NOTR_6_CODE_TAG_NOTR_ATP##
  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ś
    python3 remove_directory.py

import os
directory_path = 'example_dir'
try:
os.rmdir(directory_path)

f'Successfully deleted directory {directory_path}')
except FileNotFoundError:
print(f'The directory {directory_path} does not exist')
except OSError:
print(f'The directory {directory_path} is not empty')
except Exception as e:
print(f'An error occurred: {e}')
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_NOTR_9_CODE_TAG_NOTR_ATP##

Krok 2: Tworzenie skryptu 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_NOTR_10_CODE_TAG_NOTR_ATP##
  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ś
    python3 remove_directory_content.py

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

import shutil
'example_dir_with_content'
try:
shutil.rmtree(directory_path)
print(f'Successfully deleted directory {directory_path} and its contents')
except FileNotFoundError:
print(f'The directory {directory_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {directory_path}')
except Exception as e:
print(f'An error occurred: {e}')
Wyjście

Korzystanie z modułu pathlib

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

Usuwanie pliku

from pathlib import Path
file_path = Path('example.txt')
try:
file_path.unlink()
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f'The file {file_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'An error occurred: {e}')
Wyjście

Usuwanie pustego katalogu

###ATP_NOTR_14_CODE_TAG_NOTR_ATP##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 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

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Użyj kodu:

BLACK33
BG40
Użyj promocji