In questa lezione studieremo come effettuare delle operazioni con i file in Python.
Infatti, in Python, come negli altri linguaggi di programmazione, si dispone di funzioni per le operazioni di Input/Output sui file, non dissimili da quelle per l’I/O su console.
Ricordiamo che con il termine di file intendiamo tutto ciò che può essere registrato su un supporto di memoria di massa (disco rigido, pen drive, ecc.).
Il file è identificato da un nome e dall’estensione. Il nome solitamente è significativo, in modo da far intendere il contenuto che il file contiene, mentre l’estensione identifica il programma con il quale deve essere eseguito.
Le operazioni che si fanno sui file sono quelle di:
- apertura – il file, salvato nella memoria di massa, viene caricato in memoria centrale solitamente per le operazioni di lettura o scrittura.
- chiusura – il file caricato nella memoria centrale viene chiuso, ovvero viene interrotto il collegamento tra memoria centrale e memoria di massa che contiene quel file.
- lettura – dopo l’operazione di apertura si può effetturare la lettura, ovvero si interpreta il contenuto del file caricandolo nella memoria centrale.
- scrittura – dopo l’operazione di apertura si possono effettuare le operazioni di scrittura sul file, ovvero si salvano le modifiche nella memoria centrale.
La lettura si indica con INPUT (dalla memoria di massa a quella centrale) mentre la scrittura si indica con OUTPUT (dalla memoria centrale a quella di massa). Le operazioni che servono a trasferire informazioni dalla memoria centrale a quella di massa sono definite operazioni di Input/Output.
Operazioni con i file in Python – tipi di file
I file trattati dal file system si possono dividere in file di testo o file binari.
Ma qual è la differenza e perchè dobbiamo conoscerla?
Questi file codificano i dati in maniera diversa:
- I file di testo detti anche file ASCII contengono caratteri di fine riga (EOL) e ciascun byte rappresenta un carattere della codifica ASCII. Sono adatti a memorizzare dati di lunghezza diversa, sono più pesanti ma possono essere letti su computer che hanno sistemi operativi diversi.
- I file binari invece sono considerati come un flusso continuo di bit, sono più veloci nelle operazioni di lettura e scrittura e occupano meno spazio sul disco.
In Python utilizziamo i file di testo per gestire informazioni di tipo testuale mentre i file binari per gestire ad esempio immagini o suoni. Teniamo presente queste informazioni per le operazioni sui file in Python che vedremo nelle prossime lezioni.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
8 – Errori in Python
9 – Script Python