Python Glossary English

все Python 3Исключенияисключение

EOFError

встроенные исключения

input() достиг конца ввода (EOF), не получив данных.

Синтаксис

raise EOFError

На Stepik это штатный сигнал «строки кончились», когда ввод подаётся файлом или пайпом, а не с клавиатуры: цикл вроде while True: s = input() рано или поздно упирается в конец потока. Важно, что EOFError поднимает именно input(); низкоуровневое чтение ведёт себя иначе — sys.stdin.readline() и file.read() на конце просто возвращают пустую строку, без исключения. Поэтому либо ловите EOFError и выходите из цикла, либо читайте через for line in sys.stdin, где конец обрабатывается сам.

Примеры

try:
    raise EOFError
except EOFError as e:
    print(type(e).__name__)   # → EOFError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности