Python 我怎样才能让这个for循环跳过基于domain.com的没有与会者和外部与会者的会议?
我期待着打印出日历事件名称和外部电子邮件的基础上的标准如下。目前for循环有效,我得到了期望的结果,直到我参加了一个没有与会者的会议Python 我怎样才能让这个for循环跳过基于domain.com的没有与会者和外部与会者的会议?,python,loops,try-catch,Python,Loops,Try Catch,我期待着打印出日历事件名称和外部电子邮件的基础上的标准如下。目前for循环有效,我得到了期望的结果,直到我参加了一个没有与会者的会议 for calendar_id in me: count = 0 eventsResult = service.events().list( calendarId=calendar_id, timeMax=now, timeMin=end_date).execu
for calendar_id in me:
count = 0
eventsResult = service.events().list(
calendarId=calendar_id,
timeMax=now,
timeMin=end_date).execute()
events = service.events().list(calendarId=calendar_id).execute()
events = events.get('items', [])
for event in events:
start = event['start'].get('dateTime')
for attendees in event['attendees']:
atte = attendees.get('email')
try:
attid = event.get(attendees)
if "domain.com" not in atte:
print('\n' + event['summary'] + " " + "(Calendar - " + calendar_id + ")")
print(attendees['email'])
else:
continue
except:
pass
您可以使用dict的get方法检查默认为空列表的事件中是否有与会者
for attendees in event.get('attendees', []):
或者你可以查一下
if 'attendees' in event.keys():
for attendees in event['attendees']:
如果没有与会者,则事件的for循环将继续到下一个事件。如果没有与会者,实际返回的是什么?这是一个空的集合还是其他什么?当你参加一个没有与会者的会议时会发生什么?
回溯(最近的一次呼叫):文件“Calendar_-Trial.py”,第119行,在main()文件“Calendar_-Trial.py”,第99行,在事件['Attenders']中的与会者:KeyError:'Attenders'
这是我得到的回报。这是我似乎无法理解的。当没有与会者时返回“与会者”。我试过了。似乎没有帮助。在for循环中仍然会遇到上述错误我已经编辑了答案,您可以检查这是否有帮助。我认为这样做很有效,但现在它似乎在for循环中进一步失败<代码>文件“Calendar\u Trial.py”,第118行,在main()文件“Calendar\u Trial.py”,第87行,在main start=event['start']中。get('dateTime')键错误:“start'现在您有一个单独的问题,尽管解决方案可能是再次应用相同的技术。在导致代码失败的情况下,应尝试查看事件
数据,以便扫描任何异常情况。另外,请再次阅读文档,看看是否解释了数据是何时以及为什么是这样的。不过,这并不是一个单独的问题。在没有与会者的会议上,循环仍然失败。