Buenas! en el correo
2011/2/21 Spectrum Cuarenta y ocho k <[email protected]> > 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 <[email protected]>* wrote: > > > From: marmolro <[email protected]> > > Subject: Re: [Python-es] 'int' does not support the buffer interface > To: "La lista de python en castellano" <[email protected]> > 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 > <[email protected]<http://mc/[email protected]> > > > > 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 > [email protected] <http://mc/[email protected]> > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > -----Inline Attachment Follows----- > > > _______________________________________________ > Python-es mailing list > [email protected] <http://mc/[email protected]> > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > [email protected] > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
