我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?
我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。
我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?
我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。
当前回答
datetime是一个内置模块,因此没有(Python)源文件。
对于来自.py(或.pyc)文件的模块,可以使用mymodule。__file__。
> import random
> random.__file__
'C:\\Python25\\lib\\random.pyc'
其他回答
Python 3.2中的新功能,你现在可以使用dis模块中的code_info(): http://docs.python.org/dev/whatsnew/3.2.html#dis
从标准库尝试imp.find_module
>>> import imp
>>> imp.find_module('fontTools')
(None, 'C:\\Python27\\lib\\site-packages\\FontTools\\fontTools', ('', '', 5))
>>> imp.find_module('datetime')
(None, 'datetime', ('', '', 6))
看看这个漂亮的"cdp"命令,cd到包含指定Python模块源代码的目录:
cdp () {
cd "$(python -c "import os.path as _, ${1}; \
print _.dirname(_.realpath(${1}.__file__[:-1]))"
)"
}
只是更新答案,以防现在有人需要它,我在Python 3.9和使用Pip来管理包。就用pip show,例如:
pip show numpy
它将为您提供所有详细信息,包括pip存储所有其他包的位置。
如果使用pip来安装模块,只需返回pip show $module位置。