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