Я пытаюсь создать свою собственную кодировку в python, используя библиотеку codecs
, согласно всему, что я видел в Интернете, все должно быть правильно, но я не могу заставить его работать, мой код для регистрации кодировки запущен из файла .pth
, чтобы убедиться, что он запускается до того, как файл, который я запускаю напрямую, чтобы разрешить регистрацию кодировки, я пытался с этим минимальным кодом, но я все еще получаю ошибки
import codecs
import encodings
utf8 = encodings.search_function('utf-8')
def search(encoding):
return codecs.CodecInfo(
name="zstring",
encode=utf8.encode,
decode=utf8.decode,
)
def register():
print(1) # this is ran
codecs.register(search)
print(2) # this is also ran
и основной файл Я пытаюсь запустить
# encoding=zstring
print("yes")
, но я получаю сообщение об ошибке
File ".\test.py", line 1
SyntaxError: encoding problem: zstring
оба 1
и 2
печатаются до этой ошибки
my .pth
файл выглядит как
import sys; exec('from zstring import register\nregister()')
для справки, я действительно не знаю, почему мне нужно импортировать sys
, но везде я видел похожие вещи на то, что я пытаюсь сделать