我如何了解一个给定的Python模块的源文件安装在哪里?Windows上的方法和Linux上的方法不同吗?

我特别试图寻找datetime模块的源代码,但我对更一般的答案也感兴趣。


当前回答

在像Spyder这样的IDE中,导入模块,然后单独运行模块。 在这里输入图像描述

其他回答

并非所有的python模块都是用python编写的。Datetime恰好是其中之一,并且(在linux上)是Datetime。

你必须将源代码下载到python标准库才能得到它。

datetime是一个内置模块,因此没有(Python)源文件。

对于来自.py(或.pyc)文件的模块,可以使用mymodule。__file__。

> import random
> random.__file__
'C:\\Python25\\lib\\random.pyc'

在windows上,你可以找到python模块的位置,如下所示:E找到rest_framework模块

下面是一行代码获取模块的文件名,适用于shell别名:

echo 'import sys; t=__import__(sys.argv[1],fromlist=[\".\"]); print(t.__file__)'  | python - 

设置为别名:

alias getpmpath="echo 'import sys; t=__import__(sys.argv[1],fromlist=[\".\"]); print(t.__file__)'  | python - "

使用方法:

$ getpmpath twisted
/usr/lib64/python2.6/site-packages/twisted/__init__.pyc
$ getpmpath twisted.web
/usr/lib64/python2.6/site-packages/twisted/web/__init__.pyc

从命令行运行python -v应该会告诉你导入了什么以及从哪里导入。这在Windows和Mac OS X上都适用。

C:\>python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# C:\Python24\lib\site.pyc has bad mtime
import site # from C:\Python24\lib\site.py
# wrote C:\Python24\lib\site.pyc
# C:\Python24\lib\os.pyc has bad mtime
import os # from C:\Python24\lib\os.py
# wrote C:\Python24\lib\os.pyc
import nt # builtin
# C:\Python24\lib\ntpath.pyc has bad mtime
...

我不知道我安装的那些不好的时光网是什么!