read in Python

In questa lezione studieremo il metodo read per leggere in un file in Python.

Partiamo subito con un semplice esempio che utilizza il file rubrica.txt il quake contiene due semplici contatti di esempio.

Apriamo questo file in modalità lettura e poi applichiamo il metodo read().


f = open('rubrica.txt', 'r')

text = f.read()
print(text)

f.close()

L’output sarà:

Nome: cristina – Telefono: 3567
Nome: luisa – Telefono: 34789

Se indichiamo un numero tra le parentesi specifichiamo il numero di caratteri da leggere.

f.read(14)

In questo caso l’output sarà: Nome: cristina

read in Python – secondo esempio

Leggiamo da un file tutti i dati, dopo creiamo una lista utilizzando il metodo splitlines().


f = open('rubrica.txt', 'r')

text = f.read()
print(text)

array = text.splitlines()
print(array)

f.close()

In questo esempio abbiamo letto il contenuto del file rubrica con il metodo read dopo applichiamo alla stringa ottenuta il metodo splitlines() in modo da ottenere una lista.

Anche il metodo readlines() che abbiamo studiato nella lezione precedente, consente di creare una lista. Abbiamo dunque sviluppato un’altra possibile soluzione alla creazione di una lista partendo dal contenuto di un file di testo.

read in Python – terzo esempio

In questo esempo dopo aver creato la lista, aggiungiamo nuovi elementi alla lista creata e poi li copiamo nel file.

Per aggiungere elementi alla lista utilizziamo i metodi che abbiamo studiato per le liste.

Ecco dunque una possibile implementazione:


f = open('rubrica.txt', 'r')

text = f.read()
print('elementi presentin ' + text)

array = text.splitlines()
print('trasformiamo in array ')
print(array)

array.append('Nome: Paolo - Telefono: 2314')
print('Il nuovo array con il dato inserito: ')
print(array)

f = open('rubrica.txt', 'w')

for i in array:
    f.write(i + 'n')

f.read()
f.close()

Questi sono solo alcuni semplici esempi di applicazione del metodo read in Python nella prossima lezione svilupperemo alcune applicazioni.

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

Continua la lettura su: https://www.codingcreativo.it/read-in-python/ Autore del post: Coding Creativo Fonte: https://www.codingcreativo.it

Related Articles

readlines Python

In questa lezione parleremo del metodo readlines in Python che legge tutto il file di testo e restituisce una lista.

readlines Python – primo esempio

In questo primo esempio leggeremo il nostro file rubrica.txt utilizzando questo readlines, vediamo cosa succede.

Ecco quindi un possibile esempio:

f = open(‘rubrica.txt’, ‘r’)

text = f.readlines()
print(text)

f.close()

Utilizzando print sulla lista si stamperanno tutti i dati che contiene. Nel nostro caso stamperà: [‘Nome: cristina – Telefono: 3567n’, ‘Nome: luisa – Telefono: 34789’].

Possiamo notare che ogni elemento contiene anche i caratteri di fine riga, ovvero ‘n’.

Per poter poi stampare ogni riga singolarmente possiamo utilizzare un’istruzione iterativa. Ma dato che ogni elemento contiene il carattere di fine riga possiamo utilizzare end nella funzione print.

Ecco dunque una possibile soluzione:

f = open(‘rubrica.txt’, ‘r’)

text = f.readlines()

for row in text:
print(row, end=’ ‘)

f.close()

Eseguendo il codice adesso vedremo i dati stampati in questo modo:

Nome: cristina – Telefono: 3567Nome: luisa – Telefono: 34789

readlines Python – secondo esempio

Possiamo anche specificare il numero di linee che devono essere lette. Per farlo basta specificare un numero all’interno del metodo readlines().

Facciamo dunque un semplice esempio:

f = open(‘rubrica.txt’, ‘r’)

text = f.readlines(1)

for row in text:
print(row, end=’ ‘)

f.close()

Inserendo readlines(1) si stamperà così solo il primo contatto: Nome: cristina – Telefono: 3567

Attenzione, se il numero di byte restituiti è superiore al numero allora non stamperà altre righe.

Facciamo la prova infatti a sostituire il valore 1 con 2: f.readlines(2), in questo caso non verrà restituita la seconda riga.

Proviamo con un altro file, ad esempio number_random.txt che contiene questi dati:

625100

f = open(‘number_random.txt’, ‘r’)

text = f.readlines(2)

for row in text:
print(row, end=”)
f.close()

In questo caso si stamperà la prima e la seconda riga:

6

25

Questo perchè il numero di byte restituiti non supera il valore indicato tra parentesi.

In questa lezione abbiamo studiato il metodo readlines di Python e abbiamo sviluppato degli esempi al fine di comprendere meglio come funziona.

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

Aggiungere contenuto a un file in Python

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: 3567Nome: 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

7 – Primi esercizi in Python

Vuoi rimanere aggiornato sulle nuove tecnologie per la Didattica e ricevere suggerimenti per attività da fare in classe?

Sei un docente?

soloscuola.it la prima piattaforma
No Profit gestita dai

Volontari Per la Didattica
per il mondo della Scuola. 

 

Tutti i servizi sono gratuiti. 

Associazione di Volontariato Koinokalo Aps

Ente del Terzo Settore iscritta dal 2014
Tutte le attività sono finanziate con il 5X1000