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

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

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 - python导入模块可在全局工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1991784/

10-13 05:35