import datetime import argparse # Get the range from the console: parser = argparse.ArgumentParser(description = "Generates comma-separated date strings in a given range.") parser.add_argument( "-s", "--start-date", dest = "start_date", type = str, help = "The starting date of the range in 'YYYY-MM-DD' format." ) parser.add_argument( "-e", "--end-date", dest = "end_date", type = str, help = "The ending date of the range in 'YYYY-MM-DD' format." ) args = parser.parse_args() # Convert the date strings into datetime objects: start_dt = datetime.datetime.strptime(args.start_date, "%Y-%m-%d") end_dt = datetime.datetime.strptime(args.end_date, "%Y-%m-%d") # Check if the end date is after the start date: if end_dt < start_dt: raise ValueError("End date must be after the start date.") # Make the list of dates: date_list = [] while True: this_dt = start_dt + datetime.timedelta(days = len(date_list)) date_list.append(this_dt.strftime("%Y-%m-%d")) if this_dt >= end_dt: break # Print the list out as one string: print("HERE IS THE DATE STRING:") print(",".join(date_list))