Python中的简单YAML

Python中的简单YAML,python,yaml,Python,Yaml,我有一个数字代码,到目前为止,它有一堆prints,在计算过程中提供了几条信息 为了便于我处理信息,我使用了YAML。对于C++,存在以下语法< /p> YAML::Emitter out; out << YAML::BeginSeq; out << "eggs"; out << "bread"; out << "milk"; out << YAML::EndSeq; 哇,太啰嗦了。您知道一个不太详细的语法/pythonyaml包吗?

我有一个数字代码,到目前为止,它有一堆
print
s,在计算过程中提供了几条信息

为了便于我处理信息,我使用了YAML。对于C++,存在以下语法< /p>
YAML::Emitter out;
out << YAML::BeginSeq;
out << "eggs";
out << "bread";
out << "milk";
out << YAML::EndSeq;
哇,太啰嗦了。您知道一个不太详细的语法/pythonyaml包吗?
当然,总是有
yaml.dump()
,但是数据立即被写出是很重要的。

PyYAML试图确保其输出总是格式良好的,因此您不能发出部分文档

解决方案是始终发出完整的文档

import yaml
print yaml.dump(["eggs", "bread", "milk", "squick"], explicit_start=True)
print yaml.dump(dict(a=1, b=2, c=3), explicit_start=True)

这将输出一个包含2个文档的流,您可以使用
yaml加载该流。load\u all

PyYAML尝试确保其输出总是格式良好的,因此您不能发出部分文档

解决方案是始终发出完整的文档

import yaml
print yaml.dump(["eggs", "bread", "milk", "squick"], explicit_start=True)
print yaml.dump(dict(a=1, b=2, c=3), explicit_start=True)

这将输出一个包含2个文档的流,您可以使用
yaml加载。load_all

这与“向我推荐一些X”问题非常接近,因此不适合加载。我建议特别要求一个不太详细的Python YAML库(或者一种使PyYAML不那么详细的方法);重新制定。这是一个危险的接近“推荐给我一些X”的问题,所以这不是一个合适的地方。我建议特别要求一个不太详细的Python YAML库(或者一种使PyYAML不那么详细的方法);重新制定。什么是“部分文件”?就我所知,YAML没有任何结束标记(除了显式列表和dict的“]”和“}”),而且不管怎样,上面这个冗长的YAML.emit代码也产生了一些有意义的东西。嗯,虽然在这里不可能嵌套内容,但转储完整的目录和列表将是一种选择。什么是“部分文档”?就我所知,YAML没有任何结束标记(除了显式列表和dict的“]”和“}”),而且不管怎样,上面这个冗长的YAML.emit代码也产生了一些有意义的东西。嗯,虽然在这里不可能嵌套内容,但转储完整的目录和列表将是一种选择。