Python에서 파일을 읽고 쓰는 작업은 매우 일반적입니다.
특히 한글과 같은 비ASCII 문자를 포함하는 데이터를 다룰 때, 올바른 인코딩을 사용하지 않으면 데이터가 깨질 수 있습니다. encoding='utf-8'
를 사용하여 이 문제를 해결할 수 있습니다.
다음은 Python에서 파일 읽기와 쓰기 예제와 함께, encoding='utf-8'
을 사용하는 방법을 보여주는 간단한 코드입니다.
파일 쓰기 예제
먼저 한글이 포함된 텍스트를 파일에 저장하는 예제입니다.
# 파일 쓰기 예제
file_path = 'example.txt'
text_to_write = '안녕하세요, 파이썬 파일 입출력 예제입니다.'
# UTF-8 인코딩을 사용하여 파일에 쓰기
with open(file_path, 'w', encoding='utf-8') as file:
file.write(text_to_write)
print(f"{file_path} 파일에 텍스트가 저장되었습니다.")
파일 읽기 예제
다음으로, 앞서 저장한 파일을 읽어들이는 예제입니다.
# 파일 읽기 예제
file_path = 'example.txt'
# UTF-8 인코딩을 사용하여 파일 읽기
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
print("파일 내용:")
print(content)
인코딩 원리 설명
encoding='utf-8'
의 원리는 다음과 같습니다:
- 인코딩: 텍스트 데이터를 특정 인코딩 방식(예: UTF-8)으로 변환하여 파일에 저장합니다. UTF-8은 유니코드 문자를 효율적으로 인코딩하는 방식으로, 한글과 같은 다국어 문자를 지원합니다.
- 디코딩: 파일에서 데이터를 읽을 때, 저장된 인코딩 방식을 사용하여 텍스트 데이터를 다시 파이썬 문자열로 변환합니다.
UTF-8을 사용하면 다음과 같은 장점이 있습니다:
- 호환성: 대부분의 텍스트 편집기와 시스템에서 지원합니다.
- 유니코드 지원: 다양한 언어와 문자를 효율적으로 저장할 수 있습니다.
- 효율성: 영어와 같은 ASCII 문자는 1바이트로 저장되며, 한글과 같은 비ASCII 문자는 2-4바이트로 저장됩니다.
이러한 방식을 사용하면 한글을 포함한 데이터를 파일에 안전하게 저장하고, 다시 읽어들일 때 깨짐 없이 사용할 수 있습니다.
'스터디내용' 카테고리의 다른 글
__name__ 힘드셨죠? 제가 좋아하는 김플 선생님은 이렇게 설명하시네요. (0) | 2024.07.30 |
---|---|
vscode 설치 복습(python 설치 포함) (0) | 2024.07.29 |
2024-07-16 스터디. 일정관리 프로그램 소스 (0) | 2024.07.16 |
실습 : 강아지 이미지 다운로드 (0) | 2024.07.12 |
파이썬 가상환경 설정방법(virtualenv) (0) | 2024.07.12 |