from icalendar import Calendar, Event cal = Calendar() cal.add('prodid', '-//My Calendar//Example//') cal.add('version', '2.0') event = Event() event.add('summary', 'Example Event') event.add('dtstart', datetime(2021, 1, 1)) event.add('dtend', datetime(2021, 1, 2)) cal.add_component(event) with open('example.ics', 'wb') as f: f.write(cal.to_ical())
from icalendar import Calendar with open('example.ics', 'rb') as f: cal = Calendar.from_ical(f.read()) for event in cal.walk('VEVENT'): print(event['SUMMARY'])
from icalendar import Calendar with open('example.ics', 'rb') as f: cal = Calendar.from_ical(f.read()) for event in cal.walk('VEVENT'): if event['SUMMARY'] == 'Example Event': event['SUMMARY'] = 'Updated Event' event['DTSTART'].dt = datetime(2021, 1, 3) event['DTEND'].dt = datetime(2021, 1, 4) with open('updated.ics', 'wb') as f: f.write(cal.to_ical())This code modifies the event from the previous example by changing the summary and start/end times, then writes the updated calendar to a new file.