Forum
>>
Programmazione Python
>>
Scripting
>>
Python e lettura / stampa di un file di testo
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da dangr |
2017-11-15 12:13:07 - Python e lettura / stampa di un file di testo
|
Buongiorno a tutti,
faccio una domanda da completo novizio, ho iniziato da poco a pasticciare con il linguaggio e sottopongo un problema banale (python versione 3.5.2 a 32bit): dato un file di testo aa.txt che contiene le seguenti linee riga1aaaaaa riga2bbbbbb riga3ccccc riga4dddddd riga5eeeee se lo leggo con il seguente codice >f = open("C:\\lav_py\\aa.txt", 'r'); >i = 0; >for linea in f: >>>>i = i + 1; >>>>bf1 = f.readline() >>>>conta = len(bf1); >>>>print (i, conta, bf1) >f.close(); mi stampa le linee: 1 12 riga2bbbbbb 2 12 riga4dddddd 3 0 Vi e' ovviamente un errore ma non capisco perche' non funziona ?? Grazie a chiunque vorra' rispondere |
|
Scritto da Daniele aka Palmux |
2017-11-15 13:27:01 - Re: Python e lettura / stampa di un file di testo
|
Ciao caro, prima di tutto cosa sono quei ";", hai confuso la meravigliosa sintassi con altri linguaggi?
Venendo a noi il tuo esercizio lo puoi risolvere in molti modi diversi, cerco di restare il più "fedele" possibile a quanto hai scritto: >>> i = 0 >>> for linea in open("<nome file>"): ... i += 1 ... print(i, len(linea), linea) 1 11 riga1aaaaa 2 12 riga2bbbbbb 3 11 riga3ccccc 4 12 riga4dddddd 5 12 riga5eeeeeSe lo vuoi usare f.readlines() è molto semplice anche in questo caso, devi apportare poche variazioni: >>> i = 0 >>> f = open("<nome_file>", "r") >>> for linea in f.readlines(): ... i += 1 ... print(i, len(linea), linea) 1 11 riga1aaaaa 2 12 riga2bbbbbb 3 11 riga3ccccc 4 12 riga4dddddd 5 12 riga5eeeeeAnche se esistono anche metodi un po' più "pythonici", spero ti sia chiaro il procedimento. Cya |
Pagina: 1
Esegui il login per scrivere una risposta.