我有以下问题:
python MySQLdb.connect using variables
我遇到了完全相同的问题,但是我已经检查了数十次,以确保我的变量中的值恰好是我期望的值。
如果使用文字字符串,则每次都可以连接:
db = MySQLdb.connect("my_host","my_user","my_passwd","my_database")
但是,如果我将另一个文件中的值加载到变量中(使用完全相同的值,则没有多余的引号或其他内容,需要反复验证),每次都无法连接:
db = MySQLdb.connect(db_host,db_user,db_passwd,db_name)
据我了解,我正在尝试做的事情应该很好。至少有什么方法可以从MySQLdb.connect命令中提取错误消息吗?
这是我分配变量的块。
db_host, db_user, db_passwd, db_name = '','','',''
f = open("../db_config.txt","r");
configLines = f.readlines();
for i in configLines:
(key,value) = i.split('=')
if (key=='db_host'):
db_host = value
elif (key=='db_user'):
db_user = value
elif (key=='db_passwd'):
db_passwd = value
elif (key=='db_name'):
db_name = value
f.close()
稍后我将它们打印出来时,它们看起来与我成功用作字符串文字的值相同。
没有特殊字符。主机名带有点,例如mysql.chriscalef.com,密码包含数字和字母,其他所有内容都只是字母。