>  기사  >  백엔드 개발  >  Python2에서 중국어 이름 파일이 왜곡되는 문제에 대한 솔루션

Python2에서 중국어 이름 파일이 왜곡되는 문제에 대한 솔루션

高洛峰
高洛峰원래의
2017-03-24 17:04:301506검색

Python2는 기본적으로 중국어를 지원하지 않습니다. 일반적으로 이 문제를 해결하기 위해 프로그램 시작 부분에 #-*-coding:utf-8-*-를 추가하지만, 저는 open을 사용할 때 () 방식 파일을 열 때 중국어 이름이 깨져서 표시됩니다.

먼저 Python의 인코딩 문제에 대해 이야기하겠습니다. Python의 문자열은 크게 str과 Unicode의 두 가지 형식으로 나뉩니다. 일반적으로 사용되는 str의 인코딩 유형은 utf-8, gb2312, gbk 등입니다. ., Python은 인코딩의 기본 유형으로 유니코드를 사용합니다. str 레코드는 특정 인코딩 저장 형식인 바이트 배열입니다. 최종적으로 파일로 출력되거나 인쇄되는 형식은 전적으로 디코딩 인코딩에 의해 디코딩되는 방식에 따라 다릅니다. , 이는 기호의 바이너리 코드만을 규정하고 이 바이너리 코드를 어떻게 저장해야 하는지 명시하지 않습니다. 즉, 내부 표현일 뿐 직접 저장할 수 없으므로 저장할 때 저장 형식을 지정해야 합니다. utf-8로 기다리세요.



Python 문서를 보면 다음을 찾을 수 있습니다:


Python2에서 중국어 이름 파일이 왜곡되는 문제에 대한 솔루션이 방법에서 open(filename, 'w' ), 매개변수 파일 이름은 유니코드로 인코딩된 매개변수여야 합니다.

인코딩을 utf-8로 설정하기 전에 #-*-coding:utf-8-*-를 추가했습니다. 매개변수를 전달하기 위해 이 메서드를 호출할 때 변수 filename을 유니코드로 디코딩해야 합니다. .
예를 들어 filename='중국어.txt', open() 사용 시 open(filename.decode('utf-8'), 'w') 이렇게 쓰면 중국어 파일 이름이 문제가 발생하지 않습니다.






-->

위 내용은 Python2에서 중국어 이름 파일이 왜곡되는 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.