Lezione09-I Files…
A volte può essere utile richiamare dalla nostra applicazione dei files esterni contenenti degli input per il nostro programma,oppure se vogliamo salvare i risultati della nostra applicazione,per richiamarli in seguito.
Python ci permette di poter aprire,chiudere,leggere,scrivere sia files di testo che files binari.
Ad esempio supponiamo di avere nella stessa cartella della nostra applicazione un file vuoto chiamato “Input.txt” .
Se vogliamo scrivere all’ interno del nostro file scriveremo:
prima apriamo il file nome_variabile=open(‘miofile.txt’,'w’)
la w sta per write , se lo dovevamo solo leggere scrivevamo r (read)
scriviamo:
nome_variabile.write(‘ciao’)
chiudiamo il file:
nome_variabile.close
In questo esempio creiamo un file di testo e ci scriviamo dentro l’elenco dei mesi dell’anno.Abbiamo bisogno di due file .py posizionari nella stessa directory
Primo file Scrivi_Lista.py
‘**************************************************************
import Lista_Mesi
def fctScrivi(Dati):
try:
strNomeFile=open(“Elenco_Mesi.txt”,”w”)
try:
for i in Lista_Mesi.Mesi:
strNomeFile.writelines(i+”\n”)
finally:
strNomeFile.close
except IOError:
pass
fctScrivi(Lista_Mesi.Mesi)
‘**************************************************************
Secondo file ,che sarà importato nel primo come modulo
Lista_Mesi.py e che contiene la lista dei mesi.
‘**************************************************************
Mesi = ['Gennaio','Febbraio',
'Marzo','Aprile',
'Maggio', 'Giugno', 'Luglio',
'Agosto','Settembre','Ottobre','Novembre','Dicembre']
‘**************************************************************
Considerazioni
Il metodo open crea un file nella directory corrente se non diversamente specificaro.Se il file già esiste lo apre a seconda del paeametro specificato che nel nostro caso è ,”w” cioè in scrittura.
Nella riga
strNomeFile.writelines(i+”\n”)
l’istruzione +”\n” serve per andare a capo nel file di testo
Try,finally ed except servono per gestire le eccezioni,l’exceptIO andrebbe cmq implementata meglio…se qualcuno si offre…
Uhm,.. close se non ricordo male è una funzione, non un attributo. quindi ci vanno le parentesi dopo
Ciao!