Форум сайта python.su
Есть пакет (директория paket c файлами например __init__, file1.py, file2.py. file3.py). Нужно получить массив с ссылками на импортированные модули.
Попробовал такой вариант:
import paket package_name_list = [attr for attr in dir(paket) if not attr.startswith('__')] package_list = [] for package_name in package_name_list: package_list.append(getattr(paket, package_name))
Офлайн
вроде все работает.
agrynпросто __init__ или __init__.py?
Есть пакет (директория paket c файлами например __init__, file1.py, file2.py. file3.py)
Офлайн
ilnur
__init__.py
Офлайн
Кому интересно такой вариант заработал стабильно:
import os import resources import importlib package_name_list = [attr[:-3] for attr in os.listdir(os.path.dirname(resources.__file__)) if not attr.startswith('__') and attr.endswith('.py')] package_list = [] for package_name in package_name_list: package_list.append(importlib.import_module(resources.__name__ + '.' + package_name))
Офлайн