У меня есть следующий Python script, который считывает числа и выводит ошибку, если вход не является числом.
import fileinput
import sys
for line in (txt.strip() for txt in fileinput.input()):
if not line.isdigit():
sys.stderr.write("ERROR: not a number: %s\n" % line)
Если я получаю ввод от stdin, мне нужно нажать Ctrl + D дважды, чтобы завершить программу. Почему?
Мне нужно только нажать Ctrl + D один раз, когда я запускаю интерпретатор Python сам по себе.
bash $ python test.py
1
2
foo
4
5
<Ctrl+D>
ERROR: not a number: foo
<Ctrl+D>
bash $