Von PEP263:Muss die Kodierungsdefinition in der ersten/zweiten Zeile in Python sein?
eine Quellcode-Codierung zu definieren, ein magischer Kommentar muss in der Datei, wie in die Quelldateien entweder als erste oder zweite Leitung gelegt werden:
# coding=<encoding name>
oder (unter Verwendung von populären Editoren anerkannten Formate):
#!/usr/bin/python
# -*- coding: <encoding name> -*-
Was ist, wenn es Fälle gibt, in denen die Lizenzinformationen an den obersten Zeilen ankommen, z. von https://github.com/google/seq2seq/blob/master/seq2seq/training/utils.py:
# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -*- coding: utf-8 -*-
"""Miscellaneous training utility functions.
"""
Wäre die Codierung Definition "magische Weise" noch von dem Python-Interpreter akzeptiert? Es wird großartig sein, wenn die Antwort erklärt, warum es in den ersten beiden Zeilen sein muss und der Zeiger auf den Interpreter-Code wäre großartig!
Die Formulierung, die Du zitiert ist ganz klar, dass die Codierung in den ersten oder zweiten Linien sein muß. – BrenBarn
Haben Sie es versucht? Was würden Sie tun, um herauszufinden, ob diese Kodierzeile genau das tut, was sie tun soll? –
Wie könnten wir herausfinden, ob die Kodierzeile genau das tut, was sie tun soll? Fügen Sie einige 'utf8' Zeichen im Code hinzu? – alvas