2015-06-24 2 views

ответ

6

Прежде всего, url.host приведет к:

AttributeError: 'ParseResult' object has no attribute 'host'

использования url.hostname вместо этого.

Чтобы получить database_name из предоставленного URL, используйте path:

url.path[1:] 

Альтернативой «Не изобретать колесо» способ подойти к проблеме будет использовать sqlalachemy ' s make_url(), который regexp-based:

In [1]: from sqlalchemy.engine.url import make_url 

In [2]: url = make_url("MYSQL://username:[email protected]:100/database_name") 

In [3]: print url.username, url.password, url.host, url.port, url.database 
username password host 100 database_name 
+0

Я изменил свой код: g ['db'] = mysql.connector.connect (user = url.username, password = url.password, host = url.hostname, port = url.port, путь = url.path [1:]), но теперь он дает мне ошибку: errorraise AttributeError («Неподдерживаемый аргумент» {0} '". Format (key)) app [stderr.0]: AttributeError: Неподдерживаемый аргумент' path ' – guri

1

изменения пути в 'database': url.path [1:] работал для меня.