En aquest tema, aprendrem com treballar amb fitxers en Python. La gestió de fitxers és una habilitat essencial per a qualsevol programador, ja que permet llegir dades d'arxius externs i escriure resultats en fitxers per a emmagatzematge o anàlisi posterior.

Continguts

  1. Introducció a la Gestió de Fitxers
  2. Obrir i Tancar Fitxers
  3. Modes d'Accés a Fitxers
  4. Llegir Fitxers
  5. Escriure Fitxers
  6. Gestió d'Errors en la Lectura i Escriptura de Fitxers
  7. Exercicis Pràctics

  1. Introducció a la Gestió de Fitxers

Python proporciona diverses funcions i mètodes per treballar amb fitxers. Els fitxers poden ser de text o binaris, i Python pot gestionar ambdós tipus de fitxers de manera eficient.

  1. Obrir i Tancar Fitxers

Obrir Fitxers

Per obrir un fitxer en Python, utilitzem la funció open(). Aquesta funció retorna un objecte fitxer, que podem utilitzar per llegir o escriure dades.

# Obrir un fitxer en mode lectura
fitxer = open('exemple.txt', 'r')

Tancar Fitxers

És important tancar els fitxers després d'haver acabat de treballar amb ells per alliberar recursos del sistema. Utilitzem el mètode close() per fer-ho.

# Tancar el fitxer
fitxer.close()

  1. Modes d'Accés a Fitxers

Quan obrim un fitxer, podem especificar diferents modes d'accés:

Mode Descripció
'r' Mode lectura (per defecte). El fitxer ha d'existir.
'w' Mode escriptura. Si el fitxer existeix, es sobreescriu. Si no, es crea un nou fitxer.
'a' Mode afegir. Les dades s'afegeixen al final del fitxer. Si no existeix, es crea un nou fitxer.
'b' Mode binari. Utilitzat amb altres modes ('rb', 'wb', 'ab').
'+' Mode lectura i escriptura. Utilitzat amb altres modes ('r+', 'w+', 'a+').

  1. Llegir Fitxers

Llegir Tot el Contingut

Podem utilitzar el mètode read() per llegir tot el contingut d'un fitxer.

fitxer = open('exemple.txt', 'r')
contingut = fitxer.read()
print(contingut)
fitxer.close()

Llegir Línia per Línia

El mètode readline() llegeix una línia del fitxer a la vegada.

fitxer = open('exemple.txt', 'r')
linia = fitxer.readline()
while linia:
    print(linia, end='')
    linia = fitxer.readline()
fitxer.close()

Llegir Totes les Línies

El mètode readlines() retorna una llista amb totes les línies del fitxer.

fitxer = open('exemple.txt', 'r')
linies = fitxer.readlines()
for linia in linies:
    print(linia, end='')
fitxer.close()

  1. Escriure Fitxers

Escriure una Cadena

Podem utilitzar el mètode write() per escriure una cadena en un fitxer.

fitxer = open('exemple.txt', 'w')
fitxer.write('Hola, món!\n')
fitxer.write('Aquesta és una altra línia.\n')
fitxer.close()

Escriure una Llista de Línies

El mètode writelines() escriu una llista de línies en un fitxer.

linies = ['Primera línia\n', 'Segona línia\n', 'Tercera línia\n']
fitxer = open('exemple.txt', 'w')
fitxer.writelines(linies)
fitxer.close()

  1. Gestió d'Errors en la Lectura i Escriptura de Fitxers

És important gestionar els errors que poden ocórrer durant la lectura i escriptura de fitxers. Utilitzem blocs try-except per capturar i gestionar excepcions.

try:
    fitxer = open('exemple.txt', 'r')
    contingut = fitxer.read()
    print(contingut)
except FileNotFoundError:
    print("El fitxer no existeix.")
finally:
    fitxer.close()

  1. Exercicis Pràctics

Exercici 1: Llegir un Fitxer de Text

Crea un fitxer de text anomenat poema.txt amb el següent contingut:

Roses són vermelles,
Violetes són blaves,
El sucre és dolç,
I tu també.

Escriu un programa que llegeixi i imprimeixi el contingut del fitxer.

Solució

try:
    fitxer = open('poema.txt', 'r')
    contingut = fitxer.read()
    print(contingut)
except FileNotFoundError:
    print("El fitxer no existeix.")
finally:
    fitxer.close()

Exercici 2: Escriure en un Fitxer

Escriu un programa que demani a l'usuari que introdueixi diverses línies de text i les escrigui en un fitxer anomenat usuari.txt. El programa ha de continuar demanant línies fins que l'usuari introdueixi una línia buida.

Solució

fitxer = open('usuari.txt', 'w')
while True:
    linia = input("Introdueix una línia de text (o deixa en blanc per acabar): ")
    if linia == "":
        break
    fitxer.write(linia + '\n')
fitxer.close()

Resum

En aquesta secció, hem après com obrir, llegir i escriure fitxers en Python. També hem vist com gestionar errors durant la lectura i escriptura de fitxers. Aquests coneixements són fonamentals per treballar amb dades emmagatzemades en fitxers i per desenvolupar aplicacions que necessiten llegir o escriure informació persistent.

Curs de Programació en Python

Mòdul 1: Introducció a Python

Mòdul 2: Estructures de Control

Mòdul 3: Funcions i Mòduls

Mòdul 4: Estructures de Dades

Mòdul 5: Programació Orientada a Objectes

Mòdul 6: Gestió de Fitxers

Mòdul 7: Gestió d'Errors i Excepcions

Mòdul 8: Temes Avançats

Mòdul 9: Proves i Depuració

Mòdul 10: Desenvolupament Web amb Python

Mòdul 11: Ciència de Dades amb Python

Mòdul 12: Projecte Final

© Copyright 2024. Tots els drets reservats