У вас есть несколько вариантов. Если у вас уже есть объект модуля, вы можете сделать <module>.__file__
, чтобы получить путь:
>>> import time
>>> time.__file__
'/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/time.so'
Однако, часто вы хотите знать местоположение вашего текущего модуля, и в этом случае вы можете использовать:
import inspect
path = inspect.currentframe().f_code.co_filename
(Имейте в виду, что это может быть что угодно, что может быть загружено Python - так что это могут быть .pyd, .pyc, .so, .dll и т. Д.)