Forum
>>
Principianti
>>
Piccolo chiarimento
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da lrndnl |
2016-03-25 12:54:35 - Piccolo chiarimento
|
Buongiorno.
Come suggerito da ESC(Grazie ! ottima guida) sto seguendo la guida di Shaw(Python,the hard way) cè questo esempio ed è abbastanza chiaro. Ho solo un piccolo buco : quando chiamo print_a_line gli passo il numero della linea (che viene printato) e gli passo current_file da leggere dicendogli di scrivere. Ora il puntatore è all'inizio (lo rimetto "indietro" con seek). Mi sfugge però come al comando successivo sa che deve leggere la linea 2. Sembra una cosa stupida(e detta da me probabilmente lo è :V ) magari ma quando riprende il current_file non dovrebbe rileggerlo da capo ?Come funziona Grazie ! from sys import argv script, input_file = argv def print_all(f): print f.read() def rewind(f): f.seek(0) def print_a_line(line_count, f): print line_count, f.readline() current_file = open(input_file) print "Prima di tutto stampiamo l'intero file : 1n" print_all(current_file) print "Ora andiamo indietro tipo un registratore." rewind(current_file) print "Stampiamo 3 linee" current_line = 1 print_a_line(current_line, current_file) current_line = current_line + 1 print_a_line(current_line, current_file) current_line = current_line + 1 print_a_line(current_line, current_file) --- Ultima modifica di lrndnl in data 2016-03-25 14:25:54 --- |
|
Scritto da Orsogrizzly |
2016-03-25 22:10:29 - Re: Piccolo chiarimento
|
from sys import argv script,input_file=argv def print_all(fileDaLeggere): print fileDaLeggere.read() def rewind(fileDaLeggere): fileDaLeggere.seek(0) def print_a_line(conto_linea,fileDaLeggere): print conto_linea,fileDaLeggere.readline() file_corrente = open(input_file) print "Prima di tutto stampiamo l'intero file: 1n" print_all(file_corrente)#richiami la funzione print_all print "ora indietro come un registratore." rewind(file_corrente)#richiami la funzione rewind qui e solo ora ritorna alla linea 0 print "Stampo le prime 3 line" linea_corrente=1 print_a_line(linea_corrente,file_corrente)#richiami la funzione print_a_line passandogli i valori che vuoi #e cioe la riga che deve leggere e il file che deve aprire per leggerlo linea_corrente =linea_corrente + 1 print_a_line(linea_corrente,file_corrente)#richiami sempre la stessa funzione solo che in questo caso #il primo valore che passi è aumentato di un o rispetto a prima |
|
Scritto da lrndnl |
2016-03-29 09:58:18 - Re: Piccolo chiarimento
|
Thx !!
|
Pagina: 1
Esegui il login per scrivere una risposta.