[python] -*-코딩 : utf-8-*-

파이썬은 다음을 파일 인코딩을 정의하는 명령으로 인식합니다.

# -*- coding: utf-8 -*-

나는 이런 종류의 지시를 확실히 보았다 ( -*- var: value -*-). 그거 어디서 났어? 전체 사양은 무엇입니까, 예를 들어 값에 공백, 특수 기호, 줄 바꿈 등이 포함될 수 -*-있습니까?

내 프로그램은 일반 텍스트 파일을 작성하며이 형식을 사용하여 일부 메타 데이터를 포함하고 싶습니다.



답변

파이썬 파일의 인코딩을 지정하는이 방법은 PEP 0263 – 파이썬 소스 코드 인코딩 정의 에서 온 것 입니다.

GNU Emacs ( Python 언어 참조, 2.1.4 인코딩 선언 참조 )에서도 인식 되지만 해당 구문을 사용하는 첫 번째 프로그램인지는 알 수 없습니다.


답변

# -*- coding: utf-8 -*-파이썬 2입니다. Python 3 이상에서 소스 파일기본 인코딩은 이미 UTF-8 이며 해당 줄은 쓸모가 없습니다.

참조 : Python 3에서 인코딩 선언을 사용해야합니까?

pyupgrade는 코드에서 실행하여 모든 클래스를 상속받는 것처럼 Python 2에서 주석과 더 이상 쓸모없는 남은 음식을 제거 할 수 있습니다 object.


답변

이것을 파일 로컬 변수라고하며, Emacs가 이해하고 이에 따라 설정합니다. Emacs 매뉴얼의 해당 섹션을 참조하십시오 -헤더 또는 파일 바닥 글에서 정의 할 수 있습니다


답변

PyCharm에서는 생략하겠습니다. 인코딩이 하드 코딩되었다는 경고와 함께 하단의 UTF-8 표시기가 꺼집니다. 위에서 언급 한 PyCharm 의견이 필요하다고 생각하지 마십시오.


답변