Buenas!<div><br></div><div>en el correo<br><br><div class="gmail_quote">2011/2/21 Spectrum Cuarenta y ocho k <span dir="ltr">&lt;<a href="mailto:s_48k@yahoo.com">s_48k@yahoo.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit">Hola:<br> 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()<br>
<br></td></tr></tbody></table></blockquote><div>Realmente el cursor se crea con <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; ">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..</span></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit">¿Porqué dices lo del &#39;except Exception&#39; por ser demasiado general?<br>
</td></tr></tbody></table></blockquote><div><br></div><div>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?)...</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit"><br>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.<br>
</td></tr></tbody></table></blockquote><div><br></div><div>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í?)</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="top" style="font:inherit"><br>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.<br>
<br>Gracias.<br><br><br><br>--- On <b>Mon, 2/21/11, marmolro <i>&lt;<a href="mailto:marmolro@gmail.com" target="_blank">marmolro@gmail.com</a>&gt;</i></b> wrote:<br><blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;padding-left:5px">
<br>From:
 marmolro &lt;<a href="mailto:marmolro@gmail.com" target="_blank">marmolro@gmail.com</a>&gt;<div class="im"><br>Subject: Re: [Python-es] &#39;int&#39; does not support the buffer interface<br>To: &quot;La lista de python en castellano&quot; &lt;<a href="mailto:python-es@python.org" target="_blank">python-es@python.org</a>&gt;<br>
</div>Date: Monday, February 21, 2011, 4:31 PM<div><div></div><div class="h5"><br><br><div>Buenas!<div><br></div><div>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 :)</div>

<div><br></div><div>Varios apuntes:</div><div><ul><li>Hacer un except Exception siempre es mala idea :)</li><li>El finally se ejecutará siempre, por lo que al hacer ahí el commit te arriesgas a hacerlo sobre un &quot;bloque&quot; que ha generado excepción. Casualmente, a ti te ha funcionado, pero no es lo habitual.</li>

</ul></div><div><br></div><div><br><br><div>2011/2/21 Spectrum Cuarenta y ocho k <span dir="ltr">&lt;<a rel="nofollow" href="http://mc/compose?to=s_48k@yahoo.com" target="_blank">s_48k@yahoo.com</a>&gt;</span><br><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font:inherit" valign="top">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: &#39;int&#39; does not support the buffer interface.<br>

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. <br><br>¿a alguien le suena algo de esto o parecido?<br>

</td></tr></tbody></table></blockquote><div><br></div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font:inherit" valign="top">

<br>Venga, un saludo.<br><br>def insertar(autor, texto):<br>        query =
 &quot;INSERT INTO famous_quote (text, author) VALUES (\&quot;%s\&quot;, \&quot;%s\&quot;)&quot; % (texto, autor)<br>        curs = conn.cursor()<br>        try:<br>                curs.execute(query)<br>        except Exception as errr:<br>

                print(&quot;mesaje del fallo: &quot; + str(errr))<br>                print(&quot;Fallo en: &quot; + query)<br>                pass<br>        finally:<br>               
 if(curs):<br>                        curs.close()<br>                        conn.commit()<br>                        print(&quot;OK!&quot;)</td></tr></tbody></table><br>

      <br>_______________________________________________<br>
Python-es mailing list<br>
<a rel="nofollow" href="http://mc/compose?to=Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a rel="nofollow" href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a rel="nofollow" href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br></div>
</div><br></div></div>-----Inline Attachment Follows-----<div class="im"><br><br><div>_______________________________________________<br>Python-es mailing list<br><a href="http://mc/compose?to=Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
</div></div></blockquote></td></tr></tbody></table><br>

      <br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br></div>