python - 使用glob定位模块,然后动态导入模块

标签 python module glob

我有几个想要动态导入的模块。这些模块被命名为 prefix_?在哪里 ? = [0,1,2,3]。我使用 glob 来获取文件/模块的列表。

module = glob.glob(prefix_?.py)
module.sort()

现在我想一次导入一个模块并运行一些代码。

for m in range(0,len(module),1):
    from module[m] import x, y, z

但是我不能这样做,因为模块是字符串列表。有什么方法可以将格式从字符串转换为我可以导入的实际模块吗?

最佳答案

您可以使用importlib模块:

import glob
import importlib
module = glob.glob(prefix_?.py)
module.sort()
for m in module:      #iterate over list itself, why range?
    mod = importlib.import_module(m[:-3]) #strip off .py        

关于python - 使用glob定位模块,然后动态导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16907272/

相关文章:

python - 分割字符串时遇到问题

异常中的Python字符串转换为元组

ruby - Dir globbing 没有完全递归

javascript - 如何在 sonar-project.properties 中指定通配符

emacs - 在 elisp 的扩展文件名中使用通配符?

python - 在 Python 中使用 Pandas 从每列中获取前 4 个最大值

python - 如何更改 QTreeView 中特定分支的颜色?

python导入xml不包含xml.etree.ElementTree

javascript - 将函数传递给使用 webpack 导入类的 web worker

python - 有没有办法使用 vlc python 模块播放加载到内存的视频