Addressing the error first, you are defining dates like this:
date(2016-02-04)
However the proper syntax is:
#date(Year, Month, Day)
date(2016, 2, 6)
Now for the days in range question:
from datetime import date, timedelta
d1 = date(2016, 2, 4)
d2 = date(2016, 2, 6)
delta = (d2 - d1).days
days = [d1 + timedelta(days=days_to_add) for days_to_add in range(0, delta+1)]
print days
The above outputs:
[datetime.date(2016, 2, 4), datetime.date(2016, 2, 5), datetime.date(2016, 2, 6)]
Note that the solution provided assumes you want to include both the start and end date. If you intended differrently alter the range function.
Also if you would like to print it out in the format you provided you could use the strftime method
for day in days:
print day.strftime("%Y-%m-%d")
Outputs:
2016-02-04
2016-02-05
2016-02-06