#! /usr/bin/env python import pwd,grp,os,time,string,sys def docu(): print "Usage: %s [--per_file_report] [files]" % sys.argv[0] sys.exit() def report(file): try: stats = os.stat(file) size=stringsize(stats[6]) print 'File : ' , file print 38*'-' print 'Size : ' , size print 'Owner : ' , pwd.getpwuid(stats[4])[0] print 'Group : ' , grp.getgrgid(stats[5])[0] print 'Created : ' , time.ctime(stats[8]) print 'Modified : ' , time.ctime(stats[9]) print 'Accessed : ' , time.ctime(stats[7]) print 38*'-' print except: print "ERROR! File " + file + " is problematic!" def getsize(file): try: return os.stat(file)[6] except: return 0 def stringsize(fsize): if fsize > 1000 and fsize < 1000000: return '%8.4f kB' % (fsize/1000.) elif fsize > 1000000: return '%8.4f MB' % (fsize/1000000.) else: return '%8d Bytes' % fsize if len(sys.argv) < 2 or (len(sys.argv) < 3 and sys.argv[1] == "--per_file_report"): docu() fullsize = 0 per_file_report = 0 files = [] for i in sys.argv[1:]: if i == "--per_file_report": per_file_report = 1 else: files.append(i) for f in files: if per_file_report: report(f) fullsize += getsize(f) print stringsize(fullsize)