El 31 de marzo de 2016, 22:19, Gerardo Diez <[email protected]>
escribió:
> Hola,
>
> estoy tratando de descargar una serie de correos filtrados por una
> serie de factores y me encuentro dificultades a la hora de pasarle una
> cadena que debe pasarse entre comillas simples a la función de
> filtrado.
>
> Muestro un poco de código de ejemplo:
>
> import email, imaplib, datetime
>
> #me conecto al servidor y elijo un buzón Todo OK
>
> user = "user"
> pwd = "pwd"
>
> m = imaplib.IMAP4_SSL("imap.gmail.com")
> m.login(user,pwd)
>
>
> m.select("INBOX")
>
> #creo la cadena de filtrado
> import locale
> loc= locale.setlocale(locale.LC_TIME,"C")
> date = datetime.date.today().strftime("%d-%b-%Y")
>
> #el meollo está aquí
> consulta_string = """'"""+'(FROM "user@host" SUBJECT "Notas" SINCE
> '+date+ ')'+"""'"""
>
Creo que dejando esta línea así:
consulta_string = '(FROM "user@host" SUBJECT "Notas" SINCE '+date+ ')'
>
> # si compruebo la cadena con un print "%s" % (consulta_string,) sale
> la cadena que quiero
> #filtro los correos con los criterios anteriores. Y me indica que no
> puede parsear el comando
> resp, items = m.search(None, "%s" % (consulta_string,))
>
Y esta así:
resp, items = m.search(None, consulta_string)
te debería funcionar.
>
>
> Si en vez de la sustitución esa introduzco la cadena tal que así:
>
> resp, items = m.search(None, '(FROM "user@host" SUBJECT "Notas" SINCE
> 31-Mar-2016)')
>
>
> Sé que tiene que ser algo sencillo lo que se me escapa, pero no lo
> veo. ¿Alguien me puede dar alguna orientación?
>
>
> Muchas gracias.
>
> PS: No me tiréis piedras por no emplear {} esta versión no me lo permite.
> _______________________________________________
> Python-es mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/