相反 single/double 引号使用 pymongo 命令

Opposite single/double quotes using pymongo command

我正在尝试接受用户输入,创建一个 URI,然后将其添加到 Pymongo 中的一个集合中,但每当我尝试这样做时,格式就会变得混乱,我无法弄清楚如何修复它。 当 运行 行时:

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

其中 "Storage" 是集合, 我希望对象是 {"fs" : "something://a:b"} 或 {'fs' : 'something://a:b'}

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

给出错误:无法编码对象:{'"fs" : "something://a:b"'}

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

给出错误“无法编码对象:{'fs" : "something://a:b'}

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

给出错误“无法编码对象:{"fs' : 'something://a:b"}

引号总是不匹配,或者周围有额外的引号。 我已经尝试使用我想要的引用格式的实际 URI 命令,它运行完美。

我发现使用字典解决了这个问题,方法是更改​​

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

到 JSON 对象而不是字符串:

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

解决了这个问题