Python 2.4에서는 유니코드 텍스트를 변환해야 합니다. 파일에 쓰기 전에 바이트 문자열에. encode('utf8') 메소드는 유니코드 문자열을 UTF-8로 인코딩하는 데 사용할 수 있습니다. 파일 내용을 유니코드 객체로 읽으려면 decode('utf8') 메소드를 사용할 수 있습니다.
바이너리 파일과 텍스트 파일을 구별하는 것이 중요합니다. 바이너리 파일은 데이터를 있는 그대로 저장하는 반면, 텍스트 파일은 특정 문자 인코딩(보통 UTF-8)을 가정합니다. 유니코드 객체를 파일에 쓸 때 잘못된 해석을 피하기 위해 원하는 인코딩을 지정하는 것이 중요합니다.
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은 광범위한 문자 인코딩을 지원하는 다목적 문자 인코딩입니다. 언어 문자의. 기본적으로 Python은 파일을 바이너리 스트림으로 처리합니다. 인코딩을 명시적으로 지정하면 Python이 파일 내용을 유니코드로 올바르게 해석하여 문자 해석 문제를 피할 수 있습니다.
인코딩과 디코딩의 개념 이해 및 적절한 도구 사용(io.open 또는 codecs.open)은 Python에서 원활한 데이터 조작을 위해 파일에서 유니코드 텍스트로 작업하는 데 매우 중요합니다.
위 내용은 Python에서 파일에 유니코드(UTF-8) 텍스트를 어떻게 읽고 쓰나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!