我一直在更改连接字符串,使用可变数量的键,例如端口、超时等。我将这些存储在字典中,因为我喜欢使用它并且感觉很自然,但我想做的是转换看起来像的东西:
{'host':'localhost', 'user':'postgres', 'password':'xx', 'database':'test', 'socket_timeout':9999, 'ssl':False, 'port':5432}
进入
我可以插入一些东西来代替这个:
conn = DBAPI.connect(host=str(dbsettings['host']), user=(dbsettings['user']), password=str(dbsettings['password']), database=str(dbsettings['database']), ssl=dbsettings['ssl'], port=dbsettings['port'])
我可以使用以下内容构建一个字符串进程:
m = [str(k) + "=" + str(v) for k, v in dbsettings.items()]
但这感觉就像我没有取得成功。如何保留 k 作为关键字和 v 作为字符串并建立一系列关系。
请您参考如下方法:
你根本不需要在这里构建字符串;保留您的字典原样并改用**kwargs 调用语法:
conn = DBAPI.connect(**dbsettings)
这会将 dbsettings 中的每个键值对作为关键字参数传递给 DBAPI.connect() 函数。
