El 31 de marzo de 2016, 22:19, Gerardo Diez <gerardo.diez.gar...@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@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 > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/