第十二章:email-mailbox:管理email归档-Maildir-从Maildir邮箱删除消息

13.3.2.3 从Maildir邮箱删除消息
要从一个Maildir邮箱删除已有的消息,可以将消息的键传递到remove()或者使用del。

import mailbox
import os

mbox = mailbox.Maildir('Example')
mbox.lock()
try:
    to_remove = []
    for key,msg in mbox.iteritems():
        if '2' in msg['subject']:
            print('Removing:',key)
            to_remove.append(key)
    for key in to_remove:
        mbox.remove(key)
finally:
    mbox.flush()
    mbox.close()

for dirname,subdirs,files in os.walk('Example'):
    print(dirname)
    print('  Directories:',subdirs)
    for name in files:
        fullname = os.path.join(dirname,name)
        print('\n***',fullname)
        print(open(fullname).read())
        print('*' * 20)

没有办法计算一个消息的键,所以应当使用items()或iteritems()从邮箱同时获取键和消息对象。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值