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

Gerardo Diez gerardo.diez.garcia en gmail.com
Jue Mar 31 17:40:11 EDT 2016


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.

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/
>


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