[Python-es] Sustitución de cadena con comillas simples

Kiko kikocorreoso en gmail.com
Jue Mar 31 17:42:21 EDT 2016


El 31 de marzo de 2016, 23:40, Gerardo Diez <gerardo.diez.garcia en gmail.com>
escribió:

> Cierto. Funciona. Muchísimas gracias. No sé porqué a veces me lío la
> manta a la cabeza y cada vez complico más y más el código.
>

Es debido al T[MC]DD: Too Much Coffee Driven Development


>
> El día 31 de marzo de 2016, 22:39, Kiko <kikocorreoso en gmail.com> escribió:
> >
> >
> > El 31 de marzo de 2016, 22:19, Gerardo Diez <
> gerardo.diez.garcia en gmail.com>
> > 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 en host" SUBJECT "Notas" SINCE
> >> '+date+ ')'+"""'"""
> >
> >
> > Creo que dejando esta línea así:
> >
> > consulta_string = '(FROM "user en 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 en 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
> >> Python-es en python.org
> >> https://mail.python.org/mailman/listinfo/python-es
> >> FAQ: http://python-es-faq.wikidot.com/
> >
> >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > https://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20160331/dd5eccf8/attachment.html>


Más información sobre la lista de distribución Python-es