为什么不能将变量传递到MySQLdb.connect()?

时间:2019-09-20 17:44:38

标签: python mysql connect

我有以下问题:

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,密码包含数字和字母,其他所有内容都只是字母。

0 个答案:

没有答案