Я пишу много маленьких скриптов, которые обрабатывают файлы по очереди. В Perl я использую
while (<>) {
do stuff;
}
Это удобно, потому что ему не важно, откуда приходит вход (файл или stdin).
В Python я использую этот
if len(sys.argv) == 2: # there a command line argument
sys.stdin = file(sys.argv[1])
for line in sys.stdin.readlines():
do stuff
который не кажется очень элегантным. Есть ли идиома Python, которая легко обрабатывает входной файл/stdin?