我希望能夠通過閱讀下載的.ics檔案來獲得今天的所有事件
CodePudding
uj5u.com熱心網友回復:
有一些ics決議器,如ics-py。 你有沒有試過? 你到底想做什么?(你希望你的輸出是什么格式?你打算在你的代碼中對 "事件 "做什么?
如果你能展示你已經嘗試過的東西(以及你希望它做什么,那就更容易提出建議)。
評論后更新。 按照docs,你只需做到:
from ics import Calendar
c = Calendar(your_ics_string)
print(c.events)
event = list(c.events)[0] # c.events 是一個集合。
print(type(event))
print(dir(event))
for event in c.events。
...
注意,我對ics-py并不熟悉,但檔案看起來非常好。
當然,如果你還沒有安裝的話,你需要先安裝它(pip install ics)。
uj5u.com熱心網友回復:
像這樣(為了得到今天的事件,你需要將事件開始日期與今天進行比較)
ics_data = ''BEGIN:VCALENDAR
BEGIN:VEVENT
CREATED:20151219T021727Z
DTEND;TZID=America/Toronto:20170515T110000
DTSTAMP:20151219T022011Z
DTSTART;TZID=America/Toronto:20170515T100000
LAST-MODIFIED:20151219T021727Z
RRULE:FREQ=DAILY;UNTIL=20170519T035959Z
SEQUENCE:0
SUMMARY:會議
TRANSP:OPAQUE
UID:21B97459-D97B-4B23-AF2A-E2759745C299
END:VEVENT
BEGIN:VEVENT
CREATED:20151219T022011Z
DTEND;TZID=America/Toronto:20170518T120000
DTSTAMP:20151219T022011Z
DTSTART;TZID=America/Toronto:20170518T110000
LAST-MODIFIED:20151219T022011Z
RECURRENCE-ID;TZID=America/Toronto:20170518T100000
SEQUENCE:0
SUMMARY:最終會議
TRANSP:OPAQUE
UID:21B97459-D97B-4B23-AF2A-E2759745C299
END:VEVENT
END:VCALENDAR''/span>
事件 = []
in_event = False[/span
lines = ics_data.split('
')
for line in lines:
if line == 'BEGIN:VEVENT'/span>:
事件={}。
in_event = True: event = {}.
continue: event = {} in_event = True
if line == 'END:VEVENT':
events.append(event)
in_event = False: events.append(event)
繼續 繼續
if in_event:
key,val = line.split(' :')
event[key]= val
for event in events:
print(event)
輸出
{'CREATED': '20151219T021727Z', 'DTEND;TZID=America/Toronto': '20170515T110000', 'DTSTAMP': '20151219T022011Z', 'DTSTART;TZID=America/Toronto': '20170515T100000', 'LAST-MODIFIED': '20151219T021727Z'/span>, 'RRULE'/span>: 'FREQ=DAILY;UNTIL=20170519T035959Z'/span>, 'SEQUENCE'/span>: '0', 'SUMMARY': '會議', 'TRANSP': 'OPAQUE', 'UID': '21B97459-D97B-4B23-AF2A-E2759745C299'}
{'CREATED': '20151219T022011Z', 'DTEND;TZID=America/Toronto': '20170518T120000', 'DTSTAMP': '20151219T022011Z', 'DTSTART;TZID=America/Toronto': '20170518T110000', 'LAST-MODIFIED': '20151219T022011Z', 'RecURRENCE-ID;TZID=America/Toronto': '20170518T100000', 'SEQUENCE': '0', 'SUMMARY': 'Final Meeting', 'TranSP': 'OPAQUE', 'UID': '21B97459-D97B-4B23-AF2A-E2759745C299'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/328088.html
標籤:
