¿Cómo puedo controlar qué forma escalar utiliza PyYAML para mis datos?

Tengo un objeto con un atributo de cadena corta y un atributo de cadena larga de varias líneas. Quiero escribir la cadena corta como un escalar citado de YAML, y la cadena de varias líneas como un escalar literal:

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

Me gustaría que el YAML se vea así:

short: "Hello"
long: |
  Line1
  Line2
  Line3

¿Cómo puedo indicarle a PyYAML que haga esto? Si llamo ayaml.dump(my_obj), produce una salida tipo dict:

{long: 'line1

    line2

    line3

    ', short: Hello}

(No estoy seguro de por qué el tiempo es doble espacio así ...)

¿Puedo dictarle a PyYAML cómo tratar mis atributos? Me gustaría afectar tanto el orden como el estilo.

Respuestas a la pregunta(8)

Su respuesta a la pregunta