Форум сайта python.su
from pack.mod import f
#как имея теперь объект f восстановить путь откуда она была импортирована - т.е 'pack.mod' ?
Офлайн
>>> from functools import wraps
>>> wraps.__module__
'functools'
Офлайн
thx
Офлайн
Если обращаться к wraps.__module__ из модуля где определена wraps. То там содержится строка “__main__” (а мне нужна ‘functools’) Те значение параметра wraps.__module__ зависит от той точки из которой идет обращение к параметру. Вопрос как получить реальный путь к модулю (относительно sys.path) даже из такой точки?
Нашел такой вариант
inspect.getmodule(wraps).__file__
Отредактировано (Март 10, 2010 20:01:12)
Офлайн
Evg, вы видите честное имя модуля - __main__.
import __main__ - тоже отработает нормально. Что вы хотите получить?
Офлайн
Вообщем проблема в том что мне нужно в определенный момент идентифицировать ф-ю, чтобы потом ее запустить. Так вот я использовал для идентификации ее положения путь импорта + имя функции, чтобы потом иметь возможность импортировать ее в другом месте,но похоже что это (путь импорта+имя) относительные вещи (относительно sys.path). Поэтому придется записывать полный путь к файлу и далее иницировать sys.path и делать просто импорт имени.
Офлайн