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

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'))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容