In molti casi si vorrebbe che il programma interagisse con l'utente.
Si potrebbe volere avere un input dall'utente e scrivere qualcosa
come risultato. Si può ottenere questo usando rispettivamente le istruzioni
raw_input e print.
Per l'output si possono usare anche i vari metodi della classe
str. Per esempio, si può usare il metodo
rjust per avere una stringa giustificata a
destra dell'ampiezza specificata. Vedere help(str)
per maggiori dettagli.
Un altro tipo comune di input/output è trattare con i file. La capacità di creare, leggere e scrivere file è essenziale per molti programmi e sarà questo l'argomento trattato in questo capitolo.
Si possono aprire ed usare file in lettura o scrittura creando un
oggetto della classe file e usando i suoi metodi
read, readline o
write per leggere/scrivere da/in un file.
La possibilità di leggere o scrivere un file dipende dal modo
specificato nell'apertura del file stesso. Una volta terminato il
lavoro sul file occorre chiamare il metodo close
per dire a Python che è terminato l'uso del file.
Esempio 12.1. Usare i file
#!/usr/bin/python # Filename: using_file.py poem = '''\ Programming is fun When the work is done if you wanna make your work also fun: use Python! ''' f = file('poem.txt', 'w') # apertura in scrittura ('w'riting) f.write(poem) # scrittura del testo in un file f.close() # chiusura del file f = file('poem.txt') # se non viene specificato nessun modo, # viene usato il modo 'r'ead (lettura) di default while True: line = f.readline() if len(line) == 0: # lunghezza zero indica l'EOF # (NdT. End Of File, fine del file) break print line, # Notare la virgola per evitare il ritorno # a capo automatico aggiunto da Python f.close() # chiusura del file
$ python using_file.py
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
Il primo passo è stato creare un'istanza della classe file
specificando il nome del file ed il modo in cui lo si vuole aprire.
Il modo può essere in lettura ('r'),
scrittura ('w') o append ('a').
In realtà ci sono molti più modi a disposizione. Usando
help(file) si ottengono ulteriori dettagli.
Inizialmente si apre il file in modalità scrittura usando il metodo
write per scrivere nel file. Al termine con
l'istruzione close si chiude il file.
Se non viene specificata alcuna modalità di apertura, come già detto
quella in lettura è la predefinita. Si legge ogni riga del file con il metodo
readline posto all'interno di un ciclo. Questo metodo
restituisce una linea completa includendo il carattere di newline alla fine
della riga. Quando viene restituita una stringa vuota
significa che si è giunti alla fine del file, e quindi il ciclo termina.
Da notare l'uso della virgola con l'istruzione print per
sopprimere il newline automatico che l'istruzione print
aggiunge in automatico, dal momento che la riga letta dal file termina già
con un carattere di newline. Alla fine si chiude (close)
il file.
Guardando il contenuto del file poem.txt si ha la conferma
che il programma abbia fatto il suo lavoro in modo corretto.