模
print "this is mod modules ..."
import sys
del sys.modules['mod']
sys.modules['mod'] = "test mod"
main.py
import mod
print mod
当我执行时,显示异常:
# python main.py
this is mod modules ...
Traceback (most recent call last):
File "main.py", line 1, in <module>
import mod
File "/root/test1111/mod.py", line 4, in <module>
sys.modules['mod'] = "test mod"
AttributeError: 'NoneType' object has no attribute 'modules'
我想知道,对不起,是什么原因造成的?
最佳答案
不要删除sys.modules中的内容。它由解释器在内部使用,并且在删除它时可能会发生未定义的行为,尤其是如果您尝试第二次重新导入模块时。
未定义的行为意味着可能会出现怪异的错误,解释程序可能崩溃,或者您的猫可能着火。
关于python - Python del sys.modules触发的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55744510/