A while back, I posted a review of the Udacity testing course, CS258. I started that class without knowing Python. But, about half-way through, the exercises required more and more language skill. So, I took a break from that class and started the CS101 class, which provided a good framework to learn Python (and build a search engine).
Learning through the course required clicking through very basic material, but it did inspire me to write more code. Also, to setup a very powerful (and free) dev environment: Eclipse running pydev, synchronizing code between machines with a git repository in my dropbox folder. Its cool, as soon as I make a commit on one machine, the source is automatically updated on the other.