删除模块后重新导入模块
ReImporting a module after deleting it
我想了解导入的工作原理
我导入了一个名为 funcs 的模块作为 import funcs
它在 funcs 模块
中打印了一行 "funcs print"
我删除了它的字节码文件并执行 del funcs 取消导入它
我又导入了,但是这次没有打印出来"funcs print"
为什么是什么原因。
我知道 reload(funcs) 的作用,但想在使用 del[=36= 之后了解 import ]
如有任何帮助,我们将不胜感激。
您可能想在 Python shell:
中试试这个
>>> import sys
>>> "funcs" in sys.modules
False
>>> import funcs
funcs print
>>> "funcs" in sys.modules
True
>>> sys.modules["funcs"] is funcs
True
>>> del funcs
>>> "funcs" in sys.modules
True
>>> sys.modules["funcs"]
<module 'funcs' form 'funcs.pyc'>
>>> del sys.modules["funcs"]
>>> import funcs
funcs print
长话短说,import
首先检查模块是否已加载(在 sys.modules
中),只有在未加载时才加载它。
我想了解导入的工作原理
我导入了一个名为 funcs 的模块作为 import funcs
它在 funcs 模块
中打印了一行 "funcs print"我删除了它的字节码文件并执行 del funcs 取消导入它
我又导入了,但是这次没有打印出来"funcs print"
为什么是什么原因。
我知道 reload(funcs) 的作用,但想在使用 del[=36= 之后了解 import ]
如有任何帮助,我们将不胜感激。
您可能想在 Python shell:
中试试这个>>> import sys
>>> "funcs" in sys.modules
False
>>> import funcs
funcs print
>>> "funcs" in sys.modules
True
>>> sys.modules["funcs"] is funcs
True
>>> del funcs
>>> "funcs" in sys.modules
True
>>> sys.modules["funcs"]
<module 'funcs' form 'funcs.pyc'>
>>> del sys.modules["funcs"]
>>> import funcs
funcs print
长话短说,import
首先检查模块是否已加载(在 sys.modules
中),只有在未加载时才加载它。