Python эквивалент Perl в то время как (<>) {…}?
Я пишу много маленьких сценариев, которые обрабатывают файлы построчно. В 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, которая легко обрабатывает ввод file / stdin?