Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有嵌套模块结构的from模块导入的PEP样式指南_Python_Python 3.x_Pep8_Pep - Fatal编程技术网

Python 具有嵌套模块结构的from模块导入的PEP样式指南

Python 具有嵌套模块结构的from模块导入的PEP样式指南,python,python-3.x,pep8,pep,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 e、 g.类似于多行导入: 您可以使用importlib.import_模块并使用某种字符串格式。 例如: fro

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

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

from library.lgmodule.medmodule.smmodule.nichemodule.utils.something.else import foo
e、 g.类似于多行导入:

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

from importlib import import_module

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

我认为这个问题告诉您,您的模块需要一个更干净的体系结构。筑巢对我来说太深了。仅回答您的问题,我认为您必须始终在某处提及路径,即使您将其隐藏在导入的别名后面。@progmatico可能是,但遗憾的是,我没有设计库。无论如何,这不是一个太大的交易。这是导入模块的另一种方式,但在我看来并不干净。
from importlib import import_module

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