MySQLdb и регулярное выражение в python - PullRequest
0 голосов
/ 12 марта 2012
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()

вопрос, как я могу использовать это правильно, я не хочу вводить имя пользователя и пароль в скрипте в начале, я хочу это сам, как я хочу.когда я пытаюсь его запустить, я ставлю имя пользователя и пас, после этой ошибки

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

1 Ответ

0 голосов
/ 12 марта 2012

Вам не нужно использовать интерполяцию строк ("%s" % ...) здесь.

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()
...