https://docs.python.org/3/tutorial/errors.html#syntax-errors

구문 에러(파싱 에러)는 코드 실행 전에 감지되는데
오류가 있는 줄과 위치를 보여주며 ^는 감지된 지점을 가리키는 화살표다.
(감지 지점은 실제 수정 위치와는 다를수 있지만 대략 그 부근이 에러 부분이다.)

while True print('Hello world')
  File "<stdin>", line 1
    while True print('Hello world')
               ^^^^^
SyntaxError: invalid syntax

에러가 발생했을때 파일 이름과 줄 번호가 표시 되는데

<stdin> 이 뜨는 경우는 표준 입력으로 코드를 넣었을 때이다.

  • 인터랙티브 REPL 에서 직접 입력했을 때
  • python -c "..."처럼 명령줄 인자로 코드를 넘겼을 때
  • 다른 명령의 출력이나 파일을 파이프로 python에 연결했을 때 (cat script.py | python)
  • heredoc (<<EOF)등으로 표준 입력을 통해 코드를 전달 했을 때

각주

← python 3.14으로