Python 如何使用ExchangeLib过滤或跳过收件箱中的会议响应?当前正在获取AttributeError

Python 如何使用ExchangeLib过滤或跳过收件箱中的会议响应?当前正在获取AttributeError,python,attributeerror,exchangelib,Python,Attributeerror,Exchangelib,我需要反复浏览outlook收件箱中的电子邮件,并获取主题、发件人和日期等属性。但是,每当我在收件箱中遇到日历会议响应时,我都会收到一个AttributeError(使用异常处理无法捕捉到)。错误消息是“'NoneType'对象没有属性'find'”。我使用的是Python版本3.6和ExchangeLib 1.12.4 根据,我应该能够做到这一点: 用于account.inbox.all()中的项目。订购人('-datetime\u received')[:5]: 如果存在(项目,会议响应):

我需要反复浏览outlook收件箱中的电子邮件,并获取主题、发件人和日期等属性。但是,每当我在收件箱中遇到日历会议响应时,我都会收到一个AttributeError(使用异常处理无法捕捉到)。错误消息是“'NoneType'对象没有属性'find'”。我使用的是Python版本3.6和ExchangeLib 1.12.4

根据,我应该能够做到这一点:

用于account.inbox.all()中的项目。订购人('-datetime\u received')[:5]:
如果存在(项目,会议响应):
做点什么
但我下面的代码无法识别该项目是否为MeetingResponse,并在收到会议响应后立即抛出AttributeError


从exchangelib导入委托、帐户、凭据、配置、日历项、EWSDateTime
从exchangelib.items导入会议请求、会议取消、会议响应
...
对于account.inbox.all()中的项目,订购人('-datetime_received')[:100]:
如果存在(项目,会议响应):
打印('这是会议响应')
持续
其他:
sub=item.subject
senderName=item.sender.name
senderEmail=item.sender.email\u地址
年份=item.datetime\u已收到。年份
月份=item.datetime\u已收到月份
day=item.datetime\u received.day
追加({'Subject':subj'SenderName':SenderName'SenderEmail':SenderEmail,'Year','Year','Month','Day':Day},忽略_index=True)
我尝试过的其他不起作用的方法包括如下异常处理:

试试看:
sub=item.subject
senderName=item.sender.name
senderEmail=item.sender.email\u地址
年份=item.datetime\u已收到。年份
月份=item.datetime\u已收到月份
day=item.datetime\u received.day
追加({'Subject':subj'SenderName':SenderName'SenderEmail':SenderEmail,'Year','Year','Month','Day':Day},忽略_index=True)
#打印(发件人)
例外情况除外,如e:
打印(e)
并按照此处的建议检查消息类型:

但是,无论发生什么,我总是会遇到相同的错误:AttributeError:'NoneType'对象没有属性'find'

以下是回溯:

这是导致代码失败的收件箱消息:

这是一条正常的收件箱消息,不会导致代码失败:

其他您可能会感兴趣的信息: 如果我过滤掉了意味着日历项目不包括在内的项目,我不会得到任何错误,请参阅下面的工作代码。然而,我不知道如何过滤掉会议的回应,特别是

用于account.inbox.filter(主题包含class='Lexis')[:10]中的项目:
打印(项目.主题)
但是,下面的代码不起作用,并抛出相同的AttributeError

用于account.inbox.filter(subject__contains='Accepted:')[:10]:
打印(项目.主题)
它不允许我使用元素\名称\包含或响应\标记\包含进行过滤

这是我在运行“for item in account.inbox.filter(subject\uu contains='Accepted:')[:1]:…”时得到的部分xml

DEBUG:exchangelib.queryset:初始化缓存调试:exchangelib.folders:查找[收件箱(根目录)](
, 
...
响应时间:0.3909999828863665状态代码:200个请求头:{'User-Agent':'python请求/2.18.4','Accept-Encoding':'gzip,deflate','Accept':'*/*','Connection':'Keep-Alive','Content-Type':'text/xml;
charset=utf-8',Cookie':'delted';ClientId=FTNTNFBGUKKHMWERGKW;exchangecookie=deleted','Content Length':'1060','Authorization':deleted}响应头:{'Cache-Control':'private','Transfer-Encoding':'chunked','Content Type':'text/xml;
charset=utf-8,“内容编码”:“gzip”,“Vary”:“接受编码”,“服务器”:“Microsoft IIS/8.5”,“请求id”:“ed9787e2-b43e-4df5-bf8b-a2d91a0f4b6c”,“X-CalculatedBetTarget”:“ex2.父公司.本地”,“X-DiagInfo”:“ex2”,“X-BEServer”:“ex2”,
“X-AspNet-Version”:“4.0.30319”,“设置Cookie”:已删除;expires=Sat,2019年6月15日14:06:36 GMT;path=/EWS;secure;HttpOnly”,“持久身份验证”:“true”,“X-Powered-By”:“ASP.NET”,“X-FEServer”:“EX2”,“日期”:“2019年5月16日星期四14:06:36 GMT”}请求
数据:b'
\n
我只
我的用户_name@co_name.com
SMTP
邮箱
'响应数据:b'
无误
' 
调试:exchangelib.util:会话27048线程16144:来自的有用响应https://cloudmail.firm_name.com/EWS/Exchange.asmx 
...
响应时间:0.061999991804361状态代码:200
请求头:{'User-Agent':'python-requests/2.18.4','Accept-Encoding':'gzip,deflate','Accept':'*/*','Connection':'Keep-Alive','Content-Type':'text/xml;
charset=utf-8',Cookie':delted;ClientId=deleted;exchangecookie=efc27b1d76ad4fea808e577a4e34aa30','Content Length':'5290'}响应头:{'Cache-Control':'private','Transfer-Encoding':'chunked','Content Type':'text/xml;charset=utf-8',
‘内容编码’:‘gzip’,‘Vary’:‘接受编码’,‘服务器’:‘Microsoft IIS/8.5’,‘请求id’:‘7BB3DEE-e6f0-42d2-8e0c-dd296e02c27a’,‘X-CalculatedBETarget’:‘ex2.parent_company.local’,‘X-DiagInfo’:‘ex2’,‘X-BEServer’:‘ex2’,‘X-AspNet’,‘ex2-