为什么 StrictYAML 只能解析字符串而不能解析文件?
虽然其他解析器会接受字符串、文件句柄和文件名,但 StrictYAML 只能解析 YAML 字符串。
这是有意为之,是为了减少模块的范围,旨在减少 StrictYAML 必须处理的潜在错误表面和异常数量 - 例如不存在的文件、文件系统错误、错误读取、未知文件扩展名等,将成为其他模块的问题 - 理想情况下,该模块更专注于处理这些类型的问题。
如果你想要一种快速简便的一行命令来从文件获取文本,我建议你 pip install path.py 并对 Path 对象使用 .text()
>>> from path import Path
>>> from strictyaml import load
>>> parsed_data = load(Path("myfile.yaml").text()).data
>>> print(parsed_data)
[ parsed yaml ]