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')))
aW1wb3J0IG9zCgpkZWYgZmluZEFsbChmaWxlbmFtZSwgcm9vdGRpcik6IAogICAgZm9yIGl0ZW0gaW4gb3MubGlzdGRpcihyb290ZGlyKToKICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3RkaXIsIGl0ZW0pCiAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIocGF0aCk6CiAgICAgICAgICAgIGlmIGl0ZW0gPT0gZmlsZW5hbWU6ICMgZG9uJ3Qgc2VsZWN0IGRpcnMKICAgICAgICAgICAgICAgIHlpZWxkIHBhdGgKICAgICAgICBlbHNlOiAjIHBhdGggaXMgYSBkaXIKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgZm9yIGZvdW5kX3BhdGggaW4gZmluZEFsbChmaWxlbmFtZSwgcGF0aCk6CiAgICAgICAgICAgICAgICAgICAgeWllbGQgZm91bmRfcGF0aAogICAgICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKICAgICAgICAgICAgICAgIHBhc3MgIyBpZ25vcmUgZXJyb3JzCgpwcmludChsaXN0KGZpbmRBbGwoJ3B5dGhvbicsICcvdXNyJykpKQo=