2011-05-23 14 views
7

Estoy buscando hacer algo similar a lo que se solicitó aquí Getting list of parameter names inside python function, pero el uso de funciones parciales. es decir. Necesito obtener los posibles argumentos para una función parcial. Puedo obtener los argumentos de palabra clave utilizando:Python obtener argumentos para funciones parciales

my_partial_func.keywords 

pero actualmente estoy luchando para obtener los argumentos que no son palabras clave. El módulo de inspección tampoco cede nada en este caso particular. Cualquier sugerencia seria genial.

Respuesta

4

.args contiene los argumentos pasados ​​a la función parcial. Si desea obtener los argumentos que espera la función original, use la solución inspect que ha vinculado en el atributo .func.

Usted puede encontrar esto llamando dir en un objeto functools.partial:

>>> dir(x) 
['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'args', 'func', 'keywords'] 
+0

Gracias, llamando a inspeccionar en el my_partial_function.func trabajado –

Cuestiones relacionadas