Вот функция:Динамическое имя метода вызова?
def runaction(ENV, action_list):
appmanage_list = ['status']
for action in action_list.keys():
print('Action: %s' % action)
if action in appmanage_list:
from lib import appmanage_functions
a = appmanage_functions.AppManage(ENV)
a.[SOMETHING_GOES_HERE](ENV)
Это называется как:
runaction(env, main_f.opts2)
action_list
(main_f.opts2
аргумент в вызове функции) - это словарь с argparse
с {'optionname':True}
;
appmanage_list
- будет включать в себя все варианты, которым необходимо позвонить с кодом выше;
action
- имя параметра, такое же, как метод от appmanage_functions.AppManage
класс, необходимо называть.
Вместо [SOMETHING_GOES_HERE] Я хочу добавить переменную action
, чтобы вызвать соответствующий метод из класса.
Я пытался что-то вроде:
(a. + action + (ENV))
и:
a.('%s' % action)(ENV)
Но уверен - это не работает ...
Python 2.7