import os for root, dirs, files in os.walk('E:/Python26'): for file in files: print os.path.join(root, file) for dir in dirs: print os.path.join(root, dir) import sys import os def visit(arg, dirname, names): files = [os.path.normpath(os.path.join(dirname, file)) for file in names] for i in files: if os.path.isdir(i): print "dir: %s" % (i) else: print "file: %s" % (i) path = r'E:/Python26' os.path.walk(path, visit, 0)