#!/usr/bin/env python """ lengths.py - Tabulate and Report on Line Lengths Author: Sean B. Palmer, inamidst.com """ import sys def avg(tally): return min(tally), round(float(sum(tally)) / len(tally), 3), max(tally) def lengths(names, out=sys.stdout): all = [] for fn in names: tally = [] f = open(fn) for line in f: line = line.rstrip('\r\n') tally.append(len(line)) f.close() all += tally print >> out, '%s: %s - %s - %s' % ((fn,) + avg(tally)) print >> out, 'All: %s - %s - %s' % avg(all) def main(): lengths(sys.argv[1:]) if __name__ == '__main__': main()