Stupid Python Tricks: The KeyboardInterrupt Exception explains all about that, and is by Fredrik Lundh. You could say that, really, it's strong evidence in the argument you should rarely catch all exceptions, just the ones you expect. Unfortunately it's so much easier to write except: than so many except SomeException: clauses that particularly handle the problem. That also assumes that code doesn't need cleaned up when interrupted, unlike Lundh's example of rolling back a database transaction. Your program would also need to be OK with erroring completely out of the entire program if an unforeseen exception bubbled through the entire call stack, which usually only happens if you've foreseen everything.
So just remember the rule is to never ever blindly catch Exception, except when you need to, want to, or think you should.
Keeping KeyboardInterrupt particularly in mind is better advice when you're writing user-interactive command-line programs. I had to go back and add the same except KeyboardInterrupt: lines Lundh writes about to POT.py, after I tried to halt it with a ctrl-C once early in development and found that merely put an Error: exception KeyboardInterrupt in my page output. So at least watch KeyboardInterrupt, mmkay?