【发布时间】:2023-02-24 03:41:02
【问题描述】:
我有一个 YAML 文件
Version: "1.0"
title1: "Title 1"
title2: [Title 2]
我使用打开文件
def open_file(input_file):
with open(input_file, encoding="utf8") as file:
return_file = yaml.safe_load(file)
return return_file
在运行时它看起来像这样:
{'Version': '1.0', 'title1': 'Title 1', 'title2': ['Title 2']}
我收到的输出是:
Version: "1.0"
title1: Title 1
title2:
- Title 2
如何保留“title1”和“title2”的原始格式?
我这样写文件:
with open(output_file_name, "w", encoding="utf8") as dump_file:
yaml.dump(<runtime_file>, dump_file, Dumper=MyDumper, sort_keys=False, allow_unicode=True)
和
class MyDumper(yaml.SafeDumper):
def write_line_break(self, data=None):
super().write_line_break(data)
if len(self.indents) == 1:
super().write_line_break()
if len(self.indents) == 2:
super().write_line_break()
【问题讨论】: