Estoy tratando de leer una gran cantidad de líneas de entrada estándar con python.Python: Leer gran cantidad de líneas de stdin
more hugefile.txt | python readstdin.py
El problema es que el programa se corta tan pronto como he leído una sola línea.
print sys.stdin.read(8)
exit(1)
Esto imprime los primeros 8 bytes pero luego espero que finalice pero nunca lo hace. Creo que no es solo leer los primeros bytes, sino intentar leer todo el archivo en la memoria.
mismo problema con sys.stdin.readline()
lo que realmente quiero hacer es, por supuesto, para leer todas las líneas, pero con una memoria intermedia, así que no se quede sin memoria.
estoy usando Python 2.6
¿Por qué utiliza más en vez de gato o incluso una simple redirección de stdin? –
No veo ninguna razón por la cual su programa se "congelará". ¿Cómo estás detectando que se congela? –
Ah, lo estaba ejecutando desde la línea de comandos de Windows. Sin gato en las ventanas. – Martin