De backslash in het wachtwoord wordt in dit geval geïnterpreteerd als een escape-teken. Python zou de backslash behandelen in \w
als letterlijke \
zelfs als het niet is opgegeven als een onbewerkte tekenreeks omdat \w
is geen geldige escape-reeks, maar de onderliggende bibliotheek ook parseert escape-reeksen
, daarom moet de backslash worden geëscaped (verdubbeld).
Om dit te voorkomen, specificeert u de verbindingsparameters als trefwoordargumenten in plaats daarvan:
psycopg2.connect(host=HOST,
database=DATABASE_NAME,
port=DATABASE_PORT,
user=DATABASE_USER,
password=DATABASE_PASSWORD)
Dit voorkomt problemen met speciale tekens in wachtwoorden. Ook zou een enkel aanhalingsteken in het wachtwoord de verbindingsreeks verbreken.