python导入模块在全局范围内工作

标签 python import module

我在尝试让 python 接受“全局”导入时遇到了问题

在一个模块中,它需要根据另一个变量导入另一个模块,但如果我在启动函数中有它,它似乎并没有将它导入到所有模块函数中;例如:

def start():
    selected = "web"
    exec("from gui import " + selected + " as ui")
    log("going to start gui " + selected)
    ui.start()

这有效,但在同一个模块中:

def close():
    ui.stop()

没用。我不知道这里发生了什么

最佳答案

import gui
ui = None

def start():
  selected = "web"
  log("going to start gui " + selected)
  global ui
  __import__("gui.%s" % selected) # if you're importing a submodule that
                                  # may not have been imported yet
  ui = getattr(gui, selected)
  ui.start()

关于python导入模块在全局范围内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1991784/

相关文章:

用于导入 JAR 文件的 Java 代码

javascript - 在 iOS 中使用 Javascript 模块

ruby - Ruby 中模块方法和类方法之间的实际区别是什么?

python - numpy 数组形状中缺少维度

python - (Python) 使用自动生成的唯一名称创建列表

java - 如何在 Java 项目中自动添加导入?

javascript - 如何在我的 Angular 4.x 项目中使用 js 库作为模块?

java - 如何在多个 GWT eclipse 项目之间共享代码?

python - 我如何开始使用 zc.buildout 和 Distribute?

python - 使覆盖率仅计算成功的测试并忽略 xfailing 测试