我正在开发一个为多个站点提供服务的django项目;取决于我想从不同模块导入不同功能的站点;如果我有它的包名和模块名本身作为一个字符串,我该如何在Python中导入一个模块?Python:通过名称加载模块
2
A
回答
9
在Python通常,你可以使用__import__
内建函数或imp
模块功能:
>>> sys1 = __import__("sys")
>>> import imp
>>> sys2 = imp.load_module("sys2", *imp.find_module("sys"))
>>> import sys
>>> sys is sys1 is sys2
True
1
Django的有自己的导入功能将得到一个字符串的客体。从documentation:
django.utils.module_loading
功能与Python模块的工作。
import_string(dotted_path)
导入虚线模块路径并返回路径中姓氏指定的属性/类。如果导入失败,则引发ImportError。例如:
from django.utils.module_loading import import_string ValidationError = import_string('django.core.exceptions.ValidationError')
相当于:
from django.core.exceptions import ValidationError
相关问题
- 1. 通过imp.load_source以相同的名称加载模块导致模块合并
- 2. 通过GDB加载模块
- 3. 使用模块名称加载模块而不是文件名
- 4. Python模块名称冲突
- 5. Python模块名称冲突
- 6. python通过名称获取模块变量
- 7. 从Python模块动态加载所有名称
- 8. 如何在Python中加载与其他模块名称相同的模块?
- 9. Django导入模块:无法通过名称导入模块
- 10. 通过JSPM加载(自定义)模块
- 11. Karma如何通过id加载模块?
- 12. 通过requirejs自动加载模块
- 13. 通过.NET代码加载Powershell模块
- 14. 重装Python模块时,其通过加载“从pymod进口*”
- 15. 通过计算集群加载python模块
- 16. 通过systemd运行Python脚本无法加载模块
- 17. 通过计算群集加载python模块
- 18. 通过插件加载的模块的requirejs别名
- 19. 无法加载Python模块
- 20. 重新加载Python模块
- 21. 动态加载python模块
- 22. 与现有模块具有相同名称的python模块名称
- 23. 模块名称“加密”尚未加载上下文
- 24. python确定导入模块的名称
- 25. python模块的完全限定名称
- 26. 从python包中获取模块名称
- 27. Python中的名称空间和模块
- 28. Python的同一模块名称公约
- 29. Python模块名称以数字开头
- 30. 无法找到模块名称 - Python,Flask