import datetime def lastSevenDays(dataLines, daysBack): """Filter records fewer than daysBack days old.""" day = datetime.date.today() day_delta = timedelta(days=1) daystrings = [] for i in range(daysBack): daystrings.append(str(day)) day -= day_delta for line in dataLines: for string in daystrings: if string in line: yield line dataLines = list(lastSevenDays(dataLines, 7))