I'm trying to load a bunch of utf-8 encoded strings and dump them again with PyYaml. This is the code for loading/dumping:
lang_yml = yaml.load(codecs.open(lang + ".yml.old", "r", "utf-8")) test_file_path = lang + '.yml' stream = file(test_file_path, 'w') yaml.dump(lang_yml, stream, default_flow_style=False, encoding=('utf-8'))
But a strings that start as "En arrière" ends up being saved as "En arri\xE8re". What am I doing wrong?
In this case, yaml. dump will write the produced YAML document into the file. Otherwise, yaml. dump returns the produced document.
safe_load(stream) Parses the given and returns a Python object constructed from the first document in the stream. safe_load recognizes only standard YAML tags and cannot construct an arbitrary Python object.
PyYAML is a YAML parser and emitter for Python.
Found the answer myself. I just had to dump it with the argument
allow_unicode=True
Source: http://dpinte.wordpress.com/2008/10/31/pyaml-dump-option/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With