2009-04-03 15 views

Respuesta

39

Prueba esto:

import fileinput 
for line in fileinput.input(): 
    process(line) 
+2

+1 De esta manera es más flexible que "para la línea de sys.stdin", como lo hará el trabajo para nombres de archivo pasa como argumentos de línea cmd. – user26294

12
import sys 
def main(): 
    for line in sys.stdin: 
     print line 
if __name__=='__main__': 
    sys.exit(main()) 
+0

-1: retornos principales Ninguno - no es * perfectamente * claro qué valor debe devolverse al sistema operativo. –

+3

@ S.Lott: Está perfectamente claro cómo sys.exit trata a Ninguno. –

+0

Así es como normalmente lo hago, pero solo itera sobre stdin mientras OP desea iterar sobre todos los archivos nombrados en la línea de comando. Para ese caso de uso, la entrada de archivos es el camino a seguir. –

6

Algo como esto:

import sys 

for line in sys.stdin: 
    # whatever 
3
import sys 

for line in sys.stdin: 
    # do stuff w/line 
Cuestiones relacionadas