找不到thread.py文件
这段代码是什么意思呢?
try:
import thread
except ImportError:
del _sys.modules[__name__]#why
raise
但是我找不到thread.py这个文件。
为什么会有这行代码,del _sys.modules[__name__]
?
2 个回答
0
这肯定是一些自定义的逻辑——在跟踪哪些东西被导入了,以及它们在哪里被使用。在普通的Python 3.1中,这段独立的代码是无法运行的:
>>> try:
import thread
except:
del _sys.modules[__name__]
raise
Traceback (most recent call last):
File "<pyshell#10>", line 4, in <module>
del _sys.modules[__name__]
NameError: name '_sys' is not defined
>>>
你是在哪里找到这个的?
5
这段来自Python的threading.py
的代码是想加载thread
模块的C语言实现。如果加载失败(可能是因为这个模块没有被编译,就像在所有Python版本中一样),那么它会把自己从模块列表中删除,这样threading
就不会显示为已经被导入。
如果你想找thread
模块的源代码,可以在这里找到:http://svn.python.org/projects/python/trunk/Python/thread.c