import os, sys from stat import * import time def walktree(dir, callback): '''recursively descend the directory rooted at dir, calling the callback function for each regular file''' for f in os.listdir(dir): try : pathname = '%s/%s' % (dir, f) mode = os.stat(pathname)[ST_MODE] if S_ISDIR(mode): # It's a directory, recurse into it walktree(pathname, callback) elif S_ISREG(mode): # It's a file, call the callback function callback(pathname) else: # Unknown file type, print a message print 'Skipping %s' % pathname except : pass def visitfile(file): s = os.stat(file) finfo = "%12d %s %s\n" % (s.st_size, time.ctime(s.st_mtime), file) try: log.write(finfo) except: pass if __name__ == '__main__': log = open('e:/filelog.txt', 'w') for drive in ('c:', 'd:', 'e:', 'z:') : walktree(drive, visitfile) log.close()