у меня есть проблемы, пытаясь получить питон принять импорт «глобально»питона модуль импорта работать глобально
В модуле он должен импортировать другой модуль в зависимости от другого переменного, но это не кажется, импортировать его во все функции модуля, если у меня есть функция запуска; например:
def start():
selected = "web"
exec("from gui import " + selected + " as ui")
log("going to start gui " + selected)
ui.start()
это работает, но в том же модуле:
def close():
ui.stop()
не работает. я не знаю, что здесь происходит
Джо
Есть (много) лучшие способы динамического выбора модуля для импорта. Проверьте последние вопросы или задайте новый вопрос, если вы заинтересованы. Как побочный эффект улучшения подхода, вы также не будете иметь проблему, которую вы видите здесь. –
Извините, я выбрал этот путь, и это работает для меня потрясающе. Спасибо в любом случае –
Серьезно. Не используйте 'exec'. Практически никогда не было веской причины. Если вы должны сделать импорт из динамического имени (и это немного запах кода), посмотрите на функцию '__import__', например:' global ui' ... 'ui = __import __ (selected)'. – bobince