Jason Orendorff has given us the path Python module, which is a true Pythonic joy. It simplifies os.path, and makes it much easier to use.
I had the same experience as Jason: os.path.walk is just not great. My solution was to write my own module to do the same thing, but it ended up also not great. Jason’s solution is intelligent enough to be simple, rather than clever enough to be difficult. My hat is off to him.