Перебрал связанные вопросы, но не смог найти этот конкретный ответ.
Мы встраиваем python в наше приложение и добавили хук к sys.meta_path, чтобы разрешить импорт модулей с произвольно названными модулями.(То есть определения модулей не находятся на диске, а определяются в памяти в пакете).
Это допускает такие вещи, как:
import my_module_1#2#31421
или даже:
__import__("my_module_1#2#31321")
Проблема возникает, когда конкретная метка содержит косую черту.
import my_module_1/123/56
или
__import__("my_module_1/123/56")
Создается следующая ошибка, даже до чтениямой meta_path hook.
ImportError: импорт по имени файла не поддерживается.
Я также пробовал такие вещи, как:
import imp imp.load_source('my_module_1', '123/56')
Но, опять же, этодаже не достигает ловушки meta_path.Произвольные имена, которые мне нужно передать, на самом деле похожи на «путь», но не относятся к путям на диске.
У кого-нибудь есть предложения?
Большое спасибо, Роб.