I think `os.walk` will make this easier.