Karen gave Caktus an interesting overview of PLY today, here's a basic summary of the talk:
PLY is a very cool tool written by David Beazley that brings Lex and Yacc to Python. Somewhat surprisingly, I've found myself needing that kind of function in a couple of projects, and I've been very happy with my experience using PLY. The talk covers the basics of what Lex and Yacc are, notes a couple of situations where I've needed some simple language processing in Django projects, and then dives into a complete example of building a lexer and parser with PLY.
Full documentation for PLY can be found here: http://www.dabeaz.com/ply/