Я хочу вызвать метод connect()
в моем методе __init__()
внутри моего класса db_connector()
.Метод вызова класса внутри __init__
Вот мой код до сих пор:
class db_connector(object):
def connect(self, db_data):
try:
self.__con = psycopg2.connect(database = db_data['dbname'], user = db_data['user'])
self.__cur = self.__con.cursor()
logging.info(" Successfully connected to db.")
return True
except psycopg2.DatabaseError:
logging.exception(" Error while connecting to db. Maybe check your login-data.")
return False
def __init__(self, db_data):
self.__con = None
self.__cur = None
if self.__con:
self.connect(db_data)
я получаю:
TypeError: object() takes no parameters
Я также попытался переключения позиции из __init__()
и connect()
, так __init__()
закончилась connect()
- но в этом случае, он даже не может найти метод connect()
.
Идеи?
Ошибка указывает, что вы ошибочно написали имя метода '__init__'. –
Да, потому что он пытается вызвать объект .__ init__ .. Но это не проблема с ошибкой. – jwi
Вы не дали нам * воспроизводимый образец * здесь; мы не можем видеть, как вы * используете * этот класс, и не включали полную трассировку. –