转载自StackOverflow
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
1 2 3 4
| python2 from urllib import quote_plus as urlquote from sqlalchemy.engine import create_engine engine = create_engine('postgres://user:%s@host/database' % urlquote('badpass'))
|
1 2 3 4
| python3 from urllib import parse from sqlalchemy.engine import create_engine engine = create_engine('postgres://user:%s@host/database' % parse.unquote_plus('badpass'))
|