[转载][已解决]SQLalchemy连接数据库时密码包含特殊字

2017-02-09  本文已影响0人  ukeyim

SQLalchemy连接数据库时要用一串url形如“mysql+pymysql://user:passwd@host/database
当passwd包含“@”的时候这串url就没法正常解析了。
在SO上看到的答案,使用python的url解析库
http://stackoverflow.com/questions/1423804/writing-a-connection-string-when-password-contains-special-characters

python2
from urllib import quote_plus as urlquote
from sqlalchemy.engine import create_engine
engine = create_engine('postgres://user:%s@host/database' % urlquote('badpass'))

python3
from urllib import parse
from sqlalchemy.engine import create_engine
engine = create_engine('postgres://user:%s@host/database' % parse.unquote_plus('badpass'))

上一篇 下一篇

猜你喜欢

热点阅读