在python中将字典转换为key = value连接字符串的智能方法

dis*_*ive 1 python

我总是更改连接字符串,使用可变数量的键,如端口,超时等等.我将它们存储在字典中,因为我喜欢使用它,感觉很自然,但我想做的是转换看起来很像的东西喜欢:

{'host':'localhost', 'user':'postgres', 'password':'xx', 'database':'test', 'socket_timeout':9999, 'ssl':False, 'port':5432}
Run Code Online (Sandbox Code Playgroud)

我可以插入的东西代替这个:

conn = DBAPI.connect(host=str(dbsettings['host']), user=(dbsettings['user']), password=str(dbsettings['password']), database=str(dbsettings['database']), ssl=dbsettings['ssl'], port=dbsettings['port'])
Run Code Online (Sandbox Code Playgroud)

我可以使用以下内容构建一个字符串:

m = [str(k) + "=" + str(v) for k, v in dbsettings.items()]
Run Code Online (Sandbox Code Playgroud)

但这感觉我没有领先.如何将k保留为关键字,将v保留为字符串并构建一系列关系.

Mar*_*ers 6

你不需要在这里建立一个字符串在所有 ; 按原样保留字典并使用**kwargs调用语法:

conn = DBAPI.connect(**dbsettings)
Run Code Online (Sandbox Code Playgroud)

这会将每个键值对dbsettings作为关键字参数传递给DBAPI.connect()函数.