Ștergerea fișierelor și directoarelor în Python ⋆ ALexHost SRL

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills
21.01.2025

Ștergerea fișierelor și directoarelor în Python

În Python, lucrul cu fișiere și directoare este o sarcină obișnuită, în special pentru aplicațiile care necesită manipularea fișierelor. Acest tutorial se concentrează pe metode avansate de ștergere a fișierelor și directoarelor utilizând diverse module Python, inclusiv os, shutil și pathlib. Fiecare dintre aceste module oferă funcționalități diferite pentru lucrul cu sistemul de fișiere, permițându-vă să gestionați eficient fișierele și directoarele. Pentru a descărca Python, accesați următorul link din sursa oficială python.org.

Înțelegerea modulelor

1. Modul os

Modulul os oferă posibilitatea de a utiliza funcționalități dependente de sistemul de operare, cum ar fi citirea sau scrierea în sistemul de fișiere. Acesta include funcții de ștergere a fișierelor și a directoarelor. Utilizarea modulului os într-un mediu de găzduire VPS Linux oferă un control eficient asupra gestionării fișierelor și a altor operațiuni la nivel de sistem. Acest modul permite dezvoltatorilor să efectueze acțiuni precum citirea, scrierea și ștergerea fișierelor și directoarelor direct pe server

Caracteristici cheie:

  • os.remove(cale): Elimină calea către un fișier.
  • os.rmdir(path): Elimină (distruge) calea către un director. Directorul trebuie să fie gol.
  • os.unlink(path): Un alt nume pentru funcția os.remove() utilizată pentru a șterge un fișier.

2. Modulul shutil

Modulul shutil oferă o interfață de nivel înalt pentru lucrul cu fișiere. Este deosebit de util pentru copierea și ștergerea directoarelor și fișierelor.

Funcții cheie:

  • shutil.rmtree(cale): Elimină recursiv un director și tot conținutul său, inclusiv subdirectoare și fișiere.
  • shutil.move(src, dst): Mută un fișier sau un director într-o altă locație. Poate fi utilizat și pentru a șterge fișiere prin mutarea lor într-un director inexistent.

3. Modulul Pathlib

Modulul pathlib oferă o abordare orientată pe obiecte pentru lucrul cu căile sistemului de fișiere. Acest modul a apărut în Python 3.4 și este considerat mai intuitiv și mai ușor de citit.

Principalele caracteristici:

  • Path.unlink(): Șterge fișierul.
  • Path.rmdir(): Șterge un director gol.
  • Path.rmtree(): Pentru a șterge un director și conținutul său, shutil.rmtree() este utilizat de obicei împreună cu Path.

Metode avansate de ștergere a fișierelor și directoarelor

Utilizarea modulului os

Iată cum să utilizați modulul os pentru a șterge fișiere și directoare:

Opțiunea A: Rularea în Python interactiv

  1. Deschideți o sesiune Python interactivă tastând:
    python3

    (utilizați python dacă acesta este modul în care Python este configurat pe sistemul dvs., dar python3 este de obicei comanda recomandată pentru Python 3.x).

  2. Copiați și lipiți codul direct în sesiunea interactivă (scriptul de mai jos)

pasărea B: Scrierea într-un fișier script Python

  1. Creați un fișier nou utilizând un editor de text, cum ar fi nano:
    nano remove_file.py
  2. Copiați și lipiți următorul cod în fișier (scriptul de mai jos)
  3. Acum puteți rula scriptul Python din terminal:
    python3 remove_file.py

Eliminarea unui singur fișier

import os
file_path = 'exemplu.txt'
încercați:
os.remove(file_path)
print(f'Eliminat cu succes {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'A apărut o eroare: {e}')

Ieșire:

Ștergerea unui director gol

Pasul 1: Crearea unui director

Mai întâi, creați un director gol numit example_dir. Acest lucru poate fi realizat utilizând următoarea comandă:

mkdir example_dir

Pasul 2: Crearea unui script Python

Acum trebuie să creați un script Python care va conține codul pentru a șterge directorul gol. Puteți utiliza un editor de text, cum ar fi nano, pentru a crea scriptul.

  1. Deschideți nano și creați un nou fișier Python:
    nano remove_directory.py
  2. Copiați și lipiți următorul cod în fișier (codul de mai jos)
  3. Acum rulați scriptul Python pe care tocmai l-ați creat:
    python3 remove_directory.py

import os
directory_path = 'example_dir'
încercați:
os.rmdir(directory_path)

f'A fost șters cu succes directorul {repertoriu_pat}')
except FileNotFoundError:
print(f'Directorul {directory_path} nu există')
except OSError:
print(f'Directorul {directory_path} nu este gol')
except Exception as e:
print(f'A apărut o eroare: {e}')

Ieșire:

Utilizarea modulului shutil

Pasul 1: Creați un director cu conținutul

Mai întâi, creați un director numit example_dir_with_content și adăugați câteva fișiere în el. Acest lucru poate fi realizat utilizând următoarele comenzi:

mkdir example_dir_with_content
touch example_dir_with_content/file1.txt
touch example_dir_with_content/file2.txt

Pasul 2: Crearea unui script Python

Acum trebuie să creați un script Python care să conțină codul pentru a șterge directorul și conținutul său. Puteți utiliza un editor de text, cum ar fi nano, pentru a crea scriptul.

  1. Deschideți nano și creați un nou fișier Python:
    nano remove_directory_content.py
  2. Copiați și lipiți următorul cod în fișier (codul de mai jos)
  3. Acum rulați scriptul Python pe care tocmai l-ați creat:
    python3 remove_directory_content.py

Utilizați shutil.rmtree() pentru a elimina directoarele cu conținut:

import shutil
'example_dir_with_content'
încercați:
shutil.rmtree(directory_path)
print(f'A fost șters cu succes directorul {directory_path} și conținutul său')
except FileNotFoundError:
print(f'Directorul {directory_path} nu există')
except PermissionError:
print(f'Permisiune refuzată: imposibilitatea de a șterge {repertoriu_pat}')
except Exception as e:
print(f'A apărut o eroare: {e}')

Ieșire:

Utilizarea modulului pathlib

modulul pathlib oferă o interfață modernă pentru căile sistemului de fișiere:

Ștergerea unui fișier

from pathlib import Path
file_path = Path('example.txt')
încercați:
file_path.unlink()
print(f'Șters cu succes {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'A apărut o eroare: {e}')

Ieșire:

Ștergerea unui director gol

from pathlib import Pathdirectory_path = Path('example_dir'
try:
directory_path.rmdir() # Acest lucru va funcționa numai dacă directorul este gol
print(f'A fost șters cu succes directorul {directory_path}')
except FileNotFoundError:
print(f'Directorul {directory_path} nu există')
except OSError:
print(f'Directorul {directory_path} nu este gol')
except Exception as e:
print(f'A apărut o eroare: {e}')

Ieșire:

Gestionarea grațioasă a erorilor

Atunci când lucrați cu operații de fișiere, este foarte important să gestionați excepțiile cu eleganță pentru a preveni blocarea programului. Excepțiile comune includ:

  • FileNotFoundError: apare atunci când se încearcă ștergerea unui fișier sau director inexistent.
  • PermissionError: apare atunci când un utilizator nu arepermisiunile necesare pentru a șterge un fișier sau un director.
  • OSError: apare pentru diverse erori legate de sistemul de operare, inclusiv o încercare de a șterge un director nevid.

Concluzii

În acest tutorial, am acoperit modul de utilizare a modulelor Python precum os, shutil și pathlib pentru a șterge fișiere și directoare. Fiecare modul are avantaje unice, iar înțelegerea modului de utilizare eficientă a acestora vă va extinde capacitatea de a gestiona sistemele de fișiere în aplicațiile dvs. Prin stăpânirea acestor tehnici, veți putea să automatizați sarcinile de gestionare a fișierelor, să lucrați mai intuitiv cu fișierele și să scrieți scripturi robuste care interacționează cu sistemul de fișiere.

Testați-vă abilitățile cu toate serviciile noastre de găzduire și beneficiați de 15% reducere!

Utilizați codul la finalizarea comenzii:

Skills