In questa lezione studieremo come aggiungere contenuto a un file in Python già esistente, utilizzando la modalità append.
Aggiungere contenuto a un file in Python – primo esempio
In questo primo esempio utilizzeremo il nostro file rubrica.txt che già contiene dei dati ed aggiungere dei nuovi contatti.
Ipotizziamo ad esempio che il file contenga questi contatti:
Nome: cristina – Telefono: 3567
Nome: luisa – Telefono: 34789
Implementiamo un algoritmo che consente di aggiungere un nuovo dato utilizzando il metodo write:
f = open('rubrica.txt', 'a')
name = input('Inserisci un nuovo nome: ')
telephone = input('Inserisci il telefono: ')
f.write('Nome:' + name + ' - Telefono:' + telephone)
f.close()
Possiamo anche utilizzare la funzione print per scrivere nel file, dove specifichiamo il file su cui scrivere che abbiamo aperto in precedenza con open:
f = open('rubrica.txt', 'a')
name = input('Inserisci un nuovo nome: ')
telephone = input('Inserisci il telefono: ')
print('Nome:' + name + ' - Telefono:' + telephone, file = f)
f.close()
Aggiungere contenuto a un file in Python – secondo esempio
In questo secondo esempio gestire più inserimenti grazie alle istruzioni cicliche.
Supponiamo ad esempio di voler chiedere all’utente quanti nomi si vuole aggiungere al file e di conseguenza gestire gli input in base alla risposta data.
Questa una possibile implementazione del semplice algoritmo nel quale utilizziamo il ciclo for:
f = open('rubrica.txt', 'a')
n_dati = int(input('Quanti dati vuoi inserire?: '))
for i in range(n_dati):
name = input('Inserisci un nuovo nome: ')
telephone = input('Inserisci il telefono: ')
f.write('\nNome:' + name + ' - Telefono:' + telephone)
f.close()
Aggiungere contenuto a un file in Python – terzo esempio
Se vogliamo aggiungere più elementi possiamo utilizzare anche un’istruzione iterativa e terminare ad esempio quando si clicca su un carattere a scelta.
Ipotizziamo di voler inserire dei dati e fermarci quando si sceglie di digitare il carattere *.
Ecco dunque una possibile implementazione nel quale utilizziamo il ciclo while:
f = open('rubrica.txt', 'a')
print('Inserisci nuovi contatti nella rubrica, per terminare inserisci * nel nome')
name = input('Inserisci un nuovo nome: ')
while name !='*':
telephone = input('Inserisci il telefono: ')
f.write('\nNome:' + name + ' - Telefono:' + telephone)
name = input('Inserisci un nuovo nome: ')
f.close()
Colgo l’occasione per ricordare che il ciclo for si utilizza quando sappiamo esattamente quante volte sarà eseguito il ciclo, come nel secondo esempio dove verrà esseguito n_dati. Mentre il ciclo while si utilizza quando si vuole fermare il ciclo a seguito di una condizione.
In questa lezione abbiamo visto alcuni semplici esempi su come aggiungere contenuto ad un file in Python.
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