Если я правильно понимаю, у вас есть набор функций, и вы хотите указать по имени, какую из них использовать. Я бы настроил словарь, отображающий имя на функцию, а затем просто просмотр, чтобы получить функцию для использования:
# Map names to functions. Note there is no need for the names
# to match the actual function name, and the functions can appear
# multiple times.
function_map = {
'editContactInfo': editContactInfo,
'editClientInfo': editClientInfo,
'editAlias': editContactInfo,
}
# Get name of function to run etc. I'm assuming that the function
# name is stored in the variable function_name, and any parameters
# call it with is in the dictionary parameters (i.e., the functions
# all take keyword arguments).
# Do a lookup to get the function.
try:
function = function_map[function_name]
except KeyError:
# Replace with your own error handling code.
print 'Function {0} does not exist.'.format(function_name)
# Call the function
result = function(**parameters)
Это стандартный способ поиска, который, как вам кажется, и требуется. Тем не менее, вы также спросили о передовой практике, и я согласен с RestRisiko: использование фреймворка, разработанного для веб-приложений, является лучшей практикой в этом случае.
Единственная среда Python, с которой я когда-либо сталкивался, это Django . Это более «тяжелый» (более сложный) фреймворк, чем Flask или Bottle, но он имеет гораздо больше встроенных функций. Это действительно зависит от ваших потребностей, и я бы порекомендовал проверить их все, чтобы увидеть, какая из них лучше всего подходит для вашей ситуации.