Dấu gạch chéo ngược trong mật khẩu trong trường hợp này được hiểu là ký tự thoát. Python sẽ xử lý dấu gạch chéo ngược trong \w
dưới dạng chữ \
ngay cả khi nó không được chỉ định là một chuỗi thô vì \w
không phải là một chuỗi thoát hợp lệ, nhưng thư viện bên dưới cũng trình tự thoát phân tích cú pháp
, do đó dấu gạch chéo ngược phải được thoát ra (nhân đôi).
Để tránh điều này, hãy chỉ định các tham số kết nối làm đối số từ khóa thay vào đó:
psycopg2.connect(host=HOST,
database=DATABASE_NAME,
port=DATABASE_PORT,
user=DATABASE_USER,
password=DATABASE_PASSWORD)
Điều này tránh các vấn đề với các ký tự đặc biệt trong mật khẩu. Ngoài ra, một đoạn mã trích dẫn duy nhất trong mật khẩu sẽ phá vỡ chuỗi kết nối.