libri-javascript-python

In questa lezione studieremo la funzione open in Python, ovvero vedremo come aprire un file di testo o binario.

Nella precedente lezione abbiamo parlato di file e abbiamo visto la differenza tra file binari e di testo (o ASCII). Nei nostri esempi saranno usati principalmente file di testo per memorizzare archivi sia con lunghezza fissa sia con lunghezza variabile.

Dunque, per operare su un file in linguaggio Python dobbiamo eseguire queste semplici fasi:

  • innanzitutto aprire il file specificando: nome, estensione (obbligatori) e tipo di accesso (se in scrittura, lettura, in modalità append per aggiungere contenuto ad un file esistente, in lettura e scrittura. Dato opzionale in quanto ha un valore di default che è in lettura). Oltre a questi valori ci sono altri argomenti che si possono indicare e che vedremo a mano a mano nel tutorial;
  • dopo fare le operazioni sul file;
  • infine chiudere il file.

Se il file non si trova nella stessa cartella del file Python occorre specificare il percorso corretto. Se siete alle prime armi vi consiglio di lasciare il file nella stessa cartella del file di Python.

Open in Python

I flussi vengono descritti tramite le classi, ovvero un elenco di proprietà e metodi collegati tra loro. Una volta dichiarata una variabile di tipo oggetto si dispone di tutte le proprietà e metodi collegati ad esso.

Una delle funzioni che vi voglio presentare è proprio open in Python che ci permette di aprire un file.

Vediamolo in dettaglio, supponendo di voler aprire un file di nome coding.txt che si trova nella stessa cartella del nostro file Python.

f = open(‘coding.txt‘,’r’) # Apertura in input

Consente di aprire il file solo per la lettura dei caratteri. Ma attenzione, se il file non esiste ci restituirà un errore!

Puntualizziamo però che la sintassi completa sarebbe questa:

f = open(‘coding.txt’, mode = ‘r’)

Ma possiamo anche omettere mode.

Da notare cha abbiamo dichiarato una variabile f di tipo oggetto sulla quale poi applicheremo i vari metodi.

Facciamo adesso un altro semplice esempio:

f = open(‘coding.txt’,’w’) # Apertura in output

Si apre il file e si consente la scrittura su di esso. Ma attenzione, se il file esiste viene cancellato e ricreato!

Vediamo in dettaglio le varie modalità di apertura di un file.

Modalità di apertura di un file in Python

Approfondiamo la funzione open in Python studiando in dettaglio le varie modalità di accesso.

Di seguito ecco una tabella esplicativa dei tipi di accesso ad un file in Python.

ModalitàEsempioUtilizzo
ropen(‘coding.txt’,’r’)Valore di default. Crea il file e lo apre in sola lettura. Se il file esiste non esiste viene restituito un messaggio di errore.
wopen(‘coding.txt’,’w’)Crea il file e lo apre in sola scrittura. Se il file esiste viene cancellato.
aopen(‘coding.txt’,’a’)Apre in file in modalità append, ovvero consente di aggiungere testo in un file già esistente. Se il file non esiste lo crea.
+open(‘coding.txt’,’r+’)Apre il file in modalità lettura e scrittura in modalità append. Se il file non esiste restituisce errore.
xopen(‘coding.txt’,’x’)Crea il file, se già il file esiste restituisce errore.
topen(‘coding.txt’,’t’)Apre un file in modalità testo.
bopen(‘coding.jpg’,’b’)Apre un file in modalità binaria. Ad esempio per le immagini.

Facciamo adesso un esempio combiando più opzioni di quelle elencate nella tabella sopra:

f=open(‘coding.jpg’,’r+b’)

Questa semplicissiam riga di codice consente di aprire un file binario di nome coding.jpg in lettura e scrittura.

In questa lezione abbiamo dunque introdotto il metodo open in Python nella prossima parleremo del metodo write.

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

7 – Primi esercizi in Python