Рассмотрим этот код:
with open("tmp", "w") as f:
print(0)
print(1)
Это работает, когда сохраняется как bug.py
и работает с python bug.py
. Но я не могу скопировать и вставить этот код в интерпретатор python:
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> with open("tmp", "w") as f:
... print(0)
... print(1)
File "<stdin>", line 3
print(1)
^
SyntaxError: invalid syntax
>>>
Где синтаксическая ошибка?
Редактировать: Это применимо в целом, как в
if False:
pass
pass