[Python-Dev] PEP 30XZ: Simplified Parsing (original) (raw)

Steve Holden steve at holdenweb.com
Fri May 4 21:00:38 CEST 2007


skip at pobox.com wrote:

Trent> But if you don't want the EOLs? Example from some code of mine:

Trent> raise MakeError("extracting '%s' in '%s' did not create the " Trent> "directory that the Python build will expect: " Trent> "'%s'" % (srcpkg, dstdir, dst)) Trent> I use this kind of thing frequently. Don't know if others Trent> consider it bad style. I use it all the time. For example, to build up (what I consider to be) readable SQL queries: rows = self.executesql("select cities.city, state, country" " from cities, venues, events, addresses" " where cities.city like %s" " and events.active = 1" " and venues.address = addresses.id" " and addresses.city = cities.id" " and events.venue = venues.id", (city,)) I would be disappointed it string literal concatention went away. Tripe-quoted strings are much easier here, and SQL is insensitive to the newlines and additional spaces. Why not just use

 rows = self.executesql("""select cities.city, state, country
                            from cities, venues, events, addresses
                            where cities.city like %s
                              and events.active = 1
                              and venues.address = addresses.id
                              and addresses.city = cities.id
                              and events.venue = venues.id""",
                        (city,))

It also gives you better error messages from most database back-ends.

I realise it makes the constants slightly longer, but if that's an issue I'd have thought people would want to indent code with tabs and not spaces.

regards Steve

Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden ------------------ Asciimercial --------------------- Get on the web: Blog, lens and tag your way to fame!! holdenweb.blogspot.com squidoo.com/pythonology tagged items: del.icio.us/steve.holden/python All these services currently offer free registration! -------------- Thank You for Reading ----------------



More information about the Python-Dev mailing list