使用来转义密码urllib.quote()。虽然您只应引用/转义密码,但不包括username:; 否则:遗嘱也将被逃脱%3A。
例如:
import pymongo
import urllib
mongo_uri = "mongodb://username:" + urllib.quote("p@ssword") + "@127.0.0.1:27001/"
client = pymongo.MongoClient(mongo_uri)
上面的代码段已针对MongoDB v3.2.x,Python v2.7
对于Python 3.x,可以使用urllib.parse.quote()来使用%xx转义符替换密码中的特殊字符。例如:
urllib.parse.quote()
以上方法,也适用于:sqlalchemy+pymssql连接语句密码的特殊字符转义:
engine = create_engine("mssql+pymssql://{}:".format(Login)+quote(Password)+"@{}/{}".format(Servername, DBname), echo=True)
浙公网安备 33010602011771号