получить путь от имени модуля - PullRequest
4 голосов
/ 02 марта 2012

Я уверен, что есть простой способ получить путь к модулю с помощью modulename, верно? То есть Я хочу получить / path / to / module из path.to.module предпочтительно в python 2.7.

Я не собираюсь импортировать модуль, и у меня есть имя модуля в виде строки.

Ответы [ 3 ]

10 голосов
/ 02 марта 2012

Это довольно легко после импорта модуля:

import os
print os.__file__

печать

/usr/lib/python2.7/os.pyc

на моей машине.

Чтобы сделать это перед импортом модуля, вы можете использовать imp.find_module():

imp.find_module("os")[1]
6 голосов
/ 02 марта 2012

sys.modules['path.to.module'].__file__

Python 2.7.2+ (default, Oct  4 2011, 20:06:09) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import collections
>>> import sys
>>> sys.modules['collections'].__file__
'/usr/lib/python2.7/collections.pyc'
>>>
1 голос
/ 02 марта 2012
path = path.to.module.__file__
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...