Подтвердить что ты не робот

Pyyaml ​​производит нежелательный выход python/unicode

Я использую pyyaml, чтобы выгрузить объект в файл. В объекте есть несколько строк юникода. Я сделал это раньше, но теперь он создает выходные элементы следующим образом:

'item': !!python/unicode "some string"

Вместо желаемого:

'item': 'some string'

Я собираюсь выводить как utf-8. Текущая команда, которую я использую:

yaml.dump(data,file(suite_out,'w'),encoding='utf-8',indent=4,allow_unicode=True)

В других местах я делаю следующее и работает:

codecs.open(suite_out,"w","utf-8").write(
    yaml.dump(suite,indent=4,width=10000)
)

Что я делаю неправильно?

Python 2.7.3

4b9b3361

Ответ 1

Я пробовал много комбинаций, и единственный, который я могу найти, который последовательно производит правильный вывод YAML:

yaml.safe_dump(data, file(filename,'w'), encoding='utf-8', allow_unicode=True)