2017-06-15 86 views
1

我可以遍历所有使用for item in account.root.get_folders()if item.__class__ == exchangelib.folders.Messages:的邮件文件夹,但是如何获得该文件夹中消息使用的空间量?使用python exchangelib,如何获得邮件文件夹中消息的总大小

我已经从该文件夹在线阅读是EWS扩展属性类型,但是如何通过exchangelib获取? (仅供参考,属性为PropertyTag:0x0e08; PropertyType:整数)

回答

0

exchangelib不支持文件夹的扩展属性。 EWS确实暴露在项size属性,它可以很容易地加入到exchangelib(随意打开一个问题:-)),这将允许你做这样的事情:

sum(some_folder.all().values_list('size', flat=True)) 

更新: 这里是使用此示例代码来获取所有电子邮件(class folder.Message)文件夹的文件夹大小:

for folder in account.root.find_folders(): 
    if folder.__class__ != exchangelib.folders.Messages: 
     continue 
    fsum = sum(folder.all().values_list('size', flat=True)) 
    print('{0:>40s} {1:12,d}'.format(folder.name.encode('utf-8'), fsum)) 
+0

感谢您的回答! –

相关问题