Ответ 1
Просто используйте globals()
globals() - возврат словаря представляющий текущий глобальный символ Таблица. Это всегда словарь текущего модуля (внутри функции или метода, это модуль где он определен, а не модуль из которого он называется).
То, что я пытаюсь сделать, будет выглядеть в командной строке:
>>> import mymodule
>>> names = dir(mymodule)
Как я могу получить ссылку на все имена, определенные в mymodule
из самого mymodule
?
Что-то вроде этого:
# mymodule.py
names = dir(__thismodule__)
Просто используйте globals()
globals() - возврат словаря представляющий текущий глобальный символ Таблица. Это всегда словарь текущего модуля (внутри функции или метода, это модуль где он определен, а не модуль из которого он называется).
Как упоминалось ранее, globals дает вам словарь, а не dir(), который дает вам список имен, определенных в модуле. Обычно я вижу, как это делается:
import sys
dir(sys.modules[__name__])
Также проверьте встроенный модуль inspect. Это может быть очень удобно.