我正在探索Python中名称空间的概念,我无法解释以下问题:重新加载builtins
不能有效地重新加载模块。下面是一个例子:
import importlib as il
import os
import mymodule
mymodule.x = 6
print(mymodule.x)
mymodule = il.reload(mymodule)
print(mymodule.x)
import builtins
builtins.print = lambda x : os.system('echo hello')
builtins.print('hi')
builtins = il.reload(builtins)
builtins.print('hi')
其中mymodule只包含赋值x = 5
。输出为:
也许这是个愚蠢的问题,但为什么会有这种行为呢?在
从docs:
相关问题 更多 >
编程相关推荐