import os

def findAll(filename, rootdir): 
    for item in os.listdir(rootdir):
        path = os.path.join(rootdir, item)
        if not os.path.isdir(path):
            if item == filename: # don't select dirs
                yield path
        else: # path is a dir
            try:
                for found_path in findAll(filename, path):
                    yield found_path
            except EnvironmentError:
                pass # ignore errors

print(list(findAll('python', '/usr')))
