【发布时间】:2020-04-09 11:55:12
【问题描述】:
我想为我的 python 脚本创建一个简单的 mysql 连接类。 script.py中类的预期用途:
import db_connection
db = db_connection.DBConnection()
db.get_cursor()
类本身在脚本db_connect.py:
import mysql.connector
class DBConnection:
def __init__(self):
self.__host="192.168.1.22"
self.__port="3306"
self.__user="somename"
self.__passwd="somepw"
self.__database="mydbname"
def __connect(self):
con = mysql.connector.connect(
self.__host,
self.__port,
self.__user,
self.__passwd,
self.__database
)
print("connected.")
return con
def get_cursor(self):
con = self.__connect()
cursor = con.cursor(dictionary=True)
return cursor
我收到以下错误:
Traceback (most recent call last):
File "C:/.../script.py", line 14, in <module>
db.get_cursor()
File "C:\...\db_connection.py", line 26, in get_cursor
con = self.__connect()
File "C:\...\db_connection.py", line 13, in __connect
con = mysql.connector.connect(
File "C:\...\Python\Python38-32\lib\site-packages\mysql\connector\__init__.py", line 219, in connect
return MySQLConnection(*args, **kwargs)
File "C:\...\Python\Python38-32\lib\site-packages\mysql\connector\connection.py", line 64, in __init__
super(MySQLConnection, self).__init__(*args, **kwargs)
TypeError: __init__() takes 1 positional argument but 6 were given
Process finished with exit code 1
我的类中的 init 函数和 mysql 包 init 函数似乎存在问题。我在 Python 方面太不熟练了,无法理解我做错了什么,因此非常感谢您的帮助。
【问题讨论】: