Cum să citiți și să scrieți fișiere în Python

Citirea și scrierea în fișiere este o sarcină comună în programare, iar Python ușurează cu capabilitățile sale de gestionare a fișierelor încorporate. Înțelegerea modului de lucru cu fișierele este esențială pentru orice programator Python, deoarece vă permite să gestionați stocarea datelor, înregistrarea în jurnal, gestionarea configurației și multe altele. Acest ghid va acoperi cum să deschideți, citiți, scrieți și închideți fișierele în Python, precum și cum să gestionați diferite moduri de fișiere.

Deschiderea și închiderea fișierelor

În Python, utilizați funcția open() pentru a deschide un fișier. Funcția open() returnează un obiect fișier, care oferă metode de citire și scriere. Este important să închideți un fișier după ce ați terminat cu el folosind metoda close() pentru a elibera resursele sistemului.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Citirea Fisierelor

Există mai multe moduri de a citi conținutul unui fișier în Python, în funcție de nevoile dvs.:

Citiți întregul fișier

Metoda read() citește întregul conținut al fișierului într-un singur șir.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Citiți liniile unui fișier

Metoda readline() citește o linie din fișier, în timp ce readlines() citește toate liniile și le returnează ca o listă.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Citirea fișierelor linie cu linie

Metoda preferată pentru citirea unui fișier linie cu linie este utilizarea unei bucle for direct pe obiectul fișierului. Această abordare este eficientă în memorie, în special pentru fișierele mari.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Scrierea la Files

Python vă permite să scrieți în fișiere folosind metodele write() și writelines(). Trebuie să deschideți fișierul într-un mod care acceptă scriere, cum ar fi 'w' (scriere) sau 'a' (adăugați).

Scrierea într-un fișier

Metoda write() scrie un singur șir într-un fișier. Deschiderea unui fișier în modul de scriere 'w' va crea un fișier nou sau va suprascrie un fișier existent.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Adăugarea la un fișier

Deschiderea unui fișier în modul de adăugare 'a' vă permite să adăugați conținut la sfârșitul unui fișier existent fără a-i suprascrie conținutul.

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Scrierea mai multor rânduri

Metoda writelines() este folosită pentru a scrie mai multe linii într-un fișier. Se așteaptă o listă de șiruri de caractere, fiecare reprezentând o linie.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Moduri de fișiere

Funcția open() a lui Python acceptă mai multe moduri de deschidere a fișierelor:

  • 'r' - Modul de citire (implicit). Deschide un fișier pentru citire.
  • 'w' - Modul de scriere. Deschide un fișier pentru scriere (creează un fișier nou sau trunchiază un fișier existent).
  • 'a' - Modul Adăugare. Deschide un fișier pentru atașare (creează un fișier nou dacă nu există).
  • 'r+' - Modul de citire și scriere. Deschide un fișier atât pentru citire, cât și pentru scriere.
  • 'b' - Modul binar. Deschide un fișier în modul binar (utilizat cu 'rb', 'wb' etc.).

Concluzie

Citirea și scrierea în fișiere în Python este simplă odată ce înțelegeți conceptele de bază și modurile de fișiere. Prin stăpânirea gestionării fișierelor, puteți gestiona eficient datele, puteți gestiona intrarea/ieșirea utilizatorului și puteți automatiza sarcinile care implică operațiuni cu fișiere. Exersați utilizarea acestor tehnici pentru a deveni competenți în gestionarea fișierelor în Python.