ASIX-M3-UF3-A2

De wikiserver
La revisió el 20:40, 9 des 2020 per Rsort (Discussió | contribucions) (Es crea la pàgina amb « Per poder treballar amb un fitxer primer de tot cal obrir-lo Atenció: el fitxer ha de ser a la mateixa carpeta que la funció (que el notebook o que l'arxiu .py)...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Dreceres ràpides: navegació, cerca


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

Atenció: el fitxer ha de ser a la mateixa carpeta que la funció (que el notebook o que l'arxiu .py)

elMeuFitxer = open("nom fitxer", "mode")

a on nom fitxer és el nom del fitxer en el disc i mode pot ser r (read) per llegir, w (write) per escriure [si no hi ha cap fitxer això el crea] o altres que no tractarem.

Per exemple:

elMeuFitxer = open("prova.txt", r)

obre el fitxer prova.txt en mode lectura (només podrem llegir, no escriure)

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 podriem tenir problemes de memòria.

elMeuFitxer.close()

Escriure en un fitxer

Un cop tinguem el fitxer obert ja podem fer coses amb ell. Per ex:

fitxer = open("fitxerprova.txt", "w")

fitxer.write("Hola món\n") # el caràcter \n indica salt de línia fitxer.write("Aquest és el nostre fitxer de text nou\n") fitxer.write("i això és una línia nova\n") fitxer.write("I el fitxer s'ha creat.\n")

fitxer.close()

I efectivament si mirem el fitxer amb un editor de text, a dintre hi veurem:

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

Llegir d'un fitxer

Quan llegim un fitxer python ens retorna un string amb el seu contingut

file = open("fitxerprova.txt", "r") print(file.read()) file.close()

Que ens mostrarà:

Hola món

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

o també podem optar a llegir-lo línia a línia

file = open("fitxerprova.txt", "r") print(file.readlines()) file.close()

Que ens mostrarà

['Hola món\n', 'Aquest és el nostre fitxer de text nou\n', 'i això és una línia nova\n', 'I el fitxer s'ha creat.\n']

Podem també recorrer un fitxer dins una iteració:

file = open("fitxerprova.txt", "r") for l in file:

   print(l)

file.close()

Que ens mostrarà

Hola món

Aquest és el nostre fitxer de text nou

i això és una línia nova

I el fitxer s'ha creat..

Gestió elegant de fitxers

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

with open("fitxerprova.txt") as file:

   data = file.read() 
   do something with data

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

És molt recomanable doncs usar aquesta sintaxi quan s´escau.