n00b question on spacing
Mark Lawrence
breamoreboy at yahoo.co.uk
Sat Jun 22 10:40:26 EDT 2013
On 22/06/2013 14:36, Joshua Landau wrote:
> On 21 June 2013 23:26, Gary Herron <gherron at digipen.edu> wrote:
>> On 06/21/2013 02:17 PM, Yves S. Garret wrote:
>>> I have the following line of code:
>>> log.msg("Item wrote to MongoDB database %s/%s" %(settings['MONGODB_DB'],
>>> settings['MONGODB_COLLECTION']), level=log.DEBUG, spider=spider)
> <...>
>>> I was thinking of splitting it up like so:
>>> log.msg("Item wrote to MongoDB database %s/%s"
>>> %(settings['MONGODB_DB'], settings['MONGODB_COLLECTION']),
>>> level=log.DEBUG, spider=spider)
>>
>> This is how I'd do it: (And it's *FAR* clearer -- You win no points for
>> clarity by having it all in one statement.)
>>
>> fmt = "Item wrote to MongoDB database %s/%s"
>> msg = fmt % (settings['MONGODB_DB'],
>> settings['MONGODB_COLLECTION'])
>> log.msg(msg, level=log.DEBUG, spider=spider)
>
> Hear, Hear.
>
> But really, you should be using .format by now :P
>
> My favourite way would be along the lines of:
>
> message = "Item wrote to MongoDB database "
> message += "{0[MONGODB_DB]}/{0[MONGODB_COLLECTION]}".format(settings)
> log.msg(message, level=log.DEBUG, spider=spider)
>
I'm sticking with C style formatting, which thankfully isn't going away,
.format indeed.
--
"Steve is going for the pink ball - and for those of you who are
watching in black and white, the pink is next to the green." Snooker
commentator 'Whispering' Ted Lowe.
Mark Lawrence
More information about the Python-list
mailing list