ASIX-M3-UF3-A2

De wikiserver
La revisió el 19:58, 2 maig 2021 per Rsort (Discussió | contribucions) (Escriure en un fitxer)
Dreceres ràpides: navegació, cerca

Obrir i tancar

Per poder treballar amb un fitxer primer de tot cal obrir-lo.

fitxer = open("nom_fitxer.txt", "mode")

Modes:

  • Per defecte el mode és r.
  • r: Obrir fitxer per lectura. El punter es posiciona al començament del fitxer.
  • r+: Obrir fitxer per lectura i escriptura.
  • w: Si el fitxer existeix, trunca la longitud a zero i sinó el crea. El punter es posiciona al començament del fitxer.
  • w+: Obrir fitxer per lectura i escriptura. Si el fitxer no existeix, el crea, sinó el trunca a longitud zero. El punter es posiciona al principi del fitxer.
  • a: Obrir fitxer per lectura. Es crea sinó existeix. El punter es posiciona al final del fitxer.
  • a+: Obrir fitxer per lectura i escriptura. Si el fitxer no existeix, el crea. El punter es posiciona al final del fitxer.

Hem de pensar sempre a tancar els fitxers un cop oberts perquè altrament es podrien produir resultats inesperats a l´hora de fer altres entrades o sortides o podríem tenir problemes de memòria.

fitxer.close()

Llegir d'un fitxer

un cop obert el fitxer per lectura, disposem de dues funcions: fitxer.read() i fitxer.readline()

  • Lectura de tot el fitxer de cop: textFitxer = fitxer.read()
  • Lectura de 100 bytes: textFitxer = fitxer.read(100)
  • Lectura d'una línia complerta: textFitxer = fitxer.readline()

Escriure en un fitxer

Un cop obert el fitxer per escriptura disposem de la funció write()

Exemples:

fitxer.open("nom_fitxer.txt","w")

fitxer.write("Hola a tothom\n")  # el caràcter \n indica salt de línia
fitxer.write("Segona línia del meu primer fitxer de text \n") 
fitxer.write("Línia nova\n") 
fitxer.write("Darrera línia.\n")

fitxer.close()

Si obrim el fitxer amb un editor de text, veurem:

Hola a to
Aquest és el nostre fitxer de text nou
i això és una línia nova
I el fitxer s´ha creat.

o també podem veure el contingut del fitxer, fent:

fitxer = open("nom_fitxer.txt", "r") 
print(fitxer.read()) # fitxer.read() retorna un string amb tot el contingut del fitxer
file.close()

Podem també recórrer un fitxer dins una iteració:

fitxer = open("nom_fitxer.txt", "r") 
for linia in fitxer:
    print(linia)
fitxer.close()

Si volem diverses accions de lectura sobre un fitxer podem usar l´ordre with...

with open("nom_fitxer.txt") as fitxer:  
    textFitxer = file.read() 
    ...

amb el with obrim sempre en mode lectura, i no ens cal indicar el tancament