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+ ')'+"""'""" # 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,)) 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/