Допустимые кодировки для исходного файла Python - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь выяснить весь список возможных кодировок для исходного файла Python, то есть кодировок, которые могут входить в спецификацию кодирования PEP 263 , например, # -*- encoding: foo -*-.

Является ли этот список тем же, что и список, приведенный в документации для библиотеки codecs, под "Стандартные кодировки" ?Если нет, где я могу найти фактический список?

(я знаю, что этот список совпадает с набором уникальных значений в / Lib / encodings / aliases.py CPython или эквивалентнонабор имен файлов в / Lib / encodings / , но опять же я не уверен.)

1 Ответ

0 голосов
/ 09 июня 2018

Да, действительными кодировками для исходного файла Python являются именно те, которые перечислены в codecs, по крайней мере, в CPython.

Tokenizer CPython оценивает значение io.open(<FILE>, "r", -1, <ENCODING>, None, None, False).readline и затем использует эту функцию для чтения строк (источник: эти строки из CPython's Parser/tokenizer.c).Таким образом, любые кодировки, поддерживаемые open(), также поддерживаются в объявлении кодировки.

См. Также: Какие кодировки файлов поддерживаются для исходных файлов Python 3? и его ответы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...