这个字符串:蟒蛇加 “E” 串
"CREATE USER %s PASSWORD %s", (user, pw)
总是被扩展为:
CREATE USER E'someuser' PASSWORD E'somepassword'
谁能告诉我为什么?
编辑: 上面展开的字符串是我的数据库让我回到错误消息中的字符串。我使用psycopg2来访问我的postgres数据库。真实代码如下所示:
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()
可以充分代码与用户和PW声明? – 2010-08-01 13:43:58
这必须由'user'和'pw'类型的__str__'函数的行为引起。 – Philipp 2010-08-01 13:45:11
是字符串文字之后的*逗号*吗?如果是这样,表达式只是一个嵌套元组,并且什么都不会扩展。请显示真实的代码。 – Philipp 2010-08-01 14:21:44