Input /output con Python

Output

Per produrre dell'output in Python basta usare l'istruzione print a cui potete passare "nulla" oppure più espressioni, separate da una virgola.
#!/usr/bin/python

print "Python è un bel linguaggio, ", "vero?";
Produrrà questa stringa in output:
Python è un bel linguaggio, vero?

Input da tastiera

Python, di default, fornisce 2 funzioni per gestire input:
- raw_input
- input

Raw input
La funzione raw_input() legge una linea dallo standard input e ritorna la stringa stessa:
#!/usr/bin/python

str = raw_input("Scrivi qualcosa: ");
print "Hai scritto:", str
Eseguendo il codice:
$ python test.py 
Scrivi qualcosa: ciao a tutti
Hai scritto: ciao a tutti

Input
La funzione input() fa le stesse cose che fa raw_input() tranne che se usate input() python interpreterà quello che gli scrivete:
#!/usr/bin/python

str = input("Inserisci qualcosa: ");
print "Hai inserito: ", str
Darà come risultato:
$ python test.py 
Inserisci qualcosa: [x*5 for x in range(2,10,2)]
Hai inserito:  [10, 20, 30, 40]

I/O sui files

Python fornisce dei metodi per gestire l'i/o dei files. Potete eseguire quasi tutte le manipolazioni con l'oggetto file.

Aprire un file
Prima di poter leggere e scrivere sul vostro file dovete aprirlo con la funzione open(). Questa funzione crea un oggetto file, il quale puà essere utilizzato per chiamare altri metodi associati.
Sintassi:
file object = open(nome_file [, access_mode][, buffering])
In ordine:
- nome_file: è una stringa che contiene il nome del file che volete aprire
- access_mode: determina il metodo con cui volete aprire il vostro file (read, write, append..)

Modalità
r: apre il file in sola lettura
w: apre il file in sola scrittura
a: apre il file in append mode

Attributi del file oggetto

Per accedere alle informazioni del file oggetto avete a disposizione vari metodi, ad esempio:
file.close: ritorna true se il file è stato chiuso correttamente
file.mode: ritorna la modalità con cui avete aperto il file
file.name: ritorna il nome del file

Un esempio pratico

#!/usr/bin/python

# Open a file
file = open("testo.txt", "wb")
print "Nome del file: ", file.name
print "Il file è stato chiuso? ", file.closed
print "Modalità: ", file.mode

Il metodo close()

Una volta aperto un buffer in lettura dovete chiudere il file altrimenti il file verrà chiuso solo alla fine del vostro programma.
Per chiudere il file aperto la sintassi è la seguente:
fileAperto.close()

Esempio:
#!/usr/bin/python

# Apertura del file
file = open("mio_testo.txt", "wb")
print "Nome del file: ", file.name

# Chiusura del file aperto
file.close()
E' sempre meglio chiudere il file una volta aperto, eviterete il verificarsi di errori gravi.

Lettura e scrittura

Il file oggetto prevede una serie di metodi che ci facilitano la vita.

Il metodo write()
Il metodo write() scrive una qualsiasi stringa in un file aperto.
#!/usr/bin/python

file = open("mio_file.txt", "wb")
file.write( "La mi stringa.\n");

file.close()

Il metodo read()
Il metodo read() legge una stringa da un file.
Sintassi:
fileOggetto.read([count])
il parametro della funzione specifica il numero di byte da leggere.

#!/usr/bin/python

file = open("mio_file.txt", "r+")
str = file.read(10);
print "La stringa letta è: ", str

file.close()

Per qualsiasi correzione o chiarimento sono a vostra disposizione! Buona programmazione!

Commenti