2011-09-15 10 views
10

desde un archivo externo genero el siguiente diccionario:¿Cómo generar una lista `kwargs`?

mydict = { 'foo' : 123, 'bar' : 456 } 

Dada una función que toma un argumento **kwargs, ¿cómo se puede generar la palabra clave-args de ese diccionario?

+2

Pruebe 'foo (** mydict)' – wberry

+0

¿Por qué el voto a favor? –

Respuesta

18
def foo(**kwargs): 
    pass 

foo(**{ 'foo' : 123, 'bar' : 456 }) 
+2

O, si la función toma _only_ 'kwargs', y' mydict' contiene todos los argumentos, deje todos los '*' s. – agf

+0

@agf Entonces, ¿podría pasar el diccionario? ¿Qué pasa si la función toma '(self, ** kwargs)', puedo hacer 'obj.func (mydict)'? –

+1

@Paul No - Solo si lo reescribió para tomar '(self, kwargs)'. – agf

Cuestiones relacionadas