Python写入YAML文件:如何避免换行,生成指定同行格式?
解决方法
问题出在你给字典的键赋值的是仅含单个元素的列表,YAML规范中序列(对应Python的列表)默认会渲染成换行带短横线的格式。要得到你需要的单行键值对格式,只需把字典的值从列表改成单个字符串即可。
修改后的代码
import yaml Key = ["STAGE0", "STAGE1"] # 避免用dict作为变量名,会覆盖Python内置的dict类型 summary_dict = {} summary_dict[Key[0]] = "WHY newline?" summary_dict[Key[1]] = ' ' with open("SUMMARY.YAML", "w") as file_yaml: # default_flow_style=False确保映射使用块样式,值与键同行显示 yaml.dump(summary_dict, file_yaml, default_flow_style=False)
生成的YAML内容
STAGE0: WHY newline? STAGE1: ' '
补充说明
- 不要使用
dict作为变量名,这会覆盖Python内置的dict类型,可能导致后续代码出现意外错误。 - 如果后续需要给键添加多个值(即真正的列表),YAML会自动切换回换行带短横线的序列格式,这符合YAML的规范。
内容的提问来源于stack exchange,提问作者Ayan Mitra
相关产品推荐
相关产品推荐

