Мой исходный файл yaml содержит символы новой строки после тире (-), которые я хочу сохранить после того, как я его выгружу
# This is my yaml
color_1:
blue:
-
# I want to preserve this newline after the dash
width_1: "1"
height_1: [1]
size_1: 4
-
width_1: "2"
height_2: [1,2,3,4]
size_2: 4
Мой код
import sys
from ruamel.yaml import YAML
yaml = YAML()
yaml.preserve_quotes = True
yaml.boolean_representation = ['False', 'True']
yaml.indent(mapping=4, sequence=3, offset=0)
def main():
config_path = "my_yaml_before.yaml"
config = yaml.load(open(config_path))
yaml.dump(config, sys.stdout)
if __name__ == "__main__":
main()
После запуска сценария я вижуфайл дампа, который удаляет символ новой строки, как показано ниже, также я замечаю, что между элементом списка есть дополнительное пространство, которое я тоже не хочу получать
# This is my yaml
color_1:
blue:
# I want to preserve this newline after the dash
- width_1: "1"
height_1: [1]
size_1: 4
- width_1: "2"
height_2: [1, 2, 3, 4]
size_2: 4