基本上我的目标是我希望能够将一个ics文件作为输入,并能够解析一个日期的事件,然后从每个事件中分解出来的信息。我一直试图用http://pypi.python.org/pypi/icalendar
来解决这个问题就我而言......
from icalendar import Calendar, Event
cal = Calendar.from_ical(open('Work.ics','rb').read())
for component in cal.walk():
print component
答案 0 :(得分:2)
取决于“解析事件日期”的含义:您是否有能力知道所有实例日期(RRULE,RDATE,EXDATE)您还可以尝试pyICSParser a ics events enumerator,列出事件实例:
mycal = icalendar.ics()
mycal.local_load("work.ics")
dates = mycal.get_event_instances(start,end)
#dates will contain the json with all explicit dates of the events spec'ed by the iCalendar file
PS:免责声明 - 我写了/仍在编写这个模块,到目前为止它只处理DATE而不是DATE-TIME属性值。
答案 1 :(得分:0)
也许试试:
with Calendar.from_ical(open("work.ics")) as FileObj:
for components in FileObj:
print components
这应该打印文件中的每一行(未经测试)。