Противоположные одинарные / двойные кавычки с помощью команды pymongo - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь взять пользовательский ввод, создать URI и добавить его с коллекцией в Pymongo, но всякий раз, когда я пытаюсь это сделать, формат портится, и я не могу понять, как это исправить.При запуске строки:

print(db.command("create", "storage", someStorage={ "URI": {FS_URI}}))

, где «Storage» - это коллекция, я хочу, чтобы объект был {«fs»: «что-то: // a: b»} или {'fs': 'что-то: // a: b '}

 FS_URI = ('\"fs\" : \"'+URI+'\"')

выдает ошибку: Невозможно кодировать объект: {' "fs": "что-то: // a: b" '}

FS_URI = ("fs\" : \"%s" % URI)

выдает ошибку "Невозможно кодировать объект: {'fs": "что-то: // a: b'}

FS_URI = ("fs\' : \'%s" % URI)

выдает ошибку" Невозможно кодировать объект: {"fs ':' что-то:// a: b "}

Кавычки всегда не совпадают или имеют дополнительные кавычки вокруг них.Я пробовал команду с фактическим URI в нужном мне формате кавычек, и она отлично работает.

1 Ответ

0 голосов
/ 13 июня 2018

Я обнаружил, что использование dict решило эту проблему, заменив

FS_URI = ("fs\" : \"%s" % URI)

на объект JSON, а не на строку:

FS_URI = {"fs": "{}".format(URI)}

решил эту проблему

...