Python ruamel.yaml - сохранение одинарной кавычки в значении при выводе yaml - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь выгрузить словарь в yaml и сталкиваюсь со следующей проблемой.

connection = dict()
connection['authentication']= 'Username Password'
connection['dbname']= '{{client}}_DB'

ruamel.yaml.round_trip_dump(connection, sys.stdout)

Что я получил:

  connection:
    authentication: Username Password
    dbname: '{{client}}_DB'

Мы видим, что одинарные кавычки удаляются из аутентификации но не из dbname.

Что я ожидал:

  connection:
    authentication: 'Username Password'
    dbname: '{{client}}_DB'

Полный пример с терминала

>>> import sys
>>> import ruamel.yaml
>>> connection = dict()
>>> connection['authentication']= 'Username Password'
>>> connection['dbname']= '{{client}}_DB'
>>> ruamel.yaml.round_trip_dump(connection, sys.stdout)
authentication: Username Password
dbname: '{{client}}_DB'
>>> print(connection)
{'authentication': 'Username Password', 'dbname': '{{client}}_DB'}
>>> 

yaml печатается без одинарных кавычек. Мое требование - иметь одинарную кавычку вокруг значения

1 Ответ

0 голосов
/ 14 февраля 2020

Кавычки здесь просто означают, что вы вводите строку. Если вы хотите добавить одинарные кавычки в «Пароль пользователя», просто используйте двойные кавычки:

connection['authentication'] = "'Username Password'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...