Я хотел бы написать модуль Python, который вызывает функцию, определенную в основном контексте. В частности, вот мой псевдокод модуля qutest.py (вызов __main__.on_setup()
не компилируется):
def test(title):
try:
__main__.on_setup() # <== call on_setup() from the main scope
except:
print("on_setup not found")
~ ~ ~
А вот и мой основной модуль:
from qutest import *
def on_setup():
print("on_setup")
test("My first test")
~ ~ ~
Цель состоит в том, чтобы вызов test()
вызывал on_setup()
, определенный в контексте главный. Как я могу закодировать его в моем модуле qutest.py
?
Большое спасибо за любую помощь!
Похоже, лучше всего передать on_setup
в качестве аргумента для test
.
Большое спасибо за подсказку import __main__
. Если я добавлю его в модуль (qutest
), вызов __main__.on_setup()
работает правильно. Итак, похоже, это решило мою проблему.
Добавить
import __main__
?