当密码包含特殊字符时编写连接字符串。
- 论坛
- 当密码包含特殊字符时编写连接字符串。
17 浏览
当密码包含特殊字符时编写连接字符串。
我正在一个Python项目中使用SQLalchemy,并且希望有一个简洁的连接字符串来访问我的数据库。例如:
engine = create_engine('postgresql://user:pass@host/database')
问题是我的密码包含一系列特殊字符,在尝试连接时会被解释为分隔符。
我意识到我可以使用engine.URL.create()
,然后像这样传递我的凭据:
import sqlalchemy as sa connection_url = sa.engine.URL.create( drivername="postgresql", username="user", password="p@ss", host="host", database="database", ) print(connection_url) # postgresql://user:p%40ss@host/database
但如果可能的话,我更愿意使用连接字符串。
所以明确一下,有没有可能对我的连接字符串进行编码,或者对连接字符串的密码部分进行编码,以便能够正确解析?