Python reconnaît les éléments suivants en tant qu’instruction qui définit le codage du fichier:
# -*- coding: utf-8 -*-
J'ai certainement vu ce genre d'instructions avant (-*- var: value -*-
). D'où est ce que ça vient? Quelle est la spécification complète, par exemple la valeur peut-elle inclure des espaces, des symboles spéciaux, des nouvelles lignes et même -*-
lui-même?
Mon programme va écrire des fichiers texte et je voudrais y inclure des métadonnées en utilisant ce format.
Cette manière de spécifier l'encodage d'un fichier Python provient de PEP 0263 - Définition de Python Encodages de code source) .
Il est également reconnu par GNU Emacs (voir Référence du langage Python, 2.1.4 Déclaration de codage) ), bien que je ne sache pas s'il s'agissait du premier programme à utiliser cette syntaxe.
C'est ce que l'on appelle les variables locales du fichier, qui sont comprises par Emacs et définies en conséquence. Voir la section correspondante dans le manuel Emacs - vous pouvez les définir soit dans l'en-tête, soit dans le pied de page du fichier.
Dans PyCharm, je laisserais tomber. Il éteint l'indicateur UTF-8 en bas et avertit que le codage est codé en dur. Ne pensez pas que vous avez besoin du commentaire PyCharm mentionné ci-dessus.