S1riyS
@S1riyS

Почему падает ошибка «unexpected EOF while parsing», а не «SyntaxError: '(' was never closed»?

Внутри Docker контейнера пытаюсь запустить python файл со следующим содержанием:
print(
И получаю ошибку:
File "user-scripts-dir/62b16cbd-b2b7-44cb-8d35-7c4cf1ddd517.py", line 2
    
          ^
SyntaxError: unexpected EOF while parsing
Command exited with non-zero status 1

Хотя по логике должна быть ошибка:
File "user-scripts-dir/62b16cbd-b2b7-44cb-8d35-7c4cf1ddd517.py", line 1
    print(
         ^
SyntaxError: '(' was never closed
Command exited with non-zero status 1


С чем может быть связано такое поведение и как получить корректное сообщение об ошибке?
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Непарные скобки стреляют на этапе токенизации, до синтаксического анализа. Встретив открывающую скобку, парсер будет искать соответствующую закрывающую, пока не найдёт или не встретит конец файла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы