import sys, os, itertools, keyword

def importable(name):
    try:
        __import__(name)
    except Exception:
        return False
    return True

def toplevel_modules(path):
    for root, dirs, files in os.walk(path):
        names = itertools.chain(dirs, (os.path.splitext(i)[0] for i in files))
        for name in names:
            if importable(name):
                yield name
        break

if __name__ == '__main__':
    words = set(keyword.kwlist)

    words.update(dir(__builtins__))
    for i in dir(__builtins__): words.update(dir(getattr(__builtins__, i)))

    stdout = sys.stdout
    for path in sys.path: words.update(i for i in toplevel_modules(path))
    sys.stdout = stdout

    for i in sorted(words): print i
自前で作ればいいんだよ