python

python 动态调用方法示例

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

def response(request, def_name):
    request_method = request.method
    try:
        if def_name in ['product_update', 'product_update_new', 'product_del','shop_product_bulk','shop_product_add_info']:
            rst = eval(def_name)(request)
        else:
            rst = eval(def_name+'_'+(request_method.lower()))(request)            
        return JsonResponse({'state': True, 'msg': '成功', 'code': 200, 'data': rst})
    except NameError:
        return JsonResponse({'state': False, 'msg': '方法或属性不存在', 'code': 500})
    except Exception as e:
        return JsonResponse({'state': False, 'msg': str(e), 'code': 500})
原文地址:https://www.cnblogs.com/blogphp/p/python_eval.html