> This is an alternative solution someone else posted on this list for a > similar problem I had:
> #!/usr/bin/python3 > from itertools import groupby > def get_lines_from_file(file_name): > with open(file_name) as reader: > for line in reader.readlines(): > yield(line.strip()) > counter = 0 > def key_func(x): > if x.strip().startswith("banner") and x.strip().endswith("<banner text > delimiter>"): > global counter > counter += 1 > return counter > for key, group in groupby(get_lines_from_file("my_data"), key_func): > print(list(group)[1:-1]) Thanks Jason, banner = re.compile(r'banner\s+(\w+)\s+(.+)(.*?)\2', re.DOTALL).findall(lines) worked nicely to get what I needed: outfile.write("Banner type: %s Banner Delimiter: %s\n" % (banner[0][0], banner[0][1])) outfile.write("Banner Text:\n") outfile.write(banner[0][2]) Probably not the prettiest, most concise code, but it gets the job done. Thanks again, Marc
-- https://mail.python.org/mailman/listinfo/python-list