Re: [Python-es] ¿Para que están usando (o han usado) ustedes Python?

2011-02-21 Por tema Horacio
Para cálculos en bioinformática y biofísica. Así como desarrollar GUI para esos temas... (en esto último ando flojo) ___ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
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 2). El caso, es que funciona bastante bien, pero cuando llevo 3 o 4 partes, sigue funcionando...

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

2011-02-21 Por tema Marcos Sánchez Provencio
Hola Te estás haciendo t mismo un sql injection. Seguramente, si tienes apóstrofes en los datos, casque. Repasa la documentación de uso de parámetros en DB-API. Prueba def insertar(autor, texto): query = "INSERT INTO famous_quote (text, author) VALUES (%s,%s) curs = conn.cursor()

Re: [Python-es] ¿Para que están usando (o han usado) ustedes Python?

2011-02-21 Por tema Rubiela Alicia García Espino
Yo estoy iniciando en su uso y específicamente en el area de SIG combinado con ArcGis. 2011/2/9 Spectrum Cuarenta y ocho k > La idea de este hilo es saber que cosas están haciendo (o han hecho) la > gente de la lista con Python y si usan el lenguaje de forma profesional o > solo para trabajos pe

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Ese no debe ser el problema, hay muchas con apóstrofes y entran sin problemas. Las dobles comillas las escapo en otra parte del código, antes de pasárselo a esa función. Si fuera eso, fallaría siempre, y solo ejecutaría el error. De hecho, cuando pasa eso, da un error distinto y no te deja inser

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

2011-02-21 Por tema gerardo Juarez
De todas formas, la interpolación de variables en un comando SQL es una práctica suficientemente mala como para que estemos seguros que ese no es el problema (http://initd.org/psycopg/docs/usage.html#the-problem-with-the-query-parameters). Lo mismo que dice esta liga más o menos se dice en rela

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Hola Gerardo. Cuando el fallo está al crear la sentencia sql, el programa da otro error diferente (que no recuerdo ahora mismo) y no ejecutaría el curs.execute(query). En mi caso las que debo escapar son las ", y lo hago antes de pasarle el parámetro autor y cita, vamos que entran despiojados,

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

2011-02-21 Por tema marmolro
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

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

2011-02-21 Por tema miguel zamora m.
debes de usar el metodo refresh para los datos si la base se bloquea no podras insertar nada ademas usa algo asi self.con.autocommit(True) El 21 de febrero de 2011 09:40, Spectrum Cuarenta y ocho k escribió: > Hola gente, he hecho un programa para insertar registros en una BD. Son > bastantes,

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

2011-02-21 Por tema monoBOT
En otro orden de cosas para optimizar el código yo definiría el cursor fuera de la función para que no sea definirlo cada vez ... es lo que mas tarda, haz la prueba -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ___ Python-es

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Oído cocina! --- On Mon, 2/21/11, monoBOT wrote: From: monoBOT Subject: Re: [Python-es] 'int' does not support the buffer interface To: "La lista de python en castellano" Date: Monday, February 21, 2011, 4:50 PM En otro orden de cosas para optimizar el código yo definiría el cursor fuera de

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
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() ¿Porqué dices lo del 'except Exception' por ser demasiado general? Lo único que estoy utilizando es el

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

2011-02-21 Por tema gerardo Juarez
No me había fijado que el commit lo hace por cada registro. Por lo que nos describe, la tarea que se ejecuta para procesar unos 2 registros parece ser una tarea 'batch'. Como tal, sería mejor tal vez procesar todos los registros y hasta el final aplicar el commit(), de lo contrario es como

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Hola Gerardo. Si uso MySql. Había puesto el commit por cada registro para que si había algún fallo, por lo menos, tener guardado lo que iba pasando a la base de datos y no perderlo todo. Pero apunto el tema de ponerlo al final, para que haga todos los registros a la vez y mejorar el rendimiento

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

2011-02-21 Por tema Eduard Diaz
Hola, ¿Primero de todo puedes enviar la cadena "mesaje del fallo: " + str(errr) para ver que tipo de excepción devuelve?, ¿es siempre el mismo? Normalmente la clausula finally se utiliza para liberar recursos independientemente de si se ha producido o no una excepción, por lo que no es recomendab

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

2011-02-21 Por tema xiscu
Porqué no pruebas con (sólo para obtener el Traceback) : curs = None try: curs = conn.cursor() if curs: curs.execute(query) curs.close() conn.commit() print("OK!") else: class SinCursorException(BaseException): pass rai

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Hola, el mensaje de error es el que figura en el título de email: 'int' does not support the buffer interface Fíjate que tengo un if(cur) dentro del finally de esa forma solo se ejecuta cuando es necesario. Un saludo. --- On Mon, 2/21/11, Eduard Diaz wrote: From: Eduard Diaz Subject: Re: [P

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

2011-02-21 Por tema marmolro
Buenas! en el correo 2011/2/21 Spectrum Cuarenta y ocho k > 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

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
La excepción está en el título: 'int' does not support the buffer interface --- On Mon, 2/21/11, marmolro wrote: From: marmolro Subject: Re: [Python-es] 'int' does not support the buffer interface To: "La lista de python en castellano" Date: Monday, February 21, 2011, 7:51 PM Buenas! en el co

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

2011-02-21 Por tema marmolro
Buenas! ese es el mensaje, no la excepción :) Añade un "raise" al final del bloque except: y se ve el traceback y la excepción. Respecto al finally echa un ojo a: http://docs.python.org/tutorial/errors.html#defining-clean-up-actions simplemente para ver que se ejecuta *siempre*, con independenc

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
No te discuto que el finally se ejecute siempre, lo puse con esa intención. Mi fallo fue el if(cur) y ya con lo que me pusiste antes me di cuenta que el if solo se aseguraba de si estaba creado el cursor no de si había ejecutado la query (que por otra parte si la ha hecho porque está dentro de l

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Este es el traceback: Traceback (most recent call last):   File "C:\Users\marcelo\Desktop\prueba_archivos.py", line 53, in     leeQuote(n_archivo_, principio_, final_, principio_t, final_t)   File "C:\Users\marcelo\Desktop\prueba_archivos.py", line 46, in leeQuote     insertar(autor, cita)   File

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

2011-02-21 Por tema marmolro
Apostaría que el error está en alguna c-api, pero no sabría decirte más puedes probar con http://code.google.com/p/pymysql/issues/list. De todas formas intenta lo que te ha comentado la gente: reutiliza el cursor y haz commit cada n registros insertados. Igual al no requerir tanto del commit n

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

2011-02-21 Por tema Spectrum Cuarenta y ocho k
Gracias. --- On Mon, 2/21/11, marmolro wrote: From: marmolro Subject: Re: [Python-es] 'int' does not support the buffer interface To: "La lista de python en castellano" Date: Monday, February 21, 2011, 8:44 PM Apostaría que el error está en alguna c-api, pero no sabría decirte más puedes

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

2011-02-21 Por tema miguel zamora m.
def insertar(autor, texto): try: query = "INSERT INTO famous_quote (text, author) VALUES (\"%s\", \"%s\")" % (texto, autor) curs = conn.cursor() curs.execute(query) if(curs): conn.autocommit(true) curs.close()

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

2011-02-21 Por tema Chema Cortes
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Para dar con el problema necesitaríamos realizar más pruebas y ver algo más de código. En una epifanía, se me ocurre que igual tienes algún problema con la codificación de caracteres. ¿Cómo has creado las tablas? ¿cómo creas la conexión? ¿cómo procesa