Pregunta

Estoy escribiendo una clase que tengo la intención de utilizar para crear subrutinas, constructor de la siguiente manera:

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

El problema es que quiero llamar a la función en el patrón " rpc.serve. (Nombre de la función aquí) (params) ", Siendo PRC es un objeto ServerProxy que estoy usando para llamar a funciones XMLRPC, y serve. funciones nombre- es el método que estoy pidiendo al XMLRPC-servidor.

He mirado en llamar a una función de una cadena con el nombre de la función en Python , pero al ver cómo mi objeto ServerProxy no sabe lo que "a distancia atributos" que tiene, no puedo utilizar la función getattr () para recuperar el método.

He visto un ejemplo, haciendo un diccionario para llamar a una función dada, pero no hay manera de hacer la función verdaderamente dinámica mediante la creación de la llamada de función como se puede crear una cadena? Como el funcionamiento de una cadena como una función?

¿Fue útil?

Solución

puede getattr uso para obtener el nombre de la función del servidor proxy, por lo que llama a la función como esto funcionará:

getattr(rpc, function_name)(*params)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top