2009-04-03 9 views

risposta

39

Prova questo:

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

+1 In questo modo è più flessibile di "per la linea in sys.stdin", come sarà il lavoro per i nomi dei file passa come argomenti della linea cmd. – user26294

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

-1: restituzioni principali Nessuno - non è * perfettamente * chiaro quale valore deve essere restituito al sistema operativo. –

+3

@ S.Lott: è perfettamente chiaro come sys.exit tratta Nessuno. –

+0

Questo è il modo in cui lo faccio normalmente, ma itera solo su stdin mentre OP voleva eseguire iterazioni su tutti i file chiamati sulla riga di comando. Per quel caso d'uso, fileinput è la strada da percorrere. –

6

Qualcosa di simile a questo:

import sys 

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

for line in sys.stdin: 
    # do stuff w/line 
Problemi correlati