ten ciąg:pyton dodaje "E" ciąg
"CREATE USER %s PASSWORD %s", (user, pw)
zawsze zostanie rozszerzony do:
CREATE USER E'someuser' PASSWORD E'somepassword'
Czy ktoś może mi powiedzieć dlaczego?
Edytuj: Rozszerzony ciąg powyżej jest ciągiem, który moja baza danych przekazuje mi ponownie w komunikacie o błędzie. Używam psycopg2, aby uzyskać dostęp do mojej bazy danych PostgreSQL. Rzeczywisty kod wygląda następująco:
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()
możesz dać pełny kod z użytkownikiem i pw deklaracje? –
Przyczyną tego może być zachowanie funkcji '__str__' typu' user' i 'pw'. – Philipp
Czy to jest * przecinek * po literale literowym? Jeśli tak, wyrażenie jest po prostu zagnieżdżoną krotką i nic nigdy nie zostanie rozwinięte. Proszę pokazać prawdziwy kod. – Philipp