nested dictionaries and functions in data structures.

Sean Murphy mhysnm1964 at gmail.com
Thu Jan 9 05:08:34 EST 2014


Thanks for that. I will have a play and see how I can apply your example. 
On 07/01/2014, at 11:19 PM, Jean-Michel Pichavant <jeanmichel at sequans.com> wrote:

> ----- Original Message -----
>> Thanks for that. It resolved the issue and it was so simple compared
>> to everything else I saw on the net.
>> 
>> Only outstanding thing I have to work out is how to execute functions
>> from a dictionary. I will continue searching on the net.
>> 
>> 
>> Sean
> 
> This may help you (untested code)
> 
> class Workers:
>  @staticmethod
>  def ospf(*args, **kwargs):
>    print args, kwargs
>    return 'Bar'
> 
>  @staticmethod
>  def bhp(*args, **kwargs):
>    return 'Foo'
> 
> outputs = {'ospf' : {1 : {'param1' : 'foo', 'param2' : 'foo2'}}
> 
> for command, value in outputs.items():
>  for counter, kwargs in value:
>    func = getattr(Workers, command) # get the function
>    func(**kwargs) # the actual call 
> 
> It would be possible to do it without the *args, **kwargs magic. You can write ospf and bhp with the explicit parameters, however you must make sure you pass the correct number of parameter in the call.
> 
> JM
> 
> 
> -- IMPORTANT NOTICE: 
> 
> The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.




More information about the Python-list mailing list