leyendo de la entrada estandar

Chema Cortes chemacortes en wanadoo.es
Jue Ene 9 03:53:52 CET 2003


Escribió Israel Gutierrez:

> Alguien proponía en las news como ejercicio, la lectura de un fichero
> con números para obtener la media de los mismos, a través de la entrada
> estandar.

¿a qué "news" te refieres?

> Lo que he hecho es el siguiente código, que si bien lee el fichero que
> le pasemos con, por ejemplo, 'cat' siempre falla cuando alcanza el final
> de fichero. Algo que no entiendo, puesto que es lo primero que trato de
> comprobar en el bucle 'while'

Sin ver el error que te da, sólo se puede suponer lo que te pasa.

Cuando haces

while sys.stdin !='':
item=sys.stdin.readline()
...

no deberías comparar sys.stdin con una cadena de texto. Supongo que lo que
querías hacer era:

item=sys.stdin.readline()
while item!='':
...
item=sys.stdin.readline()


Una forma más "compacta" es:

for item in sys.stdin:
...

que es la forma más recomendable de iterar a través de las líneas que hay en
un fichero.

Saludos,
--
Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 8.1
ZARALINUX http://www.zaralinux.org | La Naturaleza es muy simple.
PYTANDO http://pytando.sf.net | Lo difícil es razonar con ella.




Más información sobre la lista de distribución Python-es