Вантажники

Оновлено: 28.04.2023

Завантажувачі модулів забезпечують критичну функцію завантаження: виконання модуля. Механізм імпорту викликає метод importlib.abc.Loader.exec_module() з одним аргументом, об’єктом модуля, який потрібно виконати. Будь-яке значення, повернуте з exec_module() ігнорується.

Вантажники повинні відповідати таким вимогам:

У багатьох випадках шукач і завантажувач можуть бути одним і тим же об’єктом; у таких випадках метод find_spec() просто повертатиме специфікацію із завантажувачем, встановленим на self.

Завантажувачі модулів можуть вибрати створення об’єкта модуля під час завантаження, реалізувавши метод create_module(). Він приймає один аргумент, специфікацію модуля, і повертає новий об’єкт модуля для використання під час завантаження. create_module() не потребує встановлення жодних атрибутів для об’єкта модуля. Якщо метод повертає None, механізм імпорту створить новий модуль сам.