有没有一种简单的方法可以从Python中的ical文件中获取一天的事件?
对于非经常性的,有一天的事件,我使用了类似
的东西from icalendar import Calendar
for event in Calendar.from_ical(ical).walk('vevent'):
if edate > ref_ref_day_start and event.get('dtstart').dt < ref_day_end:
# code here
但重复发生的事件只发生在walk
一次。
我可以看到如何在没有结束的情况下重复事件的无限事件迭代可能是个问题。但仍然必须有一个比自己计算重复更简单的方法,对吗?
(我找不到太多文档。我阅读了与重复发生的事件相关的icalendar测试,但它似乎没有做这样的事情。)
答案 0 :(得分:2)
答案 1 :(得分:2)
你可以使用pyICSParser。
它将采用ICS文件并在日期时间对象列表中返回重复事件的日期。
您需要指定希望返回这些事件的时间窗口,否则在没有UNTIL
或COUNT
参数的情况下重复出现的事件将呈现无限列表。
(免责声明我是该软件包的作者)