[Python] Un semplice tail in python: dove sbaglio?

enrico franchi enrico.franchi a gmail.com
Mar 7 Lug 2015 12:55:18 CEST


2015-07-07 11:11 GMT+01:00 Roberto Polli <robipolli a gmail.com>:

> ho fatto un semplice tail in python.
>  http://ur1.ca/n1ff6
>
> Vedete qualche problema nella lettura dei dati (usare semplicemente
> l'iteratore restituito da open() anziché read() ?
>

Vedo un po' di problemi, ma forse la parola chiave e' "*semplice*. tipo che
so'... non usi with.
Riguardo iter vs. read...

Di fatto con l'iteratore stai facendo line buffering, con read vari a
chunk. Ora il tail "vero" e' scritto in modo che se gli chiedi di contarti
le righe (-n) legge linea per linea, se no legge a blocchetti. Il che vuole
dire che puoi sentirti libero di leggere a blocchetti. Ovviamente leggere a
blocchetti e' molto piu' efficiente...

Specie perche' tu non stai considerando un dettaglio parecchio importante:
in Unix tutto e' un file, anche cose che non sono files. Ora la domanda
chiave e'... cosa fa ciascun metodo di input, per dire, quando il coso da
cui stai leggendo e' una named pipe (caso assolutamente legittimo)?




-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150707/da8d37df/attachment.html>


Maggiori informazioni sulla lista Python