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