2009-04-03 6 views

Antwort

39

Versuchen Sie folgendes:

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

+1 Auf diese Weise ist flexibler als "für die Linie in sys.stdin", wie es will Arbeit für Dateinamen übergeben als cmd Zeilenargumente. – user26294

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

-1: Haupt kehrt Keine - es ist nicht * perfekt * klar, welchen Wert sollte auf die OS zurückgegeben werden. –

+3

@ S. Lott: Es ist vollkommen klar, wie sys.exit Keine behandelt. Diese –

+0

ist, wie ich es normalerweise tun, aber es nur iteriert über stdin während OP wollte alle iterieren die Dateien auf der Kommandozeile genannt. Für diesen Anwendungsfall ist FileInput der richtige Weg. –

6

Etwas wie folgt aus:

import sys 

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

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