Python Lesen von der Kommandozeile Argumente oder stdin

Beim schreiben von text-orientierten Kommandozeilen-Programme sind in Python, habe ich oft wollen, Lesen Sie entweder alle Dateien in der Befehlszeile übergeben, oder (XOR) - standard-Eingang (wie Unix cat tut, oder Perl -<>). So, ich sage

if len(args) == 0:  # result from optparse
    input = sys.stdin
else:
    input = itertools.chain(*(open(a) for a in args))

Ist dies die Pythonic Weg, dies zu tun, oder hat mein fehlen einige Teil der Bibliothek?

InformationsquelleAutor Fred Foo | 2011-04-15
Schreibe einen Kommentar