小编use*_*880的帖子

python import * 或其他级别的列表

我正在尝试从另一个级别的模块中导入一些类。我可以输入所有类,但我试图动态地输入

如果我做:

from ..previous_level.module import *
    raise: SyntaxError: import * only allowed at module level
Run Code Online (Sandbox Code Playgroud)

来自 myapp 文件夹的相同内容:

from myapp.previous_level.module import *
    raise: SyntaxError: import * only allowed at module level
Run Code Online (Sandbox Code Playgroud)

所以我认为:

my_classes = ['Class_Foo', 'Class_Bar']
for i in my_classes:
    from ..previous_level.module import i
        raise: ImportError: cannot import name 'i'
Run Code Online (Sandbox Code Playgroud)

并且:

my_classes = ['Class_Foo', 'Class_Bar']
for i in my_classes:
    __import__('myapp').previous_level.module.y
    raise: AttributeError: module 'myapp.previous_level.module' has no attribute 'y'
Run Code Online (Sandbox Code Playgroud)

我试过string formatgetattr()__getattr__但没有成功。

以这种方式导入是不可能的,或者我做错了什么?

python python-3.x

6
推荐指数
1
解决办法
9740
查看次数

标签 统计

python ×1

python-3.x ×1