def readFile(filename="out.txt"): numFound = 0 names = [] totalNum = 0 textFile = codecs.open(filename, mode='r', encoding='utf-8') for line in textFile: totalNum += 1 regexResult = nameExtraction1.search(line) if(regexResult): name = HumanName(regexResult.group(1)) name.total = int(regexResult.group(2)) name.index = numFound name.original = regexResult.group(1) names.append(name) numFound += 1 else: regexResult = nameExtraction2.search(line) if(regexResult): name = HumanName(regexResult.group(1)) name.total = int(regexResult.group(3)) name.index = numFound name.original = "%s %s" % (regexResult.group(1), regexResult.group(2)) names.append(name) numFound += 1 else: print "failed on line: ", line sys.exit(1) print "Total number found = ", numFound print "Total number missing = ", (totalNum - numFound) return names