Курс Python → Импорт модуля из другого каталога

Для импорта модуля из другого каталога в Python мы можем использовать библиотеку importlib. Это может быть полезно, если у нас есть несколько проектов или папок с модулями, и нам нужно импортировать модуль из одной папки в другую. Для этого нам нужно указать путь к нужному каталогу и использовать функцию import_module из importlib.

import importlib.util
spec = importlib.util.spec_from_file_location("module_name", "/path/to/module.py")
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)

В этом примере мы создаем спецификацию модуля, указывая имя модуля и путь к файлу модуля. Затем мы создаем объект модуля из спецификации и выполняем этот модуль. Теперь мы можем использовать функции и переменные из этого модуля в нашем скрипте.

Если мы хотим использовать модуль из другого каталога несколько раз, то мы можем создать функцию, которая будет выполнять этот процесс импорта. Таким образом, мы можем избежать дублирования кода и упростить процесс импорта модуля из другого каталога.

def import_module_from_path(module_name, path):
    spec = importlib.util.spec_from_file_location(module_name, path)
    module = importlib.util.module_from_spec(spec)
    spec.loader.exec_module(module)
    return module

Теперь мы можем вызвать эту функцию с именем модуля и путем к файлу модуля, и она вернет объект модуля, который мы можем использовать в нашем скрипте. Таким образом, мы можем удобно импортировать модули из других каталогов в Python с помощью библиотеки importlib.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Сравнение объектов в Python
  2. Получение текущего времени в Python
  3. Капитализация строк
  4. Контекстный менеджер в Python
  5. Роль object и type в Python
  6. Фильтрация последовательности
  7. Переопределение метода
  8. Разделение строки на подстроки в Python
  9. Поиск индексов подстроки
  10. Переменные класса и экземпляра
  11. Pillow: работа с изображениями
  12. Установка random seed в Python
  13. enumerate() в Python для работы с индексами
  14. Асинхронное программирование с asyncio
  15. ChainMap избыточные ключи
  16. Проверка на палиндром
  17. Очистка данных с Pandas
  18. F-строки в Python 3.8
  19. Создание пустых функций и классов в Python
  20. Оператор объединения словарей
  21. Работа с переменными в Python
  22. Присвоение и ссылки
  23. Создание панели меню Tkinter
  24. Списки: объединение, изменение
  25. Класс UserDict: дополнительная функциональность
  26. Явный импорт переменных
  27. Структурирование данных с Pydantic
  28. Курс Data Scientist в медицине
  29. Метод ne для сравнения объектов
  30. Поток данных в Python
  31. Разбиение строки в Python
  32. Python OrderedDict и fromkeys() — работа с словарями
  33. Расширение информации об ошибке в Python
  34. Форматирование вывода с F-строками
  35. Присвоение значений переменным в Python
  36. Удаление специальных символов с помощью re.sub
  37. Функции с необязательными аргументами
  38. Аннотации типов в Python
  39. Логирование с Logzero
  40. Библиотека sh: использование команд bash в Python
  41. Работа с IP-адресами в Python
  42. Избегайте пустого списка
  43. Особенности ключей словаря в Python
  44. Работа с модулем cmath
  45. Распаковка элементов последовательности
  46. Оператор Walrus: правильное использование

Marketello читают маркетологи из крутых компаний