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)등으로 표준 입력을 통해 코드를 전달 했을 때
각주