我试图寻找一个文档,但找不到(除了在这里中,但FullLoader没有出现在那里):
以下几行有什么区别?
yaml.load(string_holding_yaml_content, Loader=yaml.CLoader)
yaml.load(string_holding_yaml_content, Loader=yaml.FullLoader)
他们两人似乎都做得很好,但CLoader要快得多!
谢谢:)
发布于 2022-04-27 17:12:35
Cloader
使用用C编写的扫描器和标记器,而不是使用使其更快的Python。FullLoader
曾经是默认的Loader
,当您无法完全控制输入时,使用它是不安全的。
如果YAML文档中没有表单!!python...
的任何标记,则没有理由使用FullLoader
。
请注意,我上次检查的两个加载器都是为YAML 1.1编写的,而YAML 1.2规范自2009年以来就已经发布了。还有一些有效的(1.1) YAML,它们都无法处理,因此,如果您认为有效的YAML没有加载,请不要感到惊讶。
https://stackoverflow.com/questions/72029586
复制相似问题