当我使用导入模块时
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/