如何获取模块位置

时间:2010-12-12 09:46:12

标签: python

当我使用

导入模块时
import module_name

是否可以看到我的硬盘中该模块的位置?

4 个答案:

答案 0 :(得分:10)

值得一提的是,包具有__file__属性,该属性指向__init__.py,它们也有__path__指向包目录。所以你可以使用hasattr(module_name, '__path__') and module_name.__path__[0] or module_name.__file__

示例(在REPL中):

import socket, SOAPpy # SOAPpy is a package
socket.__file__
# .../python2.5/socket.pyc
socket.__path__
# AttributeError: 'module' object has no attribute '__path__'
SOAPpy.__file__
# .../2.5/site-packages/SOAPpy/__init__.pyc
SOAPpy.__path__
# ['.../2.5/site-packages/SOAPpy']

答案 1 :(得分:3)

尝试:module_name.__file__

如果您想“检查”某个对象,请使用:inspect

答案 2 :(得分:1)

import module_name
module_name.__file__

答案 3 :(得分:0)

您可以使用模块的文件属性来查找位置。

import sys print sys.__file__