Big*_*ter 2 python python-import
我想从函数内部导入一个模块。例如从这个:
from directory.folder.module import module
def import():
app.register_blueprint(module)
Run Code Online (Sandbox Code Playgroud)
对此:
def import():
from directory.folder.module import module
Run Code Online (Sandbox Code Playgroud)
但是,没有对其进行硬编码。例如:
def import():
m = "module"
from directory.folder.m import m
Run Code Online (Sandbox Code Playgroud)
是否可以?提前致谢
你想要importlib模块。
这是使用此模块的最简单方法。有很多不同的方法可以将模块调用的结果编织到环境中:
import importlib
math = importlib.import_module("math")
print(math.cos(math.pi))
Run Code Online (Sandbox Code Playgroud)
结果:
-1.0
Run Code Online (Sandbox Code Playgroud)
我经常使用这个库。我用它构建了一个完整的插件部署系统。所有各种部署的脚本都放在目录中,只有在配置文件中提到它们时才导入,而不是必须立即导入所有内容。
我觉得这个模块很酷的地方是它的文档最顶部的说明:
importlib 包的目的有两个。一种是在 Python 源代码中提供 import 语句(因此,通过扩展,import () 函数)的实现。
2.7 文档中的介绍也很有趣:
2.7 版中的新功能。
该模块是 Python 3.1 中功能更齐全的同名包中的一个小子集,该包提供了完整的导入实现。此处提供的内容有助于轻松从 2.7 过渡到 3.1。
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |