我正在为嵌套matplotlib(MPL)库(它不同于MPL自己提供的),由感兴趣的子模块包提供文档(个人)。我正在编写Python脚本,我希望能够在将来的MPL版本中自动生成文档。
我选择感兴趣的子模块/包和希望列出他们从中我会生成列表,并与pydoc
从字符串变量导入模块
问题处理它,我无法找到一个方法来指示Python来从字符串加载子模块主要类别。这里是我尝试的例子:
import matplotlib.text as text
x = dir(text)
。
i = __import__('matplotlib.text')
y = dir(i)
。
j = __import__('matplotlib')
z = dir(j)
这里是通过pprint上面列出的3路比较:
我不明白什么在y
对象加载 - 这是基地matplotlib
加上别的东西,但它缺乏信息我想要的,这是matplotlib.text
包的主要类。它是屏幕截图上顶部蓝色的部分(x
列表)
请不要将Sphinx建议为不同的方法。
你能解释为什么你需要使用'__import __(str)'而不是标准'import' statemetn吗? – thesamet 2012-01-03 21:53:23
这是因为我会处理列出哪些项目是MPL子模块并获得他们的方法路径 – theta 2012-01-03 22:00:38
@thesamet - 来吧 - 有无尽的想法,你想要这个功能。当你有一个库的文本配置时,你可以通过名称来加载它们,这对于'import'语句来说并不合适。下面是一个使用示例:https://djangosnippets.org/snippets/3048/ – 2014-05-12 04:55:42