python get dates between two dates

from datetime import datetime, timedelta

def date_range(start, end):
    delta = end - start  # as timedelta
    days = [start + timedelta(days=i) for i in range(delta.days + 1)]
    return days

start_date = datetime(2008, 8, 1)
end_date = datetime(2008, 8, 3)
    
print(date_range(start_date, end_date))

Here is what the above code is Doing:
1. We create a timedelta object by subtracting the start date from the end date.
2. We create a list of dates by looping over the days in the timedelta.
3. We return the list of dates.