Cette chaîne:python ajoute "E" à chaîne
"CREATE USER %s PASSWORD %s", (user, pw)
obtient toujours étendu à:
CREATE USER E'someuser' PASSWORD E'somepassword'
Quelqu'un peut-il me dire pourquoi?
Modifier: La chaîne développée ci-dessus est la chaîne que ma base de données me renvoie dans le message d'erreur. J'utilise psycopg2 pour accéder à ma base de données postgres. Le vrai code ressemble à ceci:
conn=psycopg2.connect(user=adminuser, password=adminpass, host=host)
cur = conn.cursor()
#user and pw are simple standard python strings the function gets as parameter
cur.execute("CREATE USER %s PASSWORD %s", (user, pw))
conn.commit()
Pouvez-vous donner le code complet avec l'utilisateur et pw déclarations? –
Cela doit être dû au comportement de la fonction '__str__' du type' user' et 'pw'. – Philipp
Est-ce une * virgule * après la chaîne littérale? Si c'est le cas, l'expression est simplement un tuple imbriqué, et rien ne se développe jamais. S'il vous plaît montrer le vrai code. – Philipp