python

时间:2019-08-13 10:28:37

标签: python import python-import python-importlib

我正在尝试具有相同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将模块导入为对象?对吧?

0 个答案:

没有答案