找不到thread.py文件

2 投票
2 回答
1313 浏览
提问于 2025-04-15 17:36

这段代码是什么意思呢?

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

撰写回答