Maison >développement back-end >Tutoriel Python >Comment se connecter à une base de données avec un mot de passe à caractères spéciaux en Python à l'aide de SQLAlchemy ?

Comment se connecter à une base de données avec un mot de passe à caractères spéciaux en Python à l'aide de SQLAlchemy ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 21:08:02563parcourir

How to Connect to a Database with a Special Character Password in Python Using SQLAlchemy?

Connexion à une base de données avec un mot de passe de caractère spécial dans le cadre d'une chaîne de connexion bien rangée en Python à l'aide de SQLalchemy

SQLAlchemy est une bibliothèque Python populaire pour l'interaction avec la base de données. Lors de l'établissement d'une connexion, il est préférable d'utiliser une chaîne de connexion bien rangée. Cependant, rencontrer des problèmes lors de l'interprétation des caractères spéciaux dans le mot de passe peut être frustrant.

Le dilemme de l'encodage

Pour surmonter ce défi, il est essentiel d'encoder le mot de passe par URL. partie de la chaîne de connexion pour garantir une analyse correcte.

Solution utilisant quote_plus

Pour y parvenir, implémentez le code suivant :

from urllib.parse import quote_plus
from sqlalchemy.engine import create_engine

# Encode the password
encoded_password = quote_plus("p@ss")

# Construct the connection string
connection_string = "postgres://user:{}@host/database".format(encoded_password)

# Create the engine
engine = create_engine(connection_string)

Encodage en coulisses

L'implémentation sous-jacente de SQLAlchemy échappe aux mots de passe de la même manière en codant l'URL du mot de passe lors de la conversion des instances d'URL en chaînes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn