Есть класс:
class UseDatabase:
def __init__(self, config: dict) -> None:
self.configuration=config
def __enter__(self) -> 'cursor':
self.conn=mysql.connector.connect(**self.configuration)
self.cursor=self.conn.cursor()
return self.cursor
def __exit__(self, exc_type, exc_value, exc_trace) -> None:
self.conn.commit()
self.cursor.close()
self.conn.close()
Затем в окне редактирование:
>>> from DBcm import UseDatabase
>>> dbconfig={'host':'127.0.0.1', 'user':'vsearch', 'password':'pass', 'database
':'vsearchlogDB'}
>>> with UseDatabase (dbconfig) as cursor:
... _SQL="""show database"""
... cursor.execute(_SQL)
... data=cursore.fetchall()
...
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\администратор\.PyCharm2019.2\config\scratches\DBcm.py", line 8,
in __enter__
self.conn=mysql.connector.connect(**self.configuration)
AttributeError: 'UseDatabase' object has no attribute 'mysql'
>>>
Не могу понять почему ошибка, в самоучителе все так и записано
-
Вопрос задан
-
202 просмотра