为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串变量导入模块

从字符串变量导入模块

慕哥9229398 2019-07-13 10:36:10
我正在为嵌套matplotlib(MPL)库编写一个文档(Personal),它与MPL自己提供的库不同,它是由感兴趣的子模块包提供的。我正在编写Python脚本,我希望它能够从未来的MPL版本中自动生成文档。我选择了感兴趣的子模块/包,并希望列出它们的主要类,我将从这些类生成列表,并使用pydoc问题是我找不到一种方法来指示Python从String加载子模块。下面是我尝试过的例子: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清单)请不要建议狮身人面像是不同的方法。
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

我花了一些时间试图从一个列表中导入模块,这就是我在那里的大部分时间-但是我没有掌握_import_-的用法。

下面是如何从字符串导入模块,并获得与只导入相同的行为。并尝试/除了错误情况。*)

  pipmodules = ['pycurl', 'ansible', 'bad_module_no_beer']
  for module in pipmodules:
      try:
          # because we want to import using a variable, do it this way
          module_obj = __import__(module)
          # create a global object containging our module
          globals()[module] = module_obj      except ImportError:
          sys.stderr.write("ERROR: missing python module: " + module + "\n")
          sys.exit(1)

是的,对于python 2.7>您还有其他选项-但是对于2.6<,这是可行的。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信