Diferència entre revisions de la pàgina «ASIX-M3-UF3-A2»
De wikiserver
(→Escriure en un fitxer) |
(→Escriure en un fitxer) |
||
Línia 33: | Línia 33: | ||
Un cop obert el fitxer per escriptura disposem de la funció write() | Un cop obert el fitxer per escriptura disposem de la funció write() | ||
− | fitxer | + | Exemples: |
+ | <source lang=python> | ||
+ | fitxer.open("nom_fitxer.txt","w") | ||
− | fitxer.write("Hola | + | fitxer.write("Hola a tothom\n") # el caràcter \n indica salt de línia |
− | fitxer.write(" | + | fitxer.write("Segona línia del meu primer fitxer de text \n") |
− | fitxer.write(" | + | fitxer.write("Línia nova\n") |
− | fitxer.write(" | + | fitxer.write("Darrera línia.\n") |
− | fitxer.close() | + | fitxer.close() |
− | + | </source> | |
− | |||
− | Hola | + | Si obrim el fitxer amb un editor de text, veurem: |
+ | <pre> | ||
+ | Hola a to | ||
Aquest és el nostre fitxer de text nou | Aquest és el nostre fitxer de text nou | ||
i això és una línia nova | i això és una línia nova | ||
I el fitxer s´ha creat. | I el fitxer s´ha creat. | ||
+ | </pre> | ||
− | + | o també podem veure el contingut del fitxer, fent: | |
− | + | <source lang="python"> | |
− | + | fitxer = open("nom_fitxer.txt", "r") | |
− | + | print(fitxer.read()) # fitxer.read() retorna un string amb tot el contingut del fitxer | |
− | |||
− | print( | ||
file.close() | file.close() | ||
+ | </source> | ||
− | + | Podem també recórrer un fitxer dins una iteració: | |
− | + | <source lang="python"> | |
− | + | fitxer = open("nom_fitxer.txt", "r") | |
− | + | for linia in fitxer: | |
− | + | print(linia) | |
− | + | fitxer.close() | |
− | + | </source> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Podem també | ||
− | |||
− | |||
− | for | ||
− | print( | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Si volem diverses accions de lectura sobre un fitxer podem usar l´ordre with... | ||
+ | <source lang="python"> | ||
+ | with open("nom_fitxer.txt") as fitxer: | ||
+ | textFitxer = file.read() | ||
+ | ... | ||
+ | </source> | ||
amb el with obrim sempre en mode lectura, i no ens cal indicar el tancament | amb el with obrim sempre en mode lectura, i no ens cal indicar el tancament | ||
− | |||
− |
Revisió del 18:58, 2 maig 2021
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