Conținut curs
Gestionarea erorilor și excepțiilor
0/1
Python Intermediar
Despre lecție

Introducere

În această lecție, vom explora lucrul avansat cu fișiere în Python. Vom învăța despre diferite moduri de a citi și scrie fișiere, cum să lucrăm cu fișiere binare, și cum să gestionăm erorile și excepțiile legate de fișiere.

Cuprins

  1. Recapitulare: Lucrul de bază cu fișiere în Python
  2. Citirea și scrierea fișierelor în modul text
  3. Citirea și scrierea fișierelor în modul binar
  4. Utilizarea managerului de context pentru lucrul cu fișiere
  5. Gestionarea erorilor și excepțiilor legate de fișiere
  6. Utilizarea modulelor os și shutil pentru gestionarea fișierelor și directoarelor
  7. Încheiere și concluzii

1. Recapitulare: Lucrul de bază cu fișiere în Python

În Python, putem lucra cu fișiere folosind funcția open() pentru a deschide un fișier și a obține un obiect care ne permite să citim și să scriem în fișier. După ce am terminat de lucrat cu fișierul, trebuie să-l închidem folosind metoda close().

Exemplu de bază:

python
file = open('file.txt', 'r')
content = file.read()
print(content)
file.close()

2. Citirea și scrierea fișierelor în modul text

Când deschidem un fișier în modul text, Python tratează conținutul fișierului ca și cum ar fi un șir de caractere. Modurile comune pentru a deschide un fișier în modul text sunt:

  • Modul de citire ('r'): Deschide fișierul în modul de citire și returnează un obiect care poate fi folosit pentru a citi conținutul fișierului.
  • Modul de scriere ('w'): Deschide fișierul în modul de scriere și returnează un obiect care poate fi folosit pentru a scrie în fișier. Dacă fișierul există deja, conținutul său va fi șters.
  • Modul de adăugare ('a'): Deschide fișierul în modul de adăugare și returnează un obiect care poate fi folosit pentru a adăuga conținut la sfârșitul fișierului.

Exemplu de citire a fișierului linie cu linie:

python
with open('file.txt', 'r') as file:
    for line in file:
        print(line.strip())

Exemplu de scriere a fișierului:

python
with open('file.txt', 'w') as file:
    file.write('Hello, world!')

3. Citirea și scrierea fișierelor în modul binar

Când deschidem un fișier în modul binar, Python tratează conținutul fișierului ca fiind o secvență de octeți. Putem deschide un fișier în modul binar adăugând 'b' la modul de deschidere ('rb', 'wb' sau 'ab').

Exemplu de citire a fișierului în modul binar:

python
with open('file.bin', 'rb') as file:
    data = file.read()
    print(data)

Exemplu de scriere a fișierului în modul binar:

python
with open('file.bin', 'wb') as file:
    data = b'x01x02x03'
    file.write(data)

4. Utilizarea managerului de context pentru lucrul cu fișiere

Atunci când lucrăm cu fișiere, este important să ne asigurăm că fișierul este închis corect după ce am terminat de lucrat cu el. O modalitate de a face acest lucru este să folosim managerul de context with, care se ocupă automat de închiderea fișierului.

Exemplu de folosire a managerului de context:

python
with open('file.txt', 'r') as file:
    content = file.read()
    print(content)

5. Gestionarea erorilor și excepțiilor legate de fișiere

Când lucrăm cu fișiere, este posibil să întâmpinăm diverse erori, cum ar fi fișiere inexistente, probleme de acces sau alte probleme legate de sistemul de fișiere. Pentru a gestiona aceste erori, putem folosi blocurile try și except.

Exemplu de gestionare a erorilor la deschiderea unui fișier:

python
try:
    with open('nonexistent_file.txt', 'r') as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print('Fișierul nu a fost găsit.')

6. Utilizarea modulelor os și shutil pentru gestionarea fișierelor și directoarelor

Modulul os ne oferă funcții pentru a interacționa cu sistemul de operare, inclusiv operațiuni pe fișiere și directoare. Modulul shutil ne oferă funcții mai înalte pentru gestionarea fișierelor și directoarelor.

Exemple de funcții utile din modulul os:

  • os.getcwd(): Returnează directorul de lucru curent.
  • os.path.exists(path): Returnează True dacă path există sau False în caz contrar.
  • os.path.isfile(path): Returnează True dacă path este un fișier sau False în caz contrar.
  • os.path.isdir(path): Returnează True dacă path este un director sau False în caz contrar.
  • os.makedirs(path): Creează un director și toate directoarele părinte, dacă este necesar.
  • os.rmdir(path): Șterge un director gol.
  • os.remove(path): Șterge un fișier.

Exemple de funcții utile din modulul shutil:

  • shutil.copy(src, dst): Copiază fișierul src în dst. Dacă dst este un director, se copiază fișierul în directorul dst cu același nume.
  • shutil.copytree(src, dst): Copiază întregul director src în dst. Creează dst dacă nu există.
  • shutil.rmtree(path): Șterge întregul director path și conținutul său. Utilizați cu precauție.

7. Încheiere și concluzii

În această lecție, am învățat despre lucrul avansat cu fișiere în Python, inclusiv despre diferite moduri de a citi și scrie fișiere, cum să lucrăm cu fișiere binare și cum să gestionăm erorile și excepțiile legate de fișiere. Am explorat, de asemenea, modulele os și shutil pentru a efectua operațiuni pe fișiere și directoare.

Cu aceste cunoștințe, sunteți pregătit să lucrați eficient și în siguranță cu fișiere și directoare în proiectele dvs. Python.