我正在编写一个简单的Python 3.6脚本,用于加载一组表情符号字符。YAML结构基本如下:
-
-
-
我的Python脚本长这样:
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,我很难弄清楚为什么这不起作用。
我还尝试过将我的表情符号放在引号中,并使用“tag: yaml.org,2002:str”的自定义构造函数。我的自定义构造函数甚至没有被命中,可能是因为yaml库无法识别我的表情符号为字符串类型。当我直接将表情符号定义为源代码中的字符串时,我也观察到相同的行为。
有办法使用PyYAML加载包含表情符号的yaml文件吗?