python密码包含特殊字符的连接字符串

使用sqlalchemy的create_engine创建连接数据库的字符串,如下:

engine = create_engine('postgres://user:pass@host/database')

运行后出错,把密码和数据库地址识别错了,因为密码里包含了特殊字符@,被解释为定界符,导致密码和数据库地址被识别错误,无法连接数据库。

可以使用下面的方式解决:

from urllib import parse

connect = create_engine('mysql+pymysql://user:%s@localhost:3306/database?charset=utf8'% parse.quote_plus('badpass'))

本文作者:肖云

本文链接:http://www.d7dd.com/2021/11/python-sqlalchemy-quote-plus

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。转载请注明出处!

Ubuntu14.04升级到Ubuntu16.04
0 条评论
已登录,注销 取消