有没有一种简单的方法可以从 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 测试,但它似乎没有做任何类似的事情)。
最佳答案
你可以使用 pyICSParser。
它将获取一个 ICS 文件并在日期时间对象列表中返回重复事件的日期。
您需要指定希望这些事件返回的时间窗口,否则在没有 UNTIL
或 COUNT
参数的情况下重复出现的事件将呈现无限列表。
(免责声明我是包的作者)
关于Python 标准 : get events for a day including recurring ones,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28829261/