python grep
def grep(pattern, file_obj, include_line_nums=False):
grepper = re.compile(pattern)
for line_num, line in enumerate(file_obj):
if grepper.search(line):
if include_line_nums:
yield (line_num, line)
else:
yield line