Только разбираюсь в классах, работаю с Excel-файлом, придется много раз открывать его и парсить (будут другие файлы). Работаю через openpyxl. Написал контекст менеджера для того, чтобы открывало и закрывало через load_workbook. Вообще, уровень понимания происходящего как у древнего человека с дубинкой, тыкаюсь во все, что могу - работает, классно, нет - тыкаюсь дальше))00
Ниже представляю контекст менеджера
class load_workbook_ctx_mgr(object):
"""
Класс для открытия и закрытия Excel-файлов
"""
def __init__(self, xl_name) ->None:
"""
Функция для приему Excel - файла
:param xl_name: имя Excel - файла
"""
self.arg = xl_name
def __enter__(self) :
"""
Функия для открытия Excel-файл
"""
self.wb = load_workbook(self.arg, data_only=True)
return self.wb
def __exit__(self, exc_type, exc_val, exc_tb):
"""
Функция для закрытия Excel-файла
:param exc_type:
:param exc_val:
:param exc_tb:
:return:
"""
self.wb.close()
Вот и после этого создаю другой класс, который уже будет бегать по файлам и что-то делать.
class Create_List(object):
"""
Класс для разделения Excel - файла на листы
"""
def __init__(self, xl_name: str):
"""
:param xl_name: имя Excel-файла
"""
with load_workbook_ctx_mgr(xl_name) as workbook:
self.workbook = workbook
Подскажите, он будет так закрывать эксель? А то я не совсем понимаю