Как мне преобразовать строку в имя функции, которая в данный момент не существует? например, Service. <Name>() где name будет строка - PullRequest
0 голосов
/ 28 февраля 2020

В настоящее время я работаю над проектом, требующим использования soap, и я использую zeep для выполнения пост-запроса, но мне требуется возможность использовать строковое значение, хранящееся в базе данных (sqlite), для изменения вызова службы поэтому он может быть изменен в любое время без необходимости редактировать код, поскольку база данных может быть изменена и новые значения добавлены пользовательским вводом, поэтому я не могу использовать словарь для хранения эквивалентов функций

формат базы данных: тип имени String, WSDL type String вызов службы: res = Service.Name () # где имя заменяется выбранным именем из базы данных

возможно ли это, если да, как мне go сделать это

1 Ответ

1 голос
/ 28 февраля 2020

Вы можете попробовать использовать встроенный getattr

method = getattr(Service, 'name')
res = method()
...