Main program entry point after parsing arguments

def run(self):
        """Main program entry point after parsing arguments"""
        start = time.clock()
        it = iter(self.reader)
        if self.args.max_records:
            it = itertools.islice(it, self.args.max_records)
        num = self.work(it)
        end = time.clock()
        print("Read {} records in {} seconds".format(num, (end - start)), file=sys.stderr)