CodeGym /Corsi /Python SELF IT /Scrittura di dati in un file

Scrittura di dati in un file

Python SELF IT
Livello 21 , Lezione 2
Disponibile

3.1 Creazione di un file

I file vengono creati automaticamente quando li si apre in modalità scrittura ('w') o aggiunta ('a'). Se il file esiste già, la modalità 'w' sovrascrive il suo contenuto, mentre la modalità 'a' aggiunge i dati alla fine del file.

Esempio di creazione di un file


file = open('example.txt', 'w')  # Apre il file per scrittura, creandolo se non esiste
file.write("This is a new file.\n")
file.close()
        

In questo esempio, il file example.txt viene creato (se non esiste) e su di esso viene scritta la stringa "This is a new file.\n".

Puoi creare un file completamente vuoto — basta aprirlo per scrittura e chiuderlo subito.

Esempio di creazione di un file vuoto


file = open('example.txt', 'w')  
file.close()
        

Nota che se apri un file esistente per scrittura, tutto il suo contenuto verrà rimosso.

3.2 Scrittura in un file

Ci sono due metodi principali per scrivere dati in un file — write() e writelines().

Metodo write()

Il metodo write() scrive una stringa nel file. Se il file è aperto in modalità scrittura ('w'), il suo contenuto verrà rimosso prima di scrivere i nuovi dati. Se il file è aperto in modalità aggiunta ('a'), i nuovi dati verranno aggiunti alla fine del file.

Esempio di utilizzo di write():


# Apertura del file in modalità scrittura
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

Metodo writelines()

Il metodo writelines() prende una lista di stringhe e le scrive nel file. Non aggiunge automaticamente i caratteri di nuova riga, quindi devi includerli tu stesso nelle stringhe.

Esempio di utilizzo di writelines():


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# Apertura del file in modalità scrittura
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

Codifica del file

Puoi specificare la codifica del file di testo durante la lettura o la scrittura. Questo si fa attraverso il parametro nominato encoding.

Esempio:


# Apertura del file per scrittura con codifica UTF-8
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("Testo in italiano.\n")
file.write("Altro testo in UTF-8.\n")
file.close()
        

Parleremo più avanti delle varie codifiche di file e testo, ma è già utile sapere che questo parametro esiste e che usarlo potrebbe risparmiarti molti problemi.

3.3 Aggiunta di dati a un file

Aggiungere dati alla fine di un file è facile quanto scriverci sopra. Devi solo specificare la modalità aggiunta ('a') quando apri il file, e tutto il resto avverrà automaticamente.

Ecco alcuni esempi:

Aggiunta di stringhe alla fine del file

Questo esempio mostra come aprire un file in modalità aggiunta ('a') e aggiungere alcune righe alla sua fine.


file = open('example.txt', 'a')  # Apertura del file per aggiunta
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # Chiusura del file
        

Aggiunta di una lista di stringhe alla fine del file

Questo esempio mostra come utilizzare il metodo writelines() per aggiungere una lista di stringhe alla fine del file.


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # Apertura del file per aggiunta
file.writelines(lines)  # Aggiunta della lista di stringhe
file.close()  # Chiusura del file
        

Aggiunta di una stringa con specifica della codifica

Questo esempio mostra come aprire un file in modalità aggiunta specificando una codifica (ad esempio UTF-8) e aggiungere una stringa.


# Apertura del file per aggiunta con specifica della codifica
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("Aggiunta di una stringa con UTF-8.\n")
file.write("Un'altra riga è stata aggiunta.\n")
file.close()  # Chiusura del file
        

Come vedi, è davvero semplice.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION