我有一堂课叫'my_class'
放在'my_module'
。我需要导入这个类。我尝试这样做:
import importlib
result = importlib.import_module('my_module.my_class')
但它说:
ImportError: No module named 'my_module.my_class'; 'my_module' is not a package
所以。正如我所看到的,它仅适用于模块,但无法处理类。如何从模块导入类?
正在期待着my_module
是一个包含名为的模块的包'my_class'
。如果您需要动态导入一个类或一个属性,只需使用getattr https://docs.python.org/3/library/functions.html#getattr导入模块后:
cls = getattr(import_module('my_module'), 'my_class')
另外,是的,它只适用于模块。记住importlib.import_module https://docs.python.org/3/library/importlib.html#importlib.import_module是内部的包装importlib.__import__ https://docs.python.org/3/library/importlib.html#importlib.__import__功能。它不提供与完整版本相同的功能import
声明其中,加上from
,对导入的模块执行属性查找。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)