Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #75791 > unrolled thread

Re: How to delete letters automatically with imaplib?

Started byelearn <elearn2014@gmail.com>
First post2014-08-06 19:19 +0800
Last post2014-08-06 19:19 +0800
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: How to delete letters automatically with imaplib? elearn <elearn2014@gmail.com> - 2014-08-06 19:19 +0800

#75791 — Re: How to delete letters automatically with imaplib?

Fromelearn <elearn2014@gmail.com>
Date2014-08-06 19:19 +0800
SubjectRe: How to delete letters automatically with imaplib?
Message-ID<mailman.12695.1407323966.18130.python-list@python.org>
and how to write the delete command with imaplib?
On 8/6/2014 5:14 PM, Ben Finney wrote:
> elearn <elearn2014@gmail.com> writes:
>
>> status,  data=  con.search(None,  "ALL")
>> print(len(data[0].split()))
>> 48
>> typ,  data=  con.search(None,  'Body',  '"xxx@gmail.com"')
>>>>>   data
>> [b'1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
>>   32 33 34 35 36 37 44']
>>
>> len(data[0].split())
>> 36
>>
>> How can i delete 48-36=12 letters?
> Set operations are designed for this::
>
>      # Construct a set of all message numbers.
>      status, data = con.search(None, "ALL")
>      ids_of_all_messages = set(data[0].split())
>
>      # Construct a set of messages mentioning the address.
>      status, data = con.search(None, 'Body', '"xxx@gmail.com"')
>      ids_of_messages_containing_address = set(data[0].split())
>
>      # Get the messages to delete.
>      ids_of_messages_to_delete = (
>              ids_of_all_messages - ids_of_messages_containing_address)
>

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web