Domanda

Sto scrivendo una classe che ho intenzione di usare per creare subroutine, costruttore come segue:

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

Il problema è che io voglio chiamare la funzione sul modello " rpc.serve. (Nome della funzione qui) (params) ", dove RPC è un oggetto ServerProxy che sto usando per richiamare le funzioni XMLRPC e serve. funzione nome- è il metodo che sto chiamando sul XMLRPC-server.

Ho guardato chiamare una funzione da una stringa con il nome della funzione in Python , ma vedendo come il mio oggetto ServerProxy non sa che "a distanza attributi" che hanno, non posso usare la funzione getattr () per recuperare il metodo.

Ho visto un esempio facendo un dizionario per chiamare una data funzione, ma non c'è un modo per rendere la funzione veramente dinamica creando la chiamata di funzione come si creerebbe una stringa? Come esecuzione di una stringa in funzione?

È stato utile?

Soluzione

possono uso getattr per ottenere il nome della funzione dal proxy server, in modo chiamando la funzione come questo funziona:

getattr(rpc, function_name)(*params)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top