Fitxers
Llegir i editar fitxers de text amb Python és molt senzill, fins i tot si venen comprimits. També veurem com controlar les possibles excepcions durant l'accés als fitxers.
Llegir, crear i editar fitxers de text de tot tipus (text pla, binaris, CSV, JSON, HTML… ) amb Python és ràpid i molt senzill.
Conceptes previs.
En el seu nucli, un fitxer és un conjunt contigu de bytes utilitzats per emmagatzemar dades.
Aquestes dades s’organitzen en un format específic i poden ser qualsevol cosa tan simple com un fitxer de text o tan complexe com un paquet ofimàtic o un videojoc.
Nosaltres ens centrarem en el primer cas, fixers en format de text pla perquè són simples, transparents i fàcils de manipular: es poden llegir amb qualsevol editor, processar amb scripts i entendre sense eines especials.
Els fitxers de de text pla es componen de tres parts principals:
- Capçalera: metadades sobre el contingut del fitxer (nom del fitxer, mida, tipus, etc.)
- Dades: contingut del fitxer tal com l’ha escrit el creador o editor
- Final del fitxer (EOF): caràcter especial que indica el final del fitxer.
Rutes (Paths)
Quan accediu a un fitxer en un sistema operatiu, cal una ruta de fitxer.
La ruta del fitxer és una cadena que representa la ubicació d’un fitxer. Està dividit en tres grans parts:
- Ruta de la carpeta: la ubicació de la carpeta de fitxers al sistema de fitxers on les carpetes posteriors estan separades per una barra inclinada
/(Unix,Linux i MacOS) o una barra invertida\(Windows) - Nom del fitxer: el nom real del fitxer
- Extensió: el final de la ruta del fitxer amb un punt ( .) que s’utilitza per indicar el tipus de fitxer
Anem a analitzar un cas molt habitual; imaginem que volem obrir el fitxer animals.csv des del programa read_file.py.
/
│
├── python_files/ ← working directory
| │
| ├── data/ ← Current working directory (cwd)
| │ └── animals.csv
| │
| └── read_file.py ← Accessing this fileLa ruta del fitxer correcta per tractar-lo en aquest cas, suposant que estem a Linux, seria:
= És molt important l’ús de rutes de fitxers en aquest format, que es tracta d’una ruta relativa.
⚠Cal evitar sempre les rutes absolutes (per exemple: C:\Users\usuari1\file.py) o /home/user1 perquè només funcionen dins la màquina local i poden conduir a forats de seguretat.⚠
Modes d’accés a fitxers.
Per tal d’obrir un fitxer de text per treballar-hi; només cal usar la funció integrada open(), que només necessita la ruta del fitxer.
Apart de tenir el paràmetre necessari del file_name, informem el segon paràmetre, el mode, que pot tenir aquests valors:
- ‘r’ Obert per llegir
read(per defecte) - ‘w’ Obriu per escriure
write, truncant (sobreescrivint) el fitxer primer si existeix. - ‘x’ Obriu per escriure
writeun nou fitxer, si existeix el fixer retorna un error. - ‘a’ Obriu per escriure
append, si el fitxer existeix posa el contingut nou al final. - ‘rb’o’wb’ Obrir en mode binari (llegir/escriptura mitjançant dades de bytes).
També és important que sabeu que la paraula reservada with ens permet obrir el fitxer i tancar-lo automàticament.
⚠Avís: Recomanem usar `with open() per tal d’assegurar-vos que el fitxer es tanqui correctament i així evitar problemes!⚠
Mode read, r
Per provar els exemples no et cal cap llibreria especial.
Crea un nou projecte amb uv.
Ara, crea un fitxer anomenat demo.txt amb l’editor que vulguis.
O des del terminal si vols:
You're reading a preview.
Sign in to read the full article. Any account opens 10 free articles a month; students and teachers read their course pages without limit.
Sign in