我正在尝试使用^{
到目前为止我得到的是这样的东西
src/
__init__.py
a/
__init__.py
a_module.py
b/
__init__.py
b_module.py
在src/a/__init__.py
我有
import inspect
import sys
for c in inspect.getmembers(sys.modules['src.a.a_module'], inspect.isclass):
type(f'{c.__name__}New, (object,), {})
然后我想导入上面在src/b/b_module.py
中定义的类型
from src.a import AClassNew
a = AClassNew()
但这当然给了ImportError: cannot import name
一个新的`。你知道吗
我知道我可以
AClassNew = type('AClassNew', (object,), {})
在src/a/__init__.py
中,一切都将正常工作,但我希望对src/a/a_module.py
中定义的任何类都这样做,而不显式地定义它们。你知道吗
有没有办法让这个(或类似的东西)起作用?你知道吗
我通过更新
src/a/__init__.py
中的globals()
来实现这一点。你知道吗这会将具有正确名称的类型添加到此模块的类中,并使其可从其他模块导入。你知道吗
相关问题 更多 >
编程相关推荐