如何用Python的ruamel.yaml为YAML序列添加内部空格
解决ruamel.yaml流式序列添加内部空格的问题
你可以通过开启ruamel.yaml的preserve_space_in_flow配置项,让流式风格的序列输出时自动添加括号内外的空格。修改后的代码如下:
#!/usr/bin/env python import sys from ruamel.yaml import YAML, CommentedSeq, CommentedMap yaml = YAML() # 启用流式风格中的空格保留,会自动在括号内外添加空格 yaml.preserve_space_in_flow = True numbers = CommentedSeq() numbers.fa.set_flow_style() numbers.extend([1, 2, 3]) root = CommentedMap() root['numbers'] = numbers yaml.dump(root, sys.stdout)
执行这段代码后,输出就会变成:
numbers: [ 1, 2, 3 ]
如果需要更精细的格式控制,还可以通过yaml.indent()方法调整缩进参数,但针对你的需求,开启preserve_space_in_flow就足够实现目标输出。
内容的提问来源于stack exchange,提问作者Huw Walters
相关产品推荐
相关产品推荐

