我很不确定这是否代表了在转储期间流的一般行为,但我正在使用ruamel.yaml进行往返更改。
因此,拿着我的非常简单的YAML:
因此,拿着我的非常简单的YAML:
namespace: default
docker_registry_path: dockerhub/hello
version: 1.0
我加载了YAML:
for config in ruamel.yaml.round_trip_load_all(stream=open(config_path)):
....
do some magic
....
ruamel.yaml.round_trip_dump(config, sys.stdout)) #prints out with no extra newlines
ruamel.yaml.round_trip_dump(config, stream=open(config_path, 'w'))
控制台看起来很好,没有额外的换行符。返回到YAML的流中有一个额外的换行符。虽然我可以写一个处理程序之后截断最后一行,但我觉得这很笨拙,要么我是在错误地转储,要么以这种方式编写流不是我想要的方式。