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:

Banner Pubblicitario

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.

Banner pubblicitario

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

7 – Primi esercizi in Python