python中的MySQLdb和正则表达式
问题我如何才能使用它的权利,我不想输入用户名和密码在脚本开始,我想自己,因为我希望它。当我试着运行它时,我把用户名和密码放在那个错误之后python中的MySQLdb和正则表达式,python,mysql-python,Python,Mysql Python,问题我如何才能使用它的权利,我不想输入用户名和密码在脚本开始,我想自己,因为我希望它。当我试着运行它时,我把用户名和密码放在那个错误之后 import MySQLdb x=raw_input('user> ') y=raw_input('passwd> ') db=MySQLdb.Connect(host="localhost", user="%s", passwd="%s" % x,y) cursor=db.cursor() cursor.execute('GRANT ALL ON
import MySQLdb
x=raw_input('user> ')
y=raw_input('passwd> ')
db=MySQLdb.Connect(host="localhost", user="%s", passwd="%s" % x,y)
cursor=db.cursor()
cursor.execute('GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "connect";')
cursor.execute('GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "connect";')
cursor.close()
回溯(最近一次呼叫最后一次):
文件“test.py”,第8行,在
db=MySQLdb.Connect('host=“localhost”,user=“%s”,passwd=“%s”'%x,y)
TypeError:格式字符串的参数不足
这里不需要使用字符串插值(%s“%…
)
我也更改了
raw_输入
提示的变量名-如果您刚刚更改了代码中的MySQLdb.connect
行,请也调整变量名。@user1259251:请通过左侧的复选标记图标(在向上/向下投票按钮下方)接受正确答案(如果可以的话)。:这是错误的答案,导致问题不在使用inerpolation中,但这是语法错误,db=MySQLdb.Connect('host=“localhost”,user=“%s”,passwd=“%s”'%”(x,y))可以正常工作。如果有多个变量用于插值,则必须将变量的元组传递给%.Traceback(最后一次调用):文件“test.py”,第8行,db=MySQLdb.Connect('host=“localhost”,user=“%s”,passwd=“%s”'”%(x,y))文件“/usr/lib/pymodules/python2.6/MySQLdb/uu init_uuuuuuuuuuuu.py”,第81行,在连接返回连接(*args,**kwargs)文件“/usr/lib/pymodules/python2.6/MySQLdb/connections.py”,第170行,在init super(Connection,self)中,你不明白这是什么吗?另一个例外?您是否将root访问的密码设置为“connect”\'(1)?要有耐心。
Traceback (most recent call last):
File "test.py", line 8, in <module>
db=MySQLdb.Connect('host="localhost", user="%s", passwd="%s"' % x,y)
TypeError: not enough arguments for format string
import MySQLdb
user = raw_input('user> ')
password = raw_input('passwd> ')
db=MySQLdb.connect(host="localhost", user=user, passwd=password)
cursor=db.cursor()
cursor.execute('GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "connect";')
cursor.execute('GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "connect";')
cursor.close()