Escribo muchas pequeñas secuencias de comandos que procesan archivos línea por línea. En Perl, yo usoPython equivalente a Perl's while (<>) {...}?
while (<>) {
do stuff;
}
Esto es muy útil ya que no le importa donde la entrada proviene de (un archivo o entrada estándar).
En Python que utilizan este
if len(sys.argv) == 2: # there's a command line argument
sys.stdin = file(sys.argv[1])
for line in sys.stdin.readlines():
do stuff
que no parece muy elegante. ¿Hay algún modismo de Python que maneje fácilmente la entrada de archivo/stdin?
Desde un punto de vista de "código legible", preferiría su código Python ya que la mayoría de las personas que no trabajan con Perl no sabrán qué significa el código Perl. – schnaader
Puede al menos omitir .readlines() – Jiri
Duplicar: http://stackoverflow.com/questions/715277/how-do-i-iterate-over-all-lines-of-files-passed-on-the-commandline -in-python –