Я работаю над загрузкой списка символов emoji в простой python 3.6 script. Структура YAML состоит по существу следующим образом:
- 🙂
- 😁
- 😬
Мой python script выглядит следующим образом:
import yaml
f = open('emojis.yml')
EMOJIS = yaml.load(f)
f.close()
Я получаю следующее исключение:
yaml.reader.ReaderError: unacceptable character #x001d: special characters are not allowed in "emojis.yml", position 2
Я видел параметр allow_unicode=True
, но, похоже, доступен только для yaml.dump. Похоже, что у людей были проблемы с подобными проблемами в Python2, но поскольку все строки должны быть unicode, мне трудно понять, почему это не работает.
Я также попробовал обернуть свою emojis в кавычки и использовать конструктор клиента для "tag: yaml.org, 2002: str". Мой пользовательский конструктор никогда даже не попадает, по-видимому, из-за того, что yaml lib не распознает мой emoji как имеющий тип строки. Я также наблюдаю такое же поведение, когда я определяю свой emoji непосредственно как строку в источнике.
Есть ли способ загрузить файл yaml, содержащий emojis с PyYAML?