我正在尝试具有相同python模块的两个实例。
我看过this,第二个答案似乎很有希望。但是,如果我尝试调用生成的模块上的方法(使用importlib),则会告诉我方法不存在。如果我查看help(module)的名称是正确的,但是没有列出方法
上面链接中接受的解决方案对我也不起作用。该模块已加载,但是在尝试删除它时出现“ KeyError”错误。 (而且我不喜欢这样做的想法)
我有一个本地配置文件,为了测试某些功能我想更改它,因此我需要两次导入相同的模块。基本思想是网络中的p2p,而p2p是在模块中实现的。因此,我需要将其导入两次,以具有不同的端口来连接等。这将不会在生产中使用,仅用于测试。
我的设置基本上是这样的:
test_module.py
from config import local_config
def print_config():
print(local_config)
test.py
import config
config.local_config = "test1"
import test_module as test1
reload(config)
config.local_config = "test2"
import test_module as test2
def test_module():
print(test1.print_config())
print(test2.print_config())
test_module()
有没有办法做到这一点?因为据我所知python将模块导入为对象?对吧?