0

I have a file my_module.py that looks like this:

from copy import deepcopy

from my_other_module import foo

def bar(x):
    return deepcopy(x)

I want to get a list of all the functions defined in my_module and not the imported ones, in this case just [bar], not deepcopy or foo.

1 Answer 1

3

You can use inspect.getmembers with inspect.isfunction and then get all the functions whose .__module__ property is the same as the module's .__name__:

from inspect import getmembers, isfunction
from my_project import my_module

functions = [fn for _, fn in getmembers(my_module, isfunction) if fn.__module__ == my_module.__name__]
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.