导入的 module.submodule 个名称空间相互干扰
imported module.submodule namespaces interfering with eachother
所以我非常深入地制作自定义 job/process 自定义管理器模块,当我开始集成它时,我遇到了一个我以前从未见过的与模块和命名空间的交互。
代码胜于雄辩:
所以有两个略有不同的脚本:
测试 1:
import jobManager
jobManager.jobMap = {'test1':'test123'}
和测试 2:
import jobManager
jobManager.jobMap = {'test2':'test222'}
顶级脚本:
import test1
import test2
print(test1.jobManager.jobMap)
print(test2.jobManager.jobMap)
所以当我运行它打印的顶级脚本时:
{'test2':'test222'}
{'test2':'test222'}
但我的预期输出是:
{'test1':'test123'}
{'test2':'test222'}
这只是 test1.jobManager 和 test2.jobManager 实际上是同一个命名空间的情况吗?有没有办法让它们分开?
Is this just a case where test1.jobManager and test2.jobManager are actually the same namespace?
是的。
Is there a way to keep them separate?
不创建另一个模块就不行。
所以我非常深入地制作自定义 job/process 自定义管理器模块,当我开始集成它时,我遇到了一个我以前从未见过的与模块和命名空间的交互。
代码胜于雄辩:
所以有两个略有不同的脚本:
测试 1:
import jobManager
jobManager.jobMap = {'test1':'test123'}
和测试 2:
import jobManager
jobManager.jobMap = {'test2':'test222'}
顶级脚本:
import test1
import test2
print(test1.jobManager.jobMap)
print(test2.jobManager.jobMap)
所以当我运行它打印的顶级脚本时:
{'test2':'test222'}
{'test2':'test222'}
但我的预期输出是:
{'test1':'test123'}
{'test2':'test222'}
这只是 test1.jobManager 和 test2.jobManager 实际上是同一个命名空间的情况吗?有没有办法让它们分开?
Is this just a case where test1.jobManager and test2.jobManager are actually the same namespace?
是的。
Is there a way to keep them separate?
不创建另一个模块就不行。