当我使用导入模块时

import module_name

是否可以查看该模块在硬盘中的什么位置?

最佳答案

值得一提的是,软件包的__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']

关于python - 如何获得模块位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4421061/

10-11 19:37