【发布时间】:2021-04-14 09:29:50
【问题描述】:
告诉我有什么方法可以自定义 pyyaml 解析器以便它可以读取这样的文本(没有- 字符的集合,这样当指定带有% 的行并且没有用引号括起来时,它确实不会因错误而崩溃“发现无法启动任何令牌的字符'%'”):
collection:
%element1
element2
element3
我不是很清楚哪些方法需要被覆盖
【问题讨论】:
告诉我有什么方法可以自定义 pyyaml 解析器以便它可以读取这样的文本(没有- 字符的集合,这样当指定带有% 的行并且没有用引号括起来时,它确实不会因错误而崩溃“发现无法启动任何令牌的字符'%'”):
collection:
%element1
element2
element3
我不是很清楚哪些方法需要被覆盖
【问题讨论】:
PyYAML 是一个 YAML 解析器。 YAML 禁止使用 % 作为第一个字符 (see here)。此外,您提供的代码(如果不是针对 %)将被解析为单个多行标量,而不是集合。
当然,您可以指定您自己的语言,然后编写一个可以解析该语言的解析器。如果它类似于 YAML,你甚至可以从 PyYAML 开始并对其进行修改。但请注意,结果不会是 YAML,而是您自己的语言。为您自己的语言指定和编写解析器远远超出了 StackOverflow 答案的范围。
【讨论】: