I want to call some unknown function with adding parameters using getattr function. Is it possible?
import sys
# function to call
def wibble(a, b, foo='foo'):
print(a, b, foo)
# have to be in the same scope as wibble
def call_function_by_name(function_name, args=[], kwargs={}):
getattr(sys.modules[__name__], function_name)(*args, **kwargs)
call_function_by_name('wibble', args=['arg1', 'arg2'], kwargs={'foo': 'bar'})
# output:
# arg1 arg2 bar