我正在使用Python中的mysql.connector
创建连接对象。如果我直接在函数中传递主机,用户,密码和数据库的参数,则可以正常工作,但是如果我从YAML文件中获取信息后传递信息,则会引发以下错误:mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
import mysql.connector
import yaml
config_data = yaml.load(open("config.yaml"), Loader=yaml.FullLoader)
def connection_1():
conn = mysql.connector.connect(
host="127.0.0.1",
user="test",
passwd="Orion@123",
database="socketTestDB"
)
c = conn.cursor()
return c, conn
def connection_2():
conn = mysql.connector.connect(
host=config_data["host"],
user=config_data["user"],
passwd=config_data["password"],
database=config_data["database"]
)
c = conn.cursor()
return c, conn
print(connection_1()) # THIS ONE WORKS FINE
print(connection_2()) # THIS ONE DOES NOT
这里是YAML文件内容的屏幕截图
我打印了从YAML文件创建的字典对象的内容,它也可以正常工作,但是在创建连接时仍然无法正常工作。
我可以在密码部分的yaml文件中看到其他,
。删除它。