Mercurial > ~darius > hgwebdir.cgi > pyinst
view find.py @ 38:7d76b1d70096
Add file to generate stats on data files.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Wed, 28 Sep 2011 12:30:20 +0930 |
parents | |
children | df1b4d7e988f |
line wrap: on
line source
#!/usr/bin/env python import datafile import getopt import numpy import sys if __name__ == "__main__": opts, args = getopt.getopt(sys.argv[1:], "e:hm:s") minlev = None exptag = None dostats = False for o, a in opts: if o == "-h": print """Find data files with certain characteristics %s [-h] [-e exp] [-m min] [-s] file [file ..] exp Limit to experiment tag exp min Find files with power greater than min -s Print stats about files """ elif o == "-e": exptag = a elif o == "-m": minlev = float(a) elif o == "-s": dostats = True else: print "Unknown option " + o sys.exit(1) if len(args) == 0: print "Need at least one file to analyse" sys.exit(1) minfiles = [] if dostats: print "%-50s %7s %7s %7s (dBm)" % ("Name", "Min", "Mean", "Max") for fn in args: dfile = datafile.DataFile(fn) if exptag != None and dfile['TAG'] != exptag: continue if minlev != None: if reduce(lambda x, y: x or y, dfile.powers > minlev): minfiles.append(fn) if dostats: print "%-50s %7.2f %7.2f %7.2f" % (fn, dfile.powers.min(), dfile.powers.mean(), dfile.powers.max()) if minlev != None: if dostats: print "" print "Files with any element exceeding %.2f dBm:" % (minlev) for fn in minfiles: print fn