الدالة الديناميكية مكالمات في Python باستخدام XMLRPC

StackOverflow https://stackoverflow.com/questions/901391

  •  05-09-2019
  •  | 
  •  

سؤال

أنا أكتب فئة أعتزم استخدامها لإنشاء روتين فرعي، منشئ كما يلي:

def __init__(self,menuText,RPC_params,RPC_call):
   #Treat the params
   #Call the given RPC_call with the treated params

المشكلة هي أنني أريد استدعاء الوظيفة على النمط "rpc.serve. (اسم وظيفة هنا) (بالمعار)"، حيث RPC هو كائن ServerProxy الذي أستخدمه لاستدعاء وظائف XMLRPC، وخدمة اسم الوظيفة - هو الطريقة التي استدعيتها على خادم XMLRPC.

لقد نظرت في استدعاء وظيفة من سلسلة باسم الوظيفة في بيثون, ، ولكن الرأي كيف لا يعرف كائن Server Proxy الخاص بي الذي "السمات عن بعد"، لا أستطيع استخدام وظيفة GetATTR () لاسترداد الطريقة.

لقد رأيت مثالا عن طريق إنشاء قاموس لاستدعاء وظيفة معينة، ولكن لا توجد طريقة لجعل الوظيفة ديناميكية حقا من خلال إنشاء مكالمة الوظيفة كما تفعل سلسلة؟ مثل تشغيل سلسلة كدالة؟

هل كانت مفيدة؟

المحلول

أنت يمكن استعمال getattr للحصول على اسم الوظيفة من وكيل الخادم، لذلك استدعاء الوظيفة مثل هذا سيعمل:

getattr(rpc, function_name)(*params)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top