[Python-es] 'int' does not support the buffer interface

marmolro marmolro en gmail.com
Lun Feb 21 20:51:45 CET 2011


Buenas!

en el correo

2011/2/21 Spectrum Cuarenta y ocho k <s_48k en yahoo.com>

> Hola:
>  Si te fijas tengo el commit dentro de un if(cur), de esa manera, si el
> cursor, que es lo que tengo detro del try, falla, no se crearía el cur y por
> lo tanto tampoco se haría el commit()
>
> Realmente el cursor se crea con conn.cursor(), que está fuera del try, con
lo que el if(cur) es inocuo. De todas formas, compruebas su creación, no su
estado..


> ¿Porqué dices lo del 'except Exception' por ser demasiado general?
>

Sí, demasiado general... como el comentario mio ;). En este caso yo prefiero
que me salte la excepción hasta afuera con toda la información (¿que
excepción es?¿cual es su traceback?)...

>
> Lo único que estoy utilizando es el módulo PyMySQL (porque fue el primero
> que encontré para python 3) de resto nada especial, leo unas cadenas de un
> fichero, y se las paso al la función que les he puesto.
>

pega el traceback y la excepción así podemos ver por donde se queja (este
módulo creo que era 100% python, así que en principio nada que ver con
wrappers... ¿o sí?)

>
> Ahí estoy mirando en San Google a ver que ponen de la excepción, pero hay
> poquito, aunque tiene toda la pinta a ser algo de buffers como tú apuntas.
>
> Gracias.
>
>
>
> --- On *Mon, 2/21/11, marmolro <marmolro en gmail.com>* wrote:
>
>
> From: marmolro <marmolro en gmail.com>
>
> Subject: Re: [Python-es] 'int' does not support the buffer interface
> To: "La lista de python en castellano" <python-es en python.org>
> Date: Monday, February 21, 2011, 4:31 PM
>
>
> Buenas!
>
> Es un error extraño, generalmente relacionado con buffers y el wrapping de
> c/c++ ... si nos das más datos sobre lo que utilizas igual suena más.
> Seguramente la excepción es inocua ya que te deja hacer el commit y te lo
> deja hacer bien, pero mejor investigar :)
>
> Varios apuntes:
>
>    - Hacer un except Exception siempre es mala idea :)
>    - El finally se ejecutará siempre, por lo que al hacer ahí el commit te
>    arriesgas a hacerlo sobre un "bloque" que ha generado excepción.
>    Casualmente, a ti te ha funcionado, pero no es lo habitual.
>
>
>
>
> 2011/2/21 Spectrum Cuarenta y ocho k <s_48k en yahoo.com<http://mc/compose?to=s_48k@yahoo.com>
> >
>
> Hola gente, he hecho un programa para insertar registros en una BD. Son
> bastantes, y lo estoy haciendo por tramos de 20.000 más o menos (de forma
> individual, vamos que hago correr el script cada 20000). El caso, es que
> funciona bastante bien, pero cuando llevo 3 o 4 partes, sigue funcionando...
> pero se salta el try. Me explico, inserta el registro,imprime el OK, pero
> también me ejecuta lo que está dentro del try y pone este error: 'int' does
> not support the buffer interface.
> Por lo tanto, sigue realizando su función pero enseña el error. Si reinicio
> el ordenador y vuelvo a ejecutarlo (exactamente el mismo código) ya no da el
> error. Me da la impresión que es algún buffer de python.
>
> ¿a alguien le suena algo de esto o parecido?
>
>
>
> Venga, un saludo.
>
> def insertar(autor, texto):
>         query = "INSERT INTO famous_quote (text, author) VALUES (\"%s\",
> \"%s\")" % (texto, autor)
>         curs = conn.cursor()
>         try:
>                 curs.execute(query)
>         except Exception as errr:
>                 print("mesaje del fallo: " + str(errr))
>                 print("Fallo en: " + query)
>                 pass
>         finally:
>                 if(curs):
>                         curs.close()
>                         conn.commit()
>                         print("OK!")
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org <http://mc/compose?to=Python-es@python.org>
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
>
> -----Inline Attachment Follows-----
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org <http://mc/compose?to=Python-es@python.org>
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://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/20110221/9df7d064/attachment.html>


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