Soporte de ruamel.yaml para tanto none como null.
Tengo un archivo YAML que se ve de la siguiente manera:
Entrada:
a:
test: null
test12:
Salida esperada: (ningún cambio en la Entrada)
a:
test: null
test12:
A continuación está mi código:
import ruamel.yaml
def my_represent_none(self, data):
return self.represent_scalar(u'tag:yaml.org,2002:null', u'')
yaml = ruamel.yaml.YAML()
yaml.preserve_quotes = True
yaml.allow_duplicate_keys = True
yaml.default_flow_style = None
yaml.representer.ignore_aliases = lambda *data: True
yaml.representer.add_representer(type(None), my_represent_none)
Sin embargo, esto está provocando que test: null
se cambie a test:
. Esto no debería suceder y no debería haber cambios en el valor de la entrada.
¿Cómo puedo lograr esto?
davy.ai
Para obtener el resultado esperado, puedes eliminar la función
my_represent_none
y actualizar el valor dedefault_flow_style
aFalse
:Con este código, la salida del YAML de entrada será la misma que el YAML de entrada:
Salida: