当我在Python中导入某些内容时,在本例中import time
,从哪里导入time
?导入前模块位于何处?我试着在解释器中的__builtin__
和其他文件夹上使用dir(),但它不在那里。
我在c:\ python文件夹中搜索了一个名为time
的文件,但是没有找到任何结果,但是time.sleep(1)工作得很好,所以它被导入了。它是从网络上自动下载的吗?
我最终想导入一些其他的文本着色模块,但我需要知道这个模块是从哪里来的。谢谢。
关于Aarons的“提问动机”编辑:
[u'',
'C:\\Program Files (x86)\\PyScripter\\Lib\\rpyc.zip',
'C:\\Windows\\system32\\python27.zip',
'C:\\Python27\\DLLs', 'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27', <--- This location
'C:\\Python27\\lib\\site-packages']
这就是我得到的。我将根据J.F.Sebastian所说的猜测,时间模块位于上面标记的位置(C:\ Python27)(在可执行文件中),尽管我的第一个猜测是在lib文件夹中的一个文件中。
我查找了collections
这是一个独立的文件,所以即使这也是标准库,它也存在于磁盘上的一个文件中,我知道它确切的位置。我也想知道这一点,time
(我猜它在.exe中)。
如果我要将自己的模块保存在上面标记的位置(如果不是在哪里),我会将其保存为examplemodule[没有文件扩展名],examplemodule.py吗?,如果使用扩展名保存,则必须使用扩展名导入它,即import examplemodule.py?或者不。
这是一个问题(扩展位),如果我能简单地看到它在磁盘上的文件,但被编译成python可执行文件或Libs目录,我可能会回答这个问题。再次感谢
“time”模块是用C编写的,而在Python2中没有
.__file__
,与其他模块(如collections
)一样。在Python 3(我的系统上是3.4)中:回报
我的主目录中有cpython,可以通过查看
/Modules/timemodule.c
找到源代码这是Mercurial online中的模块:http://hg.python.org/cpython/file/3ae2cd85a908/Modules/timemodule.c
这个老问题的答案已经过时了:How do I find the location of Python module sources?
让我来谈谈这个问题的动机,您关心的是模块的放置位置,以便您可以导入它们。它们的位置必须在sys.path中,第一项是
''
,但在语义上意味着脚本目录。以下是我自己构建的Python 3.4的sys.path输出:
相关问题 更多 >
编程相关推荐