Logging messages with dictionary args in Python 2.4b1 leads to exception
Bengt Richter
bokr at oz.net
Fri Oct 22 14:33:32 EDT 2004
On Fri, 22 Oct 2004 07:52:31 -0400, Steve Holden <steve at holdenweb.com> wrote:
>Vinay Sajip wrote:
>
>> Steve Holden <steve at holdenweb.com> wrote in message news:<ROXdd.8976$SW3.2862 at fed1read01>...
>>
>>>But how much simpler
>>>
>>>logging.want("%(string)s and the %(number)d dwarves",
>>> string="Snow White", number=7)
>>>
>>
>>
>> logging.want? ;-)
>>
>Wishful thinking :-)
>
>> Well, it was a trivial example. In real use cases, the dict would be a
>> variable rather than a literal. The problem with using kwargs is that
>> it could interfere with keyword arguments passed to the logging method
>> (currently only exc_info, but there may be others in future).
>>
>
>Indeed, my ignorance of the current API misled me. But *otherwise* it
>would have been a good idea, no?
Jumping into unknown wider context here, but (as you know, I'm sure)
as of recent versions you can easily pass a dict arg using keywords:
>>> def foo(*args,**kw): print args, kw
...
>>> foo('here:', dict(string="Snow White", number=7),'<-is a dict', this='is a kwarg')
('here:', {'number': 7, 'string': 'Snow White'}, '<-is a dict') {'this': 'is a kwarg'}
^__args tuple_________________________________________________^ ^___kw arg___________^
Less confusing perhaps, the dict arg isolated:
>>> dict(string="Snow White", number=7)
{'number': 7, 'string': 'Snow White'}
Regards,
Bengt Richter
More information about the Python-list
mailing list