De dónde viene esto: – * – encoding: utf-8 – * –

Python reconoce lo siguiente como una instrucción que define la encoding del archivo:

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

Definitivamente vi este tipo de instrucciones antes ( -*- var: value -*- ). ¿De dónde viene? ¿Cuál es la especificación completa, por ejemplo, el valor puede incluir espacios, símbolos especiales, nuevas líneas, incluso -*- sí?

Mi progtwig escribirá archivos de texto sin formato y me gustaría incluir algunos metadatos en este formato.

Related of "De dónde viene esto: – * – encoding: utf-8 – * –"

Esta forma de especificar la encoding de un archivo Python proviene de PEP 0263: Definición de codificaciones de código fuente de Python .

GNU Emacs también lo reconoce (consulte Referencia de lenguaje de Python, 2.1.4 Declaraciones de encoding ), aunque no sé si fue el primer progtwig en usar esa syntax.

Esto se denomina variables locales de archivo, que son comprendidas por Emacs y establecidas de manera correspondiente. Consulte la sección correspondiente en el manual de Emacs : puede definirlos en el encabezado o en el pie de página del archivo

En PyCharm, lo dejo fuera. Apaga el indicador UTF-8 en la parte inferior con una advertencia de que la encoding está codificada. No creas que necesitas el comentario de PyCharm mencionado anteriormente.