我正在用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文件创建的dictionary对象的内容,它也可以正常工作,但在创建连接时仍然不起作用
我可以在密码部分的yaml文件中看到另外一个
,
。 移除它最后一个文件如下所示
相关问题 更多 >
编程相关推荐