Невозможно определить пользовательскую кодировку python - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь создать свою собственную кодировку в 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, но везде я видел похожие вещи на то, что я пытаюсь сделать

...