конвертировать строку dsn в python в kwargs

У меня есть простая строка, которая описывает соединение mysql. Строка находится в следующем виде:

dsn = 'user=dbuser database=mydbase host=localhost' 

эта строка может содержать многие из перечисленных в параметрах соединения, перечисленных здесь:

 http://dev.mysql.com/doc/connector-python/en/connector-python-connectargs.html 

в основном, когда вы подключаетесь к базе данных, вы делаете что-то вроде:

 cnx = MySQLConnection(user='dbuser', database='mydbase', host='localhost') 

Я хочу создать аргументы name = value для создания класса из строки. Поэтому я создал код для преобразования из строкового формата в формат словаря, который я могу вызвать с помощью оператора **. Я сделал это так:

 import json, re cnx = MySQLConnection(**json.loads('{'+','.join(re.sub(r'([a-z0-9_-]*)=([a-z0-9_-]*)','"\\1":"\\2"',dsn).split())+'}')) 

Он работает путем нахождения шаблонов name = value в строке и изменения их на «name»: «value» строковые сегменты, он объединяет их с запятыми между каждым сегментом, записывает новую строку с {} символами (что создает строку json), затем загружает json, чтобы получить это в формате словаря. Для меня это кажется слишком сложным. Есть ли более простой способ конвертировать из строки, подобной этой, в словарь?

Python - лучший язык программирования в мире.