Python에서 파일에 유니코드(UTF-8) 텍스트를 어떻게 읽고 쓰나요?

Linda Hamilton
풀어 주다: 2024-11-05 12:33:02
원래의
269명이 탐색했습니다.

How do I read and write Unicode (UTF-8) text to files in Python?

Python에서 유니코드(UTF-8) 파일 읽기 및 쓰기

인코딩 및 디코딩 이해

Python 2.4에서는 유니코드 텍스트를 변환해야 합니다. 파일에 쓰기 전에 바이트 문자열에. encode('utf8') 메소드는 유니코드 문자열을 UTF-8로 인코딩하는 데 사용할 수 있습니다. 파일 내용을 유니코드 객체로 읽으려면 decode('utf8') 메소드를 사용할 수 있습니다.

바이너리 및 텍스트 파일

바이너리 파일과 텍스트 파일을 구별하는 것이 중요합니다. 바이너리 파일은 데이터를 있는 그대로 저장하는 반면, 텍스트 파일은 특정 문자 인코딩(보통 UTF-8)을 가정합니다. 유니코드 객체를 파일에 쓸 때 잘못된 해석을 피하기 위해 원하는 인코딩을 지정하는 것이 중요합니다.

io 모듈

Python 2.6 이상의 io 모듈은 io.open 함수를 제공합니다. 여는 동안 파일의 인코딩을 지정할 수 있습니다. io.open을 사용하면 파일 내용을 유니코드 객체로 직접 읽을 수 있습니다.

<code class="python">import io
f = io.open("test", mode="r", encoding="utf-8")
text = f.read()  # text is a Unicode object</code>
로그인 후 복사

Python 3.x에서 io.open 함수는 내장된 open 함수의 별칭입니다. 인코딩 인수:

<code class="python">open("test", mode="r", encoding="utf-8")  # returns a Unicode-reading file object</code>
로그인 후 복사

코덱 모듈

또 다른 옵션은 코덱 모듈의 open 함수를 사용하는 것입니다:

<code class="python">import codecs
f = codecs.open("test", "r", "utf-8")
text = f.read()  # text is a Unicode object</code>
로그인 후 복사

그러나 다음을 사용하는 것은 주목할 가치가 있습니다. codecs.open은 read() 및 readline() 작업을 혼합할 때 문제를 일으킬 수 있습니다.

UTF-8 인코딩의 역할

UTF-8은 광범위한 문자 인코딩을 지원하는 다목적 문자 인코딩입니다. 언어 문자의. 기본적으로 Python은 파일을 바이너리 스트림으로 처리합니다. 인코딩을 명시적으로 지정하면 Python이 파일 내용을 유니코드로 올바르게 해석하여 문자 해석 문제를 피할 수 있습니다.

결론

인코딩과 디코딩의 개념 이해 및 적절한 도구 사용(io.open 또는 codecs.open)은 Python에서 원활한 데이터 조작을 위해 파일에서 유니코드 텍스트로 작업하는 데 매우 중요합니다.

위 내용은 Python에서 파일에 유니코드(UTF-8) 텍스트를 어떻게 읽고 쓰나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿