Можно ли перечислить все функции в модуле? [Дубликат]
На этот вопрос уже есть ответ здесь:
Как перечислить все функции в модуле Python? 15 ответовЯ определил .py файл в этом формате:
foo.pydef foo1(): pass
def foo2(): pass
def foo3(): pass
Я импортирую его из другого файла:
main.pyfrom foo import *
# or
import foo
Можно ли перечислить все названия функций, например,["foo1", "foo2", "foo3"]
?
Спасибо за вашу помощь, я сделал класс для того, что я хочу, пожалуйста, прокомментируйте, если у вас есть предложение
class GetFuncViaStr(object):
def __init__(self):
d = {}
import foo
for y in [getattr(foo, x) for x in dir(foo)]:
if callable(y):
d[y.__name__] = y
def __getattr__(self, val) :
if not val in self.d :
raise NotImplementedError
else:
return d[val]