1

我认为我的数学包中出现了一些问题,我想确保我正在加载正确的模块。如何检查 python 中加载模块的物理文件位置?

4

3 回答 3

4

使用__file__属性:

>>> import numpy
>>> numpy.__file__
'/usr/lib/python2.7/dist-packages/numpy/__init__.pyc'

请注意,用 C 编写并静态链接到解释器的内置模块没有此属性:

>>> import math
>>> math.__file__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute '__file__'

获取文件路径的另一种方法是使用inspect.getfile. TypeError如果传递的对象是内置模块、类或函数,则会引发。

附带说明一下,您应该避免使用与语言内​​置或标准库模块冲突的名称。所以,我建议你将你的math包重命名为别的东西,或者,如果它是一个包的一部分,比如mypackage.math,避免直接导入它并改用它mypackage.math

于 2013-02-03T15:49:42.620 回答
1

检查themodule.__file__

import urllib
print urllib.__file__
于 2013-02-03T15:49:42.033 回答
1
>>> import math
>>> math.__file__
'/usr/lib/python2.7/lib-dynload/math.so'
于 2013-02-03T15:49:53.743 回答