PEP样式指南,用于使用非常嵌套的模块结构从模块导入

时间:2018-11-30 12:54:46

标签: python python-3.x pep8 pep

假设我需要函数foo,而foo恰好是在library.lgmodule.medmodule.smmodule.nichemodule.utils.something.else下定义的

有没有一种更简洁的书写方式:

from library.lgmodule.medmodule.smmodule.nichemodule.utils.something.else import foo

例如类似于多行import

from module.utiles import (foo, bar, baz, ban, ana,
    some, more, funcs, etc)

1 个答案:

答案 0 :(得分:1)

您可以使用importlib.import_module并使用某种字符串格式。 例如:

from importlib import import_module

path = '.'join[
    'library',
    'lgmodule',
    'medmodule',
    'smmodule',
    'nichemodule',
    'utils',
    'something',
    'else'
]
foo = import_module('{}.foo'.format(path)