SyntaxError: EOL while scanning string literal
오류는 파이썬 코드에서 문자열(string)을 작성할 때, 열고 닫는 따옴표가 올바르게 짝지어지지 않았을 경우 발생합니다. EOL은 "End Of Line"의 약자로, 파이썬 인터프리터가 문자열이 끝나지 않았는데 줄 끝에 도달했다는 의미입니다. 즉, 문자열이 정상적으로 종료되지 않았다는 신호입니다.
이 오류는 주로 문자열의 끝을 나타내는 따옴표('
또는 "
)를 닫지 않고 다음 줄로 넘어갔을 때 발생합니다. 사용자가 문자열을 시작했지만 그 끝을 닫지 않아, 인터프리터가 한 줄 끝(EOL)까지 스캔했지만 문자열이 끝나지 않았다고 판단하는 것입니다.
● 오류 발생 예시
text = "이 문자열은 끝나지 않았다
위 코드는 큰따옴표("
)로 문자열을 시작했지만 닫는 따옴표가 빠져 있어 오류가 발생합니다. 실행 시 다음과 같은 에러 메시지를 출력합니다.
SyntaxError: EOL while scanning string literal
● 올바른 코드 예시
text = "이 문자열은 제대로 닫혔습니다"
또는 작은따옴표를 사용할 수도 있습니다.
text = '이것도 올바른 문자열입니다'
● 발생 가능한 다른 상황
- 문자열 내부에 다른 따옴표가 포함된 경우
- 여러 줄 문자열 작성 시
"""
또는'''
대신 일반 따옴표 사용 - 복사/붙여넣기 중에 따옴표가 손실된 경우
● 예외적 케이스 예시
text = "He said "Hello""
위 코드는 내부의 "Hello"
가 외부 문자열과 충돌하여 오류가 발생합니다. 이 경우에는 이스케이프 문자(\
)를 사용하거나, 다른 종류의 따옴표를 바깥쪽에 사용해야 합니다.
text = "He said \"Hello\""
text = 'He said "Hello"'
● 다중 줄 문자열 작성 시 주의
여러 줄에 걸친 문자열을 작성하고 싶다면 """
또는 '''
와 같은 삼중 따옴표를 사용해야 합니다. 일반 따옴표로 줄을 넘기면 이 오류가 발생합니다.
text = """이 문자열은
여러 줄에 걸쳐
작성됩니다."""
● 결론
EOL while scanning string literal
오류는 문자열의 종료를 명확히 하지 않아서 발생하는 전형적인 구문 오류입니다. 문자열을 작성할 때는 항상 시작과 끝이 맞는 따옴표로 감싸져야 하며, 따옴표 내부의 텍스트에서 이스케이프 문자를 적절히 사용하거나 다중 줄 문자열 구문을 활용하는 것이 중요합니다. 특히 복잡한 문자열을 다룰 때는 시각적으로 따옴표가 제대로 닫혔는지 반드시 확인해야 합니다.
'프로그래밍언어 > 파이썬[Error]' 카테고리의 다른 글
[파이썬][Error] 006. SyntaxError - 'break' outside loop (0) | 2025.05.25 |
---|---|
[파이썬][Error] 005. SyntaxError - unmatched ')' (0) | 2025.05.25 |
[파이썬][Error] 003. SyntaxError - expected ':' (0) | 2025.05.25 |
[파이썬][Error] 002. SyntaxError - invalid syntax: 'else' outside of 'if' block (0) | 2025.05.25 |
[파이썬][Error] 001. SyntaxError - expected ':' after 'if' statement (0) | 2025.05.25 |