Как я могу контролировать, какую скалярную форму PyYAML использует для моих данных?

У меня есть объект с атрибутом короткой строки и атрибутом длинной многострочной строки. Я хочу написать короткую строку в виде скаляра YAML в кавычках, а многострочную строку в виде литерального скаляра:

my_obj.short = "Hello"
my_obj.long = "Line1\nLine2\nLine3"

Я бы хотел, чтобы YAML выглядела так:

short: "Hello"
long: |
  Line1
  Line2
  Line3

Как я могу поручить PyYAML сделать это? Если я позвонюyaml.dump(my_obj), это производит похожий на диктат вывод:

{long: 'line1

    line2

    line3

    ', short: Hello}

(Не уверен, почему long такой двойной интервал ...)

Могу ли я диктовать PyYAML, как обращаться с моими атрибутами? Я бы хотел повлиять как на порядок, так и на стиль.

Ответы на вопрос(4)

Ваш ответ на вопрос