Esta cadena:pitón añade "E" de la cadena
"CREATE USER %s PASSWORD %s", (user, pw)
siempre se sale ampliado para:
CREATE USER E'someuser' PASSWORD E'somepassword'
¿Puede alguien decirme por qué?
Edit: La cadena expandida anterior es la cadena que mi base de datos me devuelve en el mensaje de error. Estoy usando psycopg2 para acceder a mi base de datos postgres. El código real se ve así:
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()
¿Puede dar código completo con el usuario y PW declaraciones? –
Esto debe ser causado por el comportamiento de la función '__str__' del tipo de' user' y 'pw'. – Philipp
¿Es eso una * coma * después de la cadena literal? Si es así, la expresión es simplemente una tupla anidada, y nunca se expande nada. Por favor muestra el código real. – Philipp