2009-04-03 9 views

Répondre

39

Essayez ceci:

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

+1 De cette façon est plus flexible que "pour la ligne à sys.stdin", car il Le travail pour les noms de fichiers passe comme arguments de ligne cmd. – user26294

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

-1: principaux retours Aucun - ce n'est pas * parfaitement * clair quelle valeur doit être retournée au système d'exploitation. –

+3

@ S.Lott: Il est parfaitement clair comment sys.exit traite None. –

+0

C'est comme ça que je le fais normalement, mais ça ne fait que répéter sur stdin alors que OP voulait parcourir tous les fichiers nommés sur la ligne de commande. Pour ce cas d'utilisation, fileinput est le chemin à parcourir. –

6

Quelque chose comme ceci:

import sys 

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

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