From pych3m4 en gmail.com Thu Aug 1 03:39:17 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 1 Aug 2013 03:39:17 +0200 Subject: [Python-es] Buscar texto en QTextEdit (PyQt) In-Reply-To: <51F92F3D.7070500@gmail.com> References: <51F92F3D.7070500@gmail.com> Message-ID: Si hubieras puesto algo del código que no te funciona se podría averiguar qué es lo que pasa. Saber qué versión de Qt, PyQt y python también ayudaría. QTextEdit posee un cursor QTextCursor que debería encargarse del posicionamiento y resaltado del texto. El problema es que el método .find() siempre busca adelante, por defecto, a partir de la posición actual del cursor. Previsiblemente, QTextEdit estará apuntando al final del texto que estabas introduciendo. Solución tonta: antes de buscar posiciona el cursor de edición al inicio del QTextEdit. Solución buena: mírate la documentación de los métodos QTextEdit.textCursor , QTextEdit.setTextCursor, QTextCursor.setPosition,.... El día 31 de julio de 2013 17:37, kausdiv escribió: > Hola de nuevo. > > Estoy tratando de hacer un procedimiento que busque un texto dentro de un > QTextEdit. El texto a buscar se introduce en QLineEdit. > > Lo que pretendo es que busque y posicione el cursor en el texto encontrado. > > He probado con "find" pero no consigo nada y lo que he encontrado en google > no me ha servido de mucho. > > ¿ Alguien tiene un ejemplo en el que basarme ? > > Gracias de antemano. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From todosobrepython en gmail.com Fri Aug 2 11:16:43 2013 From: todosobrepython en gmail.com (Jorge Vega Trigueros) Date: Fri, 2 Aug 2013 03:16:43 -0600 Subject: [Python-es] Consulta DABO. In-Reply-To: <51F97197.5030506@gmail.com> References: <51F97197.5030506@gmail.com> Message-ID: Probe un poco y me parecio muy interesante. En concreto la pregunta es si existen sitios con Dabo. El 31 de julio de 2013 14:20, Mario Lacunza escribió: > Hola, > > Varios y un sinnumero en la comunidad mundial, cual es tu consulta? > > Saludos / Best regards > > Mario Lacunza > Email:: mlacunza en gmail.com > Personal Website:: http://www.lacunza.biz/ > Hosting:: http://mlv-host.com/ > Mascotas Perdidas:: http://mascotas-perdidas.com/ > Google Talk / Y! messenger / Skype: mlacunzav > MSN: mlacunzav en hotmail.com > > El 31/07/13 14:59, Jorge Vega Trigueros escribió: > > Saludos desde Costa Rica. > > Tengo años de ser programador tradicional en varios lenguajes, el > ante-penúltimo fue Velneo 6.4.1. > Del que estoy migrando, por razones que no vienen al caso $$$$. > > Por otra parte tengo como 6 meses de estar, evaluando Python, que me > parece excelente, tiene > de todo y para todos, y por esto la duda. Leyendo y leyendo me encontre > framework Dabo, con IDE y > WxPython. > > La consulta es si alquien tiene experiencia en desarrollo estos. > > > Gracias > . > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttp://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: From kausdiv en gmail.com Fri Aug 2 11:53:46 2013 From: kausdiv en gmail.com (kausdiv) Date: Fri, 02 Aug 2013 11:53:46 +0200 Subject: [Python-es] Buscar texto en QTextEdit (PyQt) In-Reply-To: References: <51F92F3D.7070500@gmail.com> Message-ID: <51FB81AA.2050603@gmail.com> Gracias Chema por contestar. Verás, yo pongo el cursor al principio del texto manualmente, es decir con el ratón. el procedimiento de búsqueda que uso es este: ---------------------------------------- # "txBusca" es un campo QlineEdit y "texto" el QTextEdit donde busco. def buscar(self): t = QtGui.QString(self.txBusca.text()) # QtGui.QMessageBox.about(self, 'busca', t) if self.texto.find(self, t, 0): QtGui.QMessageBox.about(self, "Encontrado", str(t)) ............................................... No se si lo estoy haciendo mal. Saludos. El 01/08/2013 3:39, Chema Cortes escribió: > Si hubieras puesto algo del código que no te funciona se podría > averiguar qué es lo que pasa. Saber qué versión de Qt, PyQt y python > también ayudaría. > > QTextEdit posee un cursor QTextCursor que debería encargarse del > posicionamiento y resaltado del texto. El problema es que el método > .find() siempre busca adelante, por defecto, a partir de la posición > actual del cursor. Previsiblemente, QTextEdit estará apuntando al > final del texto que estabas introduciendo. > > Solución tonta: antes de buscar posiciona el cursor de edición al > inicio del QTextEdit. > Solución buena: mírate la documentación de los métodos > QTextEdit.textCursor , QTextEdit.setTextCursor, > QTextCursor.setPosition,.... > > El día 31 de julio de 2013 17:37, kausdiv escribió: >> Hola de nuevo. >> >> Estoy tratando de hacer un procedimiento que busque un texto dentro de un >> QTextEdit. El texto a buscar se introduce en QLineEdit. >> >> Lo que pretendo es que busque y posicione el cursor en el texto encontrado. >> >> He probado con "find" pero no consigo nada y lo que he encontrado en google >> no me ha servido de mucho. >> >> ¿ Alguien tiene un ejemplo en el que basarme ? >> >> Gracias de antemano. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > From juanlu001 en gmail.com Fri Aug 2 11:36:49 2013 From: juanlu001 en gmail.com (Juan Luis Cano) Date: Fri, 02 Aug 2013 11:36:49 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= Message-ID: <51FB7DB1.80901@gmail.com> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ :) From nadaird en gmail.com Fri Aug 2 12:12:38 2013 From: nadaird en gmail.com (G V) Date: Fri, 2 Aug 2013 12:12:38 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: <51FB7DB1.80901@gmail.com> References: <51FB7DB1.80901@gmail.com> Message-ID: imperfección me suena fatal incluso en la frase que construyen, es como si intentaran hacerlo sonar menos malo. On Fri, Aug 2, 2013 at 11:36 AM, Juan Luis Cano wrote: > http://www.fundeu.es/**recomendacion/bug-**alternativas-en-espanol/ > > :) > ______________________________**_________________ > 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: From kikocorreoso en gmail.com Fri Aug 2 12:33:41 2013 From: kikocorreoso en gmail.com (Kiko) Date: Fri, 2 Aug 2013 12:33:41 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: References: <51FB7DB1.80901@gmail.com> Message-ID: > On Fri, Aug 2, 2013 at 11:36 AM, Juan Luis Cano wrote: > >> http://www.fundeu.es/**recomendacion/bug-**alternativas-en-espanol/ >> >> :) >> > Pero es un bug o es una feature. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Fri Aug 2 12:45:33 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 2 Aug 2013 12:45:33 +0200 Subject: [Python-es] Buscar texto en QTextEdit (PyQt) In-Reply-To: <51FB81AA.2050603@gmail.com> References: <51F92F3D.7070500@gmail.com> <51FB81AA.2050603@gmail.com> Message-ID: El día 2 de agosto de 2013 11:53, kausdiv escribió: > Gracias Chema por contestar. > > Verás, yo pongo el cursor al principio del texto manualmente, es decir con > el ratón. > el procedimiento de búsqueda que uso es este: > ---------------------------------------- > # "txBusca" es un campo QlineEdit y "texto" el QTextEdit donde busco. > > def buscar(self): > t = QtGui.QString(self.txBusca.text()) > # QtGui.QMessageBox.about(self, 'busca', t) > if self.texto.find(self, t, 0): > QtGui.QMessageBox.about(self, "Encontrado", str(t)) La API es algo confusa. Por regla general, si ves un argumento 'self' debes interpretarlo como llamada a un método de la instancia. Por otro lado, el método QLineEdit.text devuelve una QString por lo que no precisa que la conviertas: def buscar(self): text = self.txBusca.text() # QtGui.QMessageBox.about(self, 'busca', t) if self.texto.find(text, 0): QtGui.QMessageBox.about(self, "Encontrado", text) En la última línea, en este caso sí que se pasa a QMessageBox.about 'self' para que actúe como "parent" del diálogo. > ............................................... > > No se si lo estoy haciendo mal. > > Saludos. > > El 01/08/2013 3:39, Chema Cortes escribió: > >> Si hubieras puesto algo del código que no te funciona se podría >> averiguar qué es lo que pasa. Saber qué versión de Qt, PyQt y python >> también ayudaría. >> >> QTextEdit posee un cursor QTextCursor que debería encargarse del >> posicionamiento y resaltado del texto. El problema es que el método >> .find() siempre busca adelante, por defecto, a partir de la posición >> actual del cursor. Previsiblemente, QTextEdit estará apuntando al >> final del texto que estabas introduciendo. >> >> Solución tonta: antes de buscar posiciona el cursor de edición al >> inicio del QTextEdit. >> Solución buena: mírate la documentación de los métodos >> QTextEdit.textCursor , QTextEdit.setTextCursor, >> QTextCursor.setPosition,.... >> >> El día 31 de julio de 2013 17:37, kausdiv escribió: >>> >>> Hola de nuevo. >>> >>> Estoy tratando de hacer un procedimiento que busque un texto dentro de >>> un >>> QTextEdit. El texto a buscar se introduce en QLineEdit. >>> >>> Lo que pretendo es que busque y posicione el cursor en el texto >>> encontrado. >>> >>> He probado con "find" pero no consigo nada y lo que he encontrado en >>> google >>> no me ha servido de mucho. >>> >>> ¿ Alguien tiene un ejemplo en el que basarme ? >>> >>> Gracias de antemano. >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From joe en joedicastro.com Fri Aug 2 12:47:47 2013 From: joe en joedicastro.com (joe di castro) Date: Fri, 02 Aug 2013 12:47:47 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: <51FB7DB1.80901@gmail.com> References: <51FB7DB1.80901@gmail.com> Message-ID: <51FB8E53.5060308@joedicastro.com> El 02/08/13 11:36, Juan Luis Cano escribió: > http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ > > :) > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la historia de la informática, que se pierde en la traducción y que aleja al que nunca escucha la acepción original de preguntarse porque demonios alguien decidió darle ese nombre por primera vez y perder la oportunidad de situar los conceptos dentro de su contexto. Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras en español que algún "académico" eligiera como traducción adecuada... A veces estamos cayendo en el más profundo de los ridículos al querer traducir todo y ser tan "chauvinistas"... -- joe di castro http://joedicastro.com From josep.danti en gmail.com Fri Aug 2 13:01:40 2013 From: josep.danti en gmail.com (Josep Danti) Date: Fri, 2 Aug 2013 13:01:40 +0200 Subject: [Python-es] [OT] Recomendaci?n de Fund?u de hoy In-Reply-To: <51FB8E53.5060308@joedicastro.com> References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> Message-ID: <20130802110140.GA9658@simula-OptiPlex-760> Totalmente de acuerdo en que forma parte ya de la historia. La invencion del termino viene de 1947 y el bicho original se puede ver en un museo y todo: http://en.wikipedia.org/wiki/Grace_Hopper On Fri, Aug 02, 2013 at 12:47:47PM +0200, joe di castro wrote: > El 02/08/13 11:36, Juan Luis Cano escribi?: > > http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ > > > > :) > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la > historia de la inform?tica, que se pierde en la traducci?n y que aleja > al que nunca escucha la acepci?n original de preguntarse porque demonios > alguien decidi? darle ese nombre por primera vez y perder la oportunidad > de situar los conceptos dentro de su contexto. > > Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras > en espa?ol que alg?n "acad?mico" eligiera como traducci?n adecuada... > > A veces estamos cayendo en el m?s profundo de los rid?culos al querer > traducir todo y ser tan "chauvinistas"... > > -- > joe di castro > http://joedicastro.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/ -- Josep Danti From pych3m4 en gmail.com Fri Aug 2 13:14:35 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 2 Aug 2013 13:14:35 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: <51FB8E53.5060308@joedicastro.com> References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> Message-ID: El día 2 de agosto de 2013 12:47, joe di castro escribió: > El 02/08/13 11:36, Juan Luis Cano escribió: >> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ >> >> :) >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la > historia de la informática, que se pierde en la traducción y que aleja > al que nunca escucha la acepción original de preguntarse porque demonios > alguien decidió darle ese nombre por primera vez y perder la oportunidad > de situar los conceptos dentro de su contexto. Conozco a uno que traduce "bug" como "bicho", algo que sería más fiel con el origen del término. Casos parecidos de palabras del argot serían "boot", "bit", "spam", ... Su traducción haría perder su contexto original, tal como intentar traducir términos como "Rock'nd'roll" o "Deus ex machina". Aunque hay traducciones como "demonio" (daemon) que sí que han terminado por cuajar. > Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras > en español que algún "académico" eligiera como traducción adecuada... Una vez perdí toda una mañana compilando un programa porque a álguien se le había ocurrido traducir BUFFER como TAMPON, sin tener en cuenta que se trataba del nombre de una variable de entorno. > > A veces estamos cayendo en el más profundo de los ridículos al querer > traducir todo y ser tan "chauvinistas"... > > -- > joe di castro > http://joedicastro.com -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From joe en joedicastro.com Fri Aug 2 13:25:39 2013 From: joe en joedicastro.com (joe di castro) Date: Fri, 02 Aug 2013 13:25:39 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> Message-ID: <51FB9733.5040600@joedicastro.com> El 02/08/13 13:14, Chema Cortes escribió: > El día 2 de agosto de 2013 12:47, joe di castro escribió: >> El 02/08/13 11:36, Juan Luis Cano escribió: >>> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ >>> >>> :) >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la >> historia de la informática, que se pierde en la traducción y que aleja >> al que nunca escucha la acepción original de preguntarse porque demonios >> alguien decidió darle ese nombre por primera vez y perder la oportunidad >> de situar los conceptos dentro de su contexto. > > Conozco a uno que traduce "bug" como "bicho", algo que sería más fiel > con el origen del término. Casos parecidos de palabras del argot > serían "boot", "bit", "spam", ... Su traducción haría perder su > contexto original, tal como intentar traducir términos como > "Rock'nd'roll" o "Deus ex machina". Aunque hay traducciones como > "demonio" (daemon) que sí que han terminado por cuajar. Si, hay decenas, si no cientos de terminos de las primeras epocas que pierden todo su sentido original al traducirlas... >> Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras >> en español que algún "académico" eligiera como traducción adecuada... > > Una vez perdí toda una mañana compilando un programa porque a álguien > se le había ocurrido traducir BUFFER como TAMPON, sin tener en cuenta > que se trataba del nombre de una variable de entorno. > Lo de las traducciones puede ser la leche, yo cuando compro algún aparato salto directamente al manual en inglés (cuando lo leo XD) evitando la parte en español... Y siempre es mejor decir Rolling Stones que "cantos rodados", por favor... :) >> >> A veces estamos cayendo en el más profundo de los ridículos al querer >> traducir todo y ser tan "chauvinistas"... >> >> -- >> joe di castro >> http://joedicastro.com > > > -- joe di castro http://joedicastro.com From jescurbelo en gmail.com Fri Aug 2 13:30:22 2013 From: jescurbelo en gmail.com (=?ISO-8859-1?Q?Jes=FAs_Curbelo_Rodr=EDguez?=) Date: Fri, 02 Aug 2013 12:30:22 +0100 Subject: [Python-es] isfile() Message-ID: <51FB984E.1030104@gmail.com> Hola a todos, Tengo este pequeño script: import os import os.path for fileName in open('testfile.txt'): f = fileName # opcion 1 #f = cwd + os.path.sep + fileName # opcion 2 #f = os.path.join(os.getcwd(), fileName) # opcion 3 if os.path.isfile(f): print "Encontrado el archivo %s" % fileName else: print "No encontrado el archivo %s" % fileName donde *testfile.txt* incluye la lista de ficheros del directorio donde esta el script. Ejecuto el script y no encuentra ninguno de los archivos, o lo que es lo mismo *isfile *devuelve *False* para todos los archivos (probado tanto en Windows como en Linux). Tampoco me funciona usando la opción 2 ni la opción 3. El mismo script en TCL o batch funciona perfectamente encontrando todos los archivos listados en *testfile.txt* Si pruebo desde IDLE la funcion *isfile* devuelve *True*. Si en el script pongo el nombre del archivo o la ruta completa (usando en ambos casos raw strings) el resultado es el correcto (*isfile* devuelve *True*). He estado buscando en la red pero no consigo encontrar la solución. Gracias y saludos. -- *Jesús Curbelo /Quis custodiet ipsos custodes?/ * ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nadaird en gmail.com Fri Aug 2 13:32:00 2013 From: nadaird en gmail.com (G V) Date: Fri, 2 Aug 2013 13:32:00 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: <51FB9733.5040600@joedicastro.com> References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> <51FB9733.5040600@joedicastro.com> Message-ID: De hecho daemon, la traduccion es daimon ( http://es.wikipedia.org/wiki/Daimon) que no es la misma idea Y con cantos rodados perderías la parte de "bala perdida" que seria casi mas fiel 2013/8/2 joe di castro > El 02/08/13 13:14, Chema Cortes escribió: > > El día 2 de agosto de 2013 12:47, joe di castro > escribió: > >> El 02/08/13 11:36, Juan Luis Cano escribió: > >>> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ > >>> > >>> :) > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es en python.org > >>> http://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >>> > >> > >> "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la > >> historia de la informática, que se pierde en la traducción y que aleja > >> al que nunca escucha la acepción original de preguntarse porque demonios > >> alguien decidió darle ese nombre por primera vez y perder la oportunidad > >> de situar los conceptos dentro de su contexto. > > > > Conozco a uno que traduce "bug" como "bicho", algo que sería más fiel > > con el origen del término. Casos parecidos de palabras del argot > > serían "boot", "bit", "spam", ... Su traducción haría perder su > > contexto original, tal como intentar traducir términos como > > "Rock'nd'roll" o "Deus ex machina". Aunque hay traducciones como > > "demonio" (daemon) que sí que han terminado por cuajar. > > Si, hay decenas, si no cientos de terminos de las primeras epocas que > pierden todo su sentido original al traducirlas... > > >> Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras > >> en español que algún "académico" eligiera como traducción adecuada... > > > > Una vez perdí toda una mañana compilando un programa porque a álguien > > se le había ocurrido traducir BUFFER como TAMPON, sin tener en cuenta > > que se trataba del nombre de una variable de entorno. > > > > Lo de las traducciones puede ser la leche, yo cuando compro algún > aparato salto directamente al manual en inglés (cuando lo leo XD) > evitando la parte en español... > > Y siempre es mejor decir Rolling Stones que "cantos rodados", por > favor... :) > > > >> > >> A veces estamos cayendo en el más profundo de los ridículos al querer > >> traducir todo y ser tan "chauvinistas"... > >> > >> -- > >> joe di castro > >> http://joedicastro.com > > > > > > > > > -- > joe di castro > http://joedicastro.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: From joe en joedicastro.com Fri Aug 2 13:47:53 2013 From: joe en joedicastro.com (joe di castro) Date: Fri, 02 Aug 2013 13:47:53 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> <51FB9733.5040600@joedicastro.com> Message-ID: <51FB9C69.7020107@joedicastro.com> El 02/08/13 13:32, G V escribió: > De hecho daemon, la traduccion es daimon > (http://es.wikipedia.org/wiki/Daimon) que no es la misma idea > > Y con cantos rodados perderías la parte de "bala perdida" que seria casi > mas fiel > No es que sea más fiel, es que son acepciones distintas, todo depende del contexto. Rolling stone la cancion de Muddy Waters que inspiro el nombre al grupo y la gran cancion de Bob Dylan no se escribio pensando en unas piedras del desierto, basta con leer la letra: Well my mother told my father just before I was born 'I got a boy child comin', gonna be, gonna be a rollin' stone Sho' enough he's a rollin' stone ... Por eso la unica traduccion posible del nombre del grupo es la expresion aproximada de "bala perdida" y otras con identico significado, ni siquiera "trotamundos" (otra traduccion frecuente) es adecuado en este caso. Precisamente es de lo que hablaba en mi primer correo, traducir sin conservar el contexto no es traducir, y el contexto pueder ser algo mas extenso que el uso habitual de la palabra, como puede ser su origen e historia. > > 2013/8/2 joe di castro > > > El 02/08/13 13:14, Chema Cortes escribió: > > El día 2 de agosto de 2013 12:47, joe di castro > > escribió: > >> El 02/08/13 11:36, Juan Luis Cano escribió: > >>> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ > >>> > >>> :) > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es en python.org > >>> http://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >>> > >> > >> "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la > >> historia de la informática, que se pierde en la traducción y que > aleja > >> al que nunca escucha la acepción original de preguntarse porque > demonios > >> alguien decidió darle ese nombre por primera vez y perder la > oportunidad > >> de situar los conceptos dentro de su contexto. > > > > Conozco a uno que traduce "bug" como "bicho", algo que sería más fiel > > con el origen del término. Casos parecidos de palabras del argot > > serían "boot", "bit", "spam", ... Su traducción haría perder su > > contexto original, tal como intentar traducir términos como > > "Rock'nd'roll" o "Deus ex machina". Aunque hay traducciones como > > "demonio" (daemon) que sí que han terminado por cuajar. > > Si, hay decenas, si no cientos de terminos de las primeras epocas que > pierden todo su sentido original al traducirlas... > > >> Lo mismo ocurre con palabras como "hacker", "buffer", ... y las > palabras > >> en español que algún "académico" eligiera como traducción adecuada... > > > > Una vez perdí toda una mañana compilando un programa porque a álguien > > se le había ocurrido traducir BUFFER como TAMPON, sin tener en cuenta > > que se trataba del nombre de una variable de entorno. > > > > Lo de las traducciones puede ser la leche, yo cuando compro algún > aparato salto directamente al manual en inglés (cuando lo leo XD) > evitando la parte en español... > > Y siempre es mejor decir Rolling Stones que "cantos rodados", por > favor... :) > > > >> > >> A veces estamos cayendo en el más profundo de los ridículos al querer > >> traducir todo y ser tan "chauvinistas"... > >> > >> -- > >> joe di castro > >> http://joedicastro.com > > > > > > > > > -- > joe di castro > http://joedicastro.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/ > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- joe di castro http://joedicastro.com From nadaird en gmail.com Fri Aug 2 14:29:51 2013 From: nadaird en gmail.com (G V) Date: Fri, 2 Aug 2013 14:29:51 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: <51FB9C69.7020107@joedicastro.com> References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> <51FB9733.5040600@joedicastro.com> <51FB9C69.7020107@joedicastro.com> Message-ID: lei rapido y no detecté el tono con lo de los "cantos rodados" ; ) 2013/8/2 joe di castro > El 02/08/13 13:32, G V escribió: > > De hecho daemon, la traduccion es daimon > > (http://es.wikipedia.org/wiki/Daimon) que no es la misma idea > > > > Y con cantos rodados perderías la parte de "bala perdida" que seria casi > > mas fiel > > > > No es que sea más fiel, es que son acepciones distintas, todo depende > del contexto. Rolling stone la cancion de Muddy Waters que inspiro el > nombre al grupo y la gran cancion de Bob Dylan no se escribio pensando > en unas piedras del desierto, basta con leer la letra: > > Well my mother told my father just before I was born > 'I got a boy child comin', gonna be, gonna be a rollin' stone > Sho' enough he's a rollin' stone ... > > Por eso la unica traduccion posible del nombre del grupo es la expresion > aproximada de "bala perdida" y otras con identico significado, ni > siquiera "trotamundos" (otra traduccion frecuente) es adecuado en este > caso. > > Precisamente es de lo que hablaba en mi primer correo, traducir sin > conservar el contexto no es traducir, y el contexto pueder ser algo mas > extenso que el uso habitual de la palabra, como puede ser su origen e > historia. > > > > > > 2013/8/2 joe di castro >> > > > > El 02/08/13 13:14, Chema Cortes escribió: > > > El día 2 de agosto de 2013 12:47, joe di castro > > > escribió: > > >> El 02/08/13 11:36, Juan Luis Cano escribió: > > >>> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ > > >>> > > >>> :) > > >>> _______________________________________________ > > >>> Python-es mailing list > > >>> Python-es en python.org > > >>> http://mail.python.org/mailman/listinfo/python-es > > >>> FAQ: http://python-es-faq.wikidot.com/ > > >>> > > >> > > >> "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de > la > > >> historia de la informática, que se pierde en la traducción y que > > aleja > > >> al que nunca escucha la acepción original de preguntarse porque > > demonios > > >> alguien decidió darle ese nombre por primera vez y perder la > > oportunidad > > >> de situar los conceptos dentro de su contexto. > > > > > > Conozco a uno que traduce "bug" como "bicho", algo que sería más > fiel > > > con el origen del término. Casos parecidos de palabras del argot > > > serían "boot", "bit", "spam", ... Su traducción haría perder su > > > contexto original, tal como intentar traducir términos como > > > "Rock'nd'roll" o "Deus ex machina". Aunque hay traducciones como > > > "demonio" (daemon) que sí que han terminado por cuajar. > > > > Si, hay decenas, si no cientos de terminos de las primeras epocas que > > pierden todo su sentido original al traducirlas... > > > > >> Lo mismo ocurre con palabras como "hacker", "buffer", ... y las > > palabras > > >> en español que algún "académico" eligiera como traducción > adecuada... > > > > > > Una vez perdí toda una mañana compilando un programa porque a > álguien > > > se le había ocurrido traducir BUFFER como TAMPON, sin tener en > cuenta > > > que se trataba del nombre de una variable de entorno. > > > > > > > Lo de las traducciones puede ser la leche, yo cuando compro algún > > aparato salto directamente al manual en inglés (cuando lo leo XD) > > evitando la parte en español... > > > > Y siempre es mejor decir Rolling Stones que "cantos rodados", por > > favor... :) > > > > > > >> > > >> A veces estamos cayendo en el más profundo de los ridículos al > querer > > >> traducir todo y ser tan "chauvinistas"... > > >> > > >> -- > > >> joe di castro > > >> http://joedicastro.com > > > > > > > > > > > > > > > -- > > joe di castro > > http://joedicastro.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/ > > > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > joe di castro > http://joedicastro.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: From razpeitia en gmail.com Fri Aug 2 16:41:52 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Fri, 2 Aug 2013 09:41:52 -0500 Subject: [Python-es] Consulta DABO. In-Reply-To: References: <51F97197.5030506@gmail.com> Message-ID: Dabo no es para desarrollar aplicaciones web, es un framework para desarrollar aplicaciones de escritorio. Es como preguntar si hay sitios desarrollados con qt o wx o tkinter. El 2 de agosto de 2013 04:16, Jorge Vega Trigueros < todosobrepython en gmail.com> escribió: > Probe un poco y me parecio muy interesante. > En concreto la pregunta es si existen sitios con Dabo. > > > > > El 31 de julio de 2013 14:20, Mario Lacunza escribió: > > Hola, >> >> Varios y un sinnumero en la comunidad mundial, cual es tu consulta? >> >> Saludos / Best regards >> >> Mario Lacunza >> Email:: mlacunza en gmail.com >> Personal Website:: http://www.lacunza.biz/ >> Hosting:: http://mlv-host.com/ >> Mascotas Perdidas:: http://mascotas-perdidas.com/ >> Google Talk / Y! messenger / Skype: mlacunzav >> MSN: mlacunzav en hotmail.com >> >> El 31/07/13 14:59, Jorge Vega Trigueros escribió: >> >> Saludos desde Costa Rica. >> >> Tengo años de ser programador tradicional en varios lenguajes, el >> ante-penúltimo fue Velneo 6.4.1. >> Del que estoy migrando, por razones que no vienen al caso $$$$. >> >> Por otra parte tengo como 6 meses de estar, evaluando Python, que me >> parece excelente, tiene >> de todo y para todos, y por esto la duda. Leyendo y leyendo me encontre >> framework Dabo, con IDE y >> WxPython. >> >> La consulta es si alquien tiene experiencia en desarrollo estos. >> >> >> Gracias >> . >> >> >> _______________________________________________ >> Python-es mailing listPython-es en python.orghttp://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/ >> >> > > _______________________________________________ > 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: From todosobrepython en gmail.com Fri Aug 2 18:22:56 2013 From: todosobrepython en gmail.com (Jorge Vega Trigueros) Date: Fri, 2 Aug 2013 10:22:56 -0600 Subject: [Python-es] Consulta DABO. In-Reply-To: References: <51F97197.5030506@gmail.com> Message-ID: De acuerdo si para aplicaciones de escritorio, fue lo que vi rapidamente, pero también note que se podia utilizar para web. https://docs.google.com/document/d/1hDxjGuf7-CP3Kjm54vr3qIvmQhz-so6ceAZGPaOPj1c/preview Pero en fin, siempre voy a probar. Gracias por tu respuesta. El 2 de agosto de 2013 08:41, Ricardo Azpeitia Pimentel escribió: > Dabo no es para desarrollar aplicaciones web, es un framework para > desarrollar aplicaciones de escritorio. > > Es como preguntar si hay sitios desarrollados con qt o wx o tkinter. > > > El 2 de agosto de 2013 04:16, Jorge Vega Trigueros < > todosobrepython en gmail.com> escribió: > > Probe un poco y me parecio muy interesante. >> En concreto la pregunta es si existen sitios con Dabo. >> >> >> >> >> El 31 de julio de 2013 14:20, Mario Lacunza escribió: >> >> Hola, >>> >>> Varios y un sinnumero en la comunidad mundial, cual es tu consulta? >>> >>> Saludos / Best regards >>> >>> Mario Lacunza >>> Email:: mlacunza en gmail.com >>> Personal Website:: http://www.lacunza.biz/ >>> Hosting:: http://mlv-host.com/ >>> Mascotas Perdidas:: http://mascotas-perdidas.com/ >>> Google Talk / Y! messenger / Skype: mlacunzav >>> MSN: mlacunzav en hotmail.com >>> >>> El 31/07/13 14:59, Jorge Vega Trigueros escribió: >>> >>> Saludos desde Costa Rica. >>> >>> Tengo años de ser programador tradicional en varios lenguajes, el >>> ante-penúltimo fue Velneo 6.4.1. >>> Del que estoy migrando, por razones que no vienen al caso $$$$. >>> >>> Por otra parte tengo como 6 meses de estar, evaluando Python, que me >>> parece excelente, tiene >>> de todo y para todos, y por esto la duda. Leyendo y leyendo me encontre >>> framework Dabo, con IDE y >>> WxPython. >>> >>> La consulta es si alquien tiene experiencia en desarrollo estos. >>> >>> >>> Gracias >>> . >>> >>> >>> _______________________________________________ >>> Python-es mailing listPython-es en python.orghttp://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/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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: From carlos.zun en gmail.com Fri Aug 2 18:34:31 2013 From: carlos.zun en gmail.com (Carlos Zuniga) Date: Fri, 2 Aug 2013 11:34:31 -0500 Subject: [Python-es] =?utf-8?q?=5BOT=5D_Recomendaci=C3=B3n_de_Fund=C3=A9u_?= =?utf-8?q?de_hoy?= In-Reply-To: <51FB8E53.5060308@joedicastro.com> References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> Message-ID: 2013/8/2 joe di castro : > El 02/08/13 11:36, Juan Luis Cano escribió: >> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ >> >> :) >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la > historia de la informática, que se pierde en la traducción y que aleja > al que nunca escucha la acepción original de preguntarse porque demonios > alguien decidió darle ese nombre por primera vez y perder la oportunidad > de situar los conceptos dentro de su contexto. > > Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras > en español que algún "académico" eligiera como traducción adecuada... > > A veces estamos cayendo en el más profundo de los ridículos al querer > traducir todo y ser tan "chauvinistas"... > Hay veces donde la traducción puede mejorar. Por ejemplo prefiero decir "por omisión" que el defectuoso "por defecto" que suelo leer por todos lados y puede ser fácilmente confundido con un bug :) Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. From carlos.zun en gmail.com Fri Aug 2 18:41:25 2013 From: carlos.zun en gmail.com (Carlos Zuniga) Date: Fri, 2 Aug 2013 11:41:25 -0500 Subject: [Python-es] isfile() In-Reply-To: <51FB984E.1030104@gmail.com> References: <51FB984E.1030104@gmail.com> Message-ID: 2013/8/2 Jesús Curbelo Rodríguez : > Hola a todos, > > Tengo este pequeño script: > > import os > import os.path > for fileName in open('testfile.txt'): > f = fileName # opcion 1 > #f = cwd + os.path.sep + fileName # opcion 2 > #f = os.path.join(os.getcwd(), fileName) # opcion 3 > if os.path.isfile(f): > print "Encontrado el archivo %s" % fileName > else: > print "No encontrado el archivo %s" % fileName > > donde testfile.txt incluye la lista de ficheros del directorio donde esta el > script. > Ejecuto el script y no encuentra ninguno de los archivos, o lo que es lo > mismo isfile devuelve False para todos los archivos (probado tanto en > Windows como en Linux). Tampoco me funciona usando la opción 2 ni la opción > 3. > El mismo script en TCL o batch funciona perfectamente encontrando todos los > archivos listados en testfile.txt > Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script pongo > el nombre del archivo o la ruta completa (usando en ambos casos raw strings) > el resultado es el correcto (isfile devuelve True). > He estado buscando en la red pero no consigo encontrar la solución. > open() devuelve un objeto fichero y no creo que puedas hacer un bucle sobre él directamente (o tal vez esto haga bucle sobre cada carácter?), tienes que llamar a su método readlines. Prueba con: with open('testfile.txt', 'r') as my_file: for file_name in my_file.readlines(): if os.path.isfile(file_name) ... Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. From razpeitia en gmail.com Fri Aug 2 18:49:04 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Fri, 2 Aug 2013 11:49:04 -0500 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un archivo, y por default usa xreadlines si no mal recuerdo. Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y donde se encuentren sus archivos va a tener resultados diferentes. Una buena idea seria imprimir la rutas para ver cual es la diferencia. El 2 de agosto de 2013 11:41, Carlos Zuniga escribió: > 2013/8/2 Jesús Curbelo Rodríguez : > > Hola a todos, > > > > Tengo este pequeño script: > > > > import os > > import os.path > > for fileName in open('testfile.txt'): > > f = fileName # opcion 1 > > #f = cwd + os.path.sep + fileName # opcion 2 > > #f = os.path.join(os.getcwd(), fileName) # opcion 3 > > if os.path.isfile(f): > > print "Encontrado el archivo %s" % fileName > > else: > > print "No encontrado el archivo %s" % fileName > > > > donde testfile.txt incluye la lista de ficheros del directorio donde > esta el > > script. > > Ejecuto el script y no encuentra ninguno de los archivos, o lo que es lo > > mismo isfile devuelve False para todos los archivos (probado tanto en > > Windows como en Linux). Tampoco me funciona usando la opción 2 ni la > opción > > 3. > > El mismo script en TCL o batch funciona perfectamente encontrando todos > los > > archivos listados en testfile.txt > > Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script > pongo > > el nombre del archivo o la ruta completa (usando en ambos casos raw > strings) > > el resultado es el correcto (isfile devuelve True). > > He estado buscando en la red pero no consigo encontrar la solución. > > > > > open() devuelve un objeto fichero y no creo que puedas hacer un bucle > sobre él directamente (o tal vez esto haga bucle sobre cada > carácter?), tienes que llamar a su método readlines. > > Prueba con: > > with open('testfile.txt', 'r') as my_file: > for file_name in my_file.readlines(): > if os.path.isfile(file_name) ... > > > Saludos > -- > A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos > de leer manuales. > _______________________________________________ > 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: From jescurbelo en gmail.com Fri Aug 2 21:09:39 2013 From: jescurbelo en gmail.com (=?ISO-8859-1?Q?Jes=FAs_Curbelo?=) Date: Fri, 2 Aug 2013 20:09:39 +0100 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: Por cierto que hay un error en el script, la línea: #f = cwd + os.path.sep + fileName # opcion 2 es en realidad: #f = os.getcwd() + os.path.sep + fileName # opcion 2 El script es más complejo pero al simplificarlo para ponerlo aquí no corregí esa línea :-( Yo también pensé que el problema se debía a que el script se ejecutaba en otro directorio y por eso no encontraba los ficheros. Pero tanto desde IDLE como desde el script me he asegurado de que está en el directorio correcto usando os.chdir() y os.getcwd(). Además he puesto todos los print necesarios para que las rutas son las correctas (además de haber usado la opción 1, la opción 2 y la opción 3). Por ejemplo esta variación tampoco funciona: import sys, os, os.path fileExists = 0 fileNoExists = 0 cwd = os.getcwd() print "Directorio actual: %s" % cwd for fileName in open(sys.argv[1]): f = cwd + os.sep + fileName if os.path.isfile(f): fileExists += 1 print "Encontrado el archivo %s" % f, else: fileNoExists +=1 print "No encontrado el archivo %s" % f, print "Archivos encontrados: %d" % fileExists print "Archivos NO encontrados: %d" % fileNoExists Sin embargo este script en TCL ejecutado desde el mismo directorio y con los mismos datos de entrada funciona perfectamente: set fileExists 0 set fileNoExists 0 set testFile [open [lindex $argv 0] r] while { [gets $testFile fileName] >= 0 } { if { [file exists $fileName] } { incr fileExists puts "Encontrado el archivo $fileName" } else { incr fileNoExists puts "No encontrado el archivo $fileName" } } close $testFile puts "Archivos encontrados: $fileExists" puts "Archivos NO encontrados: $fileNoExists" El 2 de agosto de 2013 17:49, Ricardo Azpeitia Pimentel escribió: > Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un > archivo, y por default usa xreadlines si no mal recuerdo. > > Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y > donde se encuentren sus archivos va a tener resultados diferentes. > > Una buena idea seria imprimir la rutas para ver cual es la diferencia. > > > El 2 de agosto de 2013 11:41, Carlos Zuniga escribió: > > 2013/8/2 Jesús Curbelo Rodríguez : >> > Hola a todos, >> > >> > Tengo este pequeño script: >> > >> > import os >> > import os.path >> > for fileName in open('testfile.txt'): >> > f = fileName # opcion 1 >> > #f = cwd + os.path.sep + fileName # opcion 2 >> > #f = os.path.join(os.getcwd(), fileName) # opcion 3 >> > if os.path.isfile(f): >> > print "Encontrado el archivo %s" % fileName >> > else: >> > print "No encontrado el archivo %s" % fileName >> > >> > donde testfile.txt incluye la lista de ficheros del directorio donde >> esta el >> > script. >> > Ejecuto el script y no encuentra ninguno de los archivos, o lo que es lo >> > mismo isfile devuelve False para todos los archivos (probado tanto en >> > Windows como en Linux). Tampoco me funciona usando la opción 2 ni la >> opción >> > 3. >> > El mismo script en TCL o batch funciona perfectamente encontrando todos >> los >> > archivos listados en testfile.txt >> > Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script >> pongo >> > el nombre del archivo o la ruta completa (usando en ambos casos raw >> strings) >> > el resultado es el correcto (isfile devuelve True). >> > He estado buscando en la red pero no consigo encontrar la solución. >> > >> >> >> open() devuelve un objeto fichero y no creo que puedas hacer un bucle >> sobre él directamente (o tal vez esto haga bucle sobre cada >> carácter?), tienes que llamar a su método readlines. >> >> Prueba con: >> >> with open('testfile.txt', 'r') as my_file: >> for file_name in my_file.readlines(): >> if os.path.isfile(file_name) ... >> >> >> Saludos >> -- >> A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos >> de leer manuales. >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ > > -- *Jesús Curbelo* *Who watches the watchmen?* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Fri Aug 2 21:18:07 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Fri, 2 Aug 2013 21:18:07 +0200 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: al hacer for filename in open(...): cada filename incluye el caracter de retorno de carro. Comprueba que eso no te da problemas. Si acaso intenta for filename in open(...): filename = filename[:-1] bla bla bla or algo similar para quitar el \n del final de cada linea Suerte, Jose El día 2 de agosto de 2013 21:09, Jesús Curbelo escribió: > Por cierto que hay un error en el script, la línea: > > #f = cwd + os.path.sep + fileName # opcion 2 > > es en realidad: > > #f = os.getcwd() + os.path.sep + fileName # opcion 2 > > El script es más complejo pero al simplificarlo para ponerlo aquí no corregí > esa línea :-( > > Yo también pensé que el problema se debía a que el script se ejecutaba en > otro directorio y por eso no encontraba los ficheros. Pero tanto desde IDLE > como desde el script me he asegurado de que está en el directorio correcto > usando os.chdir() y os.getcwd(). Además he puesto todos los print necesarios > para que las rutas son las correctas (además de haber usado la opción 1, la > opción 2 y la opción 3). Por ejemplo esta variación tampoco funciona: > > import sys, os, os.path > fileExists = 0 > fileNoExists = 0 > cwd = os.getcwd() > print "Directorio actual: %s" % cwd > for fileName in open(sys.argv[1]): > f = cwd + os.sep + fileName > if os.path.isfile(f): > fileExists += 1 > print "Encontrado el archivo %s" % f, > else: > fileNoExists +=1 > print "No encontrado el archivo %s" % f, > print "Archivos encontrados: %d" % fileExists > print "Archivos NO encontrados: %d" % fileNoExists > > Sin embargo este script en TCL ejecutado desde el mismo directorio y con los > mismos datos de entrada funciona perfectamente: > > set fileExists 0 > set fileNoExists 0 > set testFile [open [lindex $argv 0] r] > while { [gets $testFile fileName] >= 0 } { > if { [file exists $fileName] } { > incr fileExists > puts "Encontrado el archivo $fileName" > } else { > incr fileNoExists > puts "No encontrado el archivo $fileName" > } > } > close $testFile > puts "Archivos encontrados: $fileExists" > puts "Archivos NO encontrados: $fileNoExists" > > > El 2 de agosto de 2013 17:49, Ricardo Azpeitia Pimentel > escribió: >> >> Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un >> archivo, y por default usa xreadlines si no mal recuerdo. >> >> Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y >> donde se encuentren sus archivos va a tener resultados diferentes. >> >> Una buena idea seria imprimir la rutas para ver cual es la diferencia. >> >> >> El 2 de agosto de 2013 11:41, Carlos Zuniga >> escribió: >> >>> 2013/8/2 Jesús Curbelo Rodríguez : >>> > Hola a todos, >>> > >>> > Tengo este pequeño script: >>> > >>> > import os >>> > import os.path >>> > for fileName in open('testfile.txt'): >>> > f = fileName # opcion 1 >>> > #f = cwd + os.path.sep + fileName # opcion 2 >>> > #f = os.path.join(os.getcwd(), fileName) # opcion 3 >>> > if os.path.isfile(f): >>> > print "Encontrado el archivo %s" % fileName >>> > else: >>> > print "No encontrado el archivo %s" % fileName >>> > >>> > donde testfile.txt incluye la lista de ficheros del directorio donde >>> > esta el >>> > script. >>> > Ejecuto el script y no encuentra ninguno de los archivos, o lo que es >>> > lo >>> > mismo isfile devuelve False para todos los archivos (probado tanto en >>> > Windows como en Linux). Tampoco me funciona usando la opción 2 ni la >>> > opción >>> > 3. >>> > El mismo script en TCL o batch funciona perfectamente encontrando todos >>> > los >>> > archivos listados en testfile.txt >>> > Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script >>> > pongo >>> > el nombre del archivo o la ruta completa (usando en ambos casos raw >>> > strings) >>> > el resultado es el correcto (isfile devuelve True). >>> > He estado buscando en la red pero no consigo encontrar la solución. >>> > >>> >>> >>> open() devuelve un objeto fichero y no creo que puedas hacer un bucle >>> sobre él directamente (o tal vez esto haga bucle sobre cada >>> carácter?), tienes que llamar a su método readlines. >>> >>> Prueba con: >>> >>> with open('testfile.txt', 'r') as my_file: >>> for file_name in my_file.readlines(): >>> if os.path.isfile(file_name) ... >>> >>> >>> Saludos >>> -- >>> A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos >>> de leer manuales. >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ >> > > > > -- > Jesús Curbelo > Who watches the watchmen? > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From jbc.develop en gmail.com Fri Aug 2 21:33:52 2013 From: jbc.develop en gmail.com (Juan BC) Date: Fri, 2 Aug 2013 16:33:52 -0300 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: f = cwd + os.sep + fileName # feo f = os.path.join(cwd, file_name) # lindo El día 2 de agosto de 2013 16:18, Jose Caballero escribió: > al hacer > > for filename in open(...): > > cada filename incluye el caracter de retorno de carro. > Comprueba que eso no te da problemas. > Si acaso intenta > > for filename in open(...): > filename = filename[:-1] > bla bla bla > > or algo similar para quitar el \n del final de cada linea > > > > Suerte, > Jose > > > > El día 2 de agosto de 2013 21:09, Jesús Curbelo escribió: >> Por cierto que hay un error en el script, la línea: >> >> #f = cwd + os.path.sep + fileName # opcion 2 >> >> es en realidad: >> >> #f = os.getcwd() + os.path.sep + fileName # opcion 2 >> >> El script es más complejo pero al simplificarlo para ponerlo aquí no corregí >> esa línea :-( >> >> Yo también pensé que el problema se debía a que el script se ejecutaba en >> otro directorio y por eso no encontraba los ficheros. Pero tanto desde IDLE >> como desde el script me he asegurado de que está en el directorio correcto >> usando os.chdir() y os.getcwd(). Además he puesto todos los print necesarios >> para que las rutas son las correctas (además de haber usado la opción 1, la >> opción 2 y la opción 3). Por ejemplo esta variación tampoco funciona: >> >> import sys, os, os.path >> fileExists = 0 >> fileNoExists = 0 >> cwd = os.getcwd() >> print "Directorio actual: %s" % cwd >> for fileName in open(sys.argv[1]): >> f = cwd + os.sep + fileName >> if os.path.isfile(f): >> fileExists += 1 >> print "Encontrado el archivo %s" % f, >> else: >> fileNoExists +=1 >> print "No encontrado el archivo %s" % f, >> print "Archivos encontrados: %d" % fileExists >> print "Archivos NO encontrados: %d" % fileNoExists >> >> Sin embargo este script en TCL ejecutado desde el mismo directorio y con los >> mismos datos de entrada funciona perfectamente: >> >> set fileExists 0 >> set fileNoExists 0 >> set testFile [open [lindex $argv 0] r] >> while { [gets $testFile fileName] >= 0 } { >> if { [file exists $fileName] } { >> incr fileExists >> puts "Encontrado el archivo $fileName" >> } else { >> incr fileNoExists >> puts "No encontrado el archivo $fileName" >> } >> } >> close $testFile >> puts "Archivos encontrados: $fileExists" >> puts "Archivos NO encontrados: $fileNoExists" >> >> >> El 2 de agosto de 2013 17:49, Ricardo Azpeitia Pimentel >> escribió: >>> >>> Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un >>> archivo, y por default usa xreadlines si no mal recuerdo. >>> >>> Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y >>> donde se encuentren sus archivos va a tener resultados diferentes. >>> >>> Una buena idea seria imprimir la rutas para ver cual es la diferencia. >>> >>> >>> El 2 de agosto de 2013 11:41, Carlos Zuniga >>> escribió: >>> >>>> 2013/8/2 Jesús Curbelo Rodríguez : >>>> > Hola a todos, >>>> > >>>> > Tengo este pequeño script: >>>> > >>>> > import os >>>> > import os.path >>>> > for fileName in open('testfile.txt'): >>>> > f = fileName # opcion 1 >>>> > #f = cwd + os.path.sep + fileName # opcion 2 >>>> > #f = os.path.join(os.getcwd(), fileName) # opcion 3 >>>> > if os.path.isfile(f): >>>> > print "Encontrado el archivo %s" % fileName >>>> > else: >>>> > print "No encontrado el archivo %s" % fileName >>>> > >>>> > donde testfile.txt incluye la lista de ficheros del directorio donde >>>> > esta el >>>> > script. >>>> > Ejecuto el script y no encuentra ninguno de los archivos, o lo que es >>>> > lo >>>> > mismo isfile devuelve False para todos los archivos (probado tanto en >>>> > Windows como en Linux). Tampoco me funciona usando la opción 2 ni la >>>> > opción >>>> > 3. >>>> > El mismo script en TCL o batch funciona perfectamente encontrando todos >>>> > los >>>> > archivos listados en testfile.txt >>>> > Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script >>>> > pongo >>>> > el nombre del archivo o la ruta completa (usando en ambos casos raw >>>> > strings) >>>> > el resultado es el correcto (isfile devuelve True). >>>> > He estado buscando en la red pero no consigo encontrar la solución. >>>> > >>>> >>>> >>>> open() devuelve un objeto fichero y no creo que puedas hacer un bucle >>>> sobre él directamente (o tal vez esto haga bucle sobre cada >>>> carácter?), tienes que llamar a su método readlines. >>>> >>>> Prueba con: >>>> >>>> with open('testfile.txt', 'r') as my_file: >>>> for file_name in my_file.readlines(): >>>> if os.path.isfile(file_name) ... >>>> >>>> >>>> Saludos >>>> -- >>>> A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos >>>> de leer manuales. >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en 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/ >>> >> >> >> >> -- >> Jesús Curbelo >> Who watches the watchmen? >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ -- Juan B Cabral From hfoffani en gmail.com Fri Aug 2 22:09:49 2013 From: hfoffani en gmail.com (Hernan M. F.) Date: Fri, 2 Aug 2013 22:09:49 +0200 Subject: [Python-es] =?iso-8859-1?q?=5BOT=5D_Recomendaci=F3n_de_Fund=E9u_d?= =?iso-8859-1?q?e_hoy?= In-Reply-To: References: <51FB7DB1.80901@gmail.com> <51FB8E53.5060308@joedicastro.com> Message-ID: <9DDE3B32-E2D1-4B23-B0E8-D70FAC1E54E6@gmail.com> > 2013/8/2 joe di castro : >> El 02/08/13 11:36, Juan Luis Cano escribió: >>> http://www.fundeu.es/recomendacion/bug-alternativas-en-espanol/ >>> >>> :) >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> "Bug" es algo mas que un "fallo", "defecto", etc. Es un pedazo de la >> historia de la informática, que se pierde en la traducción y que aleja >> al que nunca escucha la acepción original de preguntarse porque demonios >> alguien decidió darle ese nombre por primera vez y perder la oportunidad >> de situar los conceptos dentro de su contexto. >> >> Lo mismo ocurre con palabras como "hacker", "buffer", ... y las palabras >> en español que algún "académico" eligiera como traducción adecuada... >> >> A veces estamos cayendo en el más profundo de los ridículos al querer >> traducir todo y ser tan "chauvinistas"... >> > > Hay veces donde la traducción puede mejorar. Por ejemplo prefiero > decir "por omisión" que el defectuoso "por defecto" que suelo leer por > todos lados y puede ser fácilmente confundido con un bug :) > Esta lucha ya tiene décadas. Recuerdo, de esto hace ya 30 años, un libro de comunicaciones donde el traductor escribía programática por software y mecamática por hardware, decisión que explicaba en una N. de T. mas larga que el prólogo original. Relataba también que estuvo a punto de traducir modem por "modesm" ya que según él era lo correcto por eso de modulador-desmodulador pero que en este caso, y sólo en este caso, dejaba el original para evitar la malsonancia. El libro era ilegible igual. Yo estoy curado de espanto desde entonces y paso de corregir y de que me corrijan. Y si los de FUNDEU quieren decirme algo que primero le quiten la tilde a su sigla, jejeje. From carlos.zun en gmail.com Sun Aug 4 00:52:51 2013 From: carlos.zun en gmail.com (Carlos Zuniga) Date: Sat, 3 Aug 2013 17:52:51 -0500 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: 2013/8/2 Ricardo Azpeitia Pimentel : > Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un > archivo, y por default usa xreadlines si no mal recuerdo. > Con el "with", python se encarga de cerrar el archivo. xreadlines esta deprecado desde la 2.3. Y acabo de comprobar que "for line in file" hace lo mismo que "for line in file.readlines()" excepto que readlines te permite colocar un parámetro para usar un buffer. > Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y > donde se encuentren sus archivos va a tener resultados diferentes. > > Una buena idea seria imprimir la rutas para ver cual es la diferencia. > Y sería bueno que imprima con repr para ver donde esta el error: with open('testfile.txt') as testfile: for fileName in testfile: print repr(fileName) Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. From razpeitia en gmail.com Sun Aug 4 02:54:56 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Sat, 3 Aug 2013 19:54:56 -0500 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: No recordaba bien, pero `for line in file` efectivamente es el reemplazo de xreadlines. http://docs.python.org/2/library/stdtypes.html?highlight=xreadlines#file.xreadlines La diferencia con readlines que es readlines al igual que read, carga todo el archivo en memoria. (A menos que especifiques un tamaño de buffer). El 3 de agosto de 2013 17:52, Carlos Zuniga escribió: > 2013/8/2 Ricardo Azpeitia Pimentel : > > Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un > > archivo, y por default usa xreadlines si no mal recuerdo. > > > > Con el "with", python se encarga de cerrar el archivo. xreadlines esta > deprecado desde la 2.3. Y acabo de comprobar que "for line in file" > hace lo mismo que "for line in file.readlines()" excepto que readlines > te permite colocar un parámetro para usar un buffer. > > > Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y > > donde se encuentren sus archivos va a tener resultados diferentes. > > > > Una buena idea seria imprimir la rutas para ver cual es la diferencia. > > > > Y sería bueno que imprima con repr para ver donde esta el error: > > with open('testfile.txt') as testfile: > for fileName in testfile: > print repr(fileName) > > > Saludos > -- > A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos > de leer manuales. > _______________________________________________ > 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: From tatadeluxe en gmail.com Sun Aug 4 03:19:40 2013 From: tatadeluxe en gmail.com (Javier Rovegno Campos) Date: Sat, 3 Aug 2013 21:19:40 -0400 Subject: [Python-es] isfile() In-Reply-To: References: <51FB984E.1030104@gmail.com> Message-ID: 2013/8/3 Carlos Zuniga > 2013/8/2 Ricardo Azpeitia Pimentel : > > Si abre el archivo pero nunca lo cierra. Y si, puedes iterar sobre un > > archivo, y por default usa xreadlines si no mal recuerdo. > > > > Con el "with", python se encarga de cerrar el archivo. xreadlines esta > deprecado desde la 2.3. Y acabo de comprobar que "for line in file" > hace lo mismo que "for line in file.readlines()" excepto que readlines > te permite colocar un parámetro para usar un buffer. > > > Lo que pasa es que usa getcwd y depediendo de donde ejecute el script y > > donde se encuentren sus archivos va a tener resultados diferentes. > > > > Una buena idea seria imprimir la rutas para ver cual es la diferencia. > > > > Y sería bueno que imprima con repr para ver donde esta el error: > > Yo creo que el problema es por no abrir el archivo en modo binario{1} Probar: with open('testfile.txt', 'rb') as testfile: {1} http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files with open('testfile.txt') as testfile: > for fileName in testfile: > print repr(fileName) > > > Saludos > -- > A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos > de leer manuales. > _______________________________________________ > 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: From ailurus.fulgens en hotmail.com Mon Aug 5 05:29:11 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Sun, 4 Aug 2013 22:29:11 -0500 Subject: [Python-es] como leer el estado de una tecla del teclado? Message-ID: hola a todos.estoy buscando una manera de reconocer combinaciones de teclascon gtk puedo reconocer el evento de pulsación y liberación de las teclas pero me falta algocomo saber cuales teclas están presionadas en ese momento?hay algún método para obtener el estado de las teclas? a = get_key_state(numero_de_tecla) # que regrese True o False para hacer algo como: up = 51564down = 2402rigth = 4521left = 5454...window.connect("press-event",evento) def evento(sel,widget,event): print event.keyval #esto me dice que tecla ha cambiado de estado if get_key_state(up) and get_key_state(rigth): print "diagonal derecha" if get_key_state(up) and get_key_state(left): print "diagonal izquierda" se que existen en delphi pero no se si es posible en python. gracias de antemano ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From caustico.acustico en gmail.com Sat Aug 3 01:10:22 2013 From: caustico.acustico en gmail.com (=?ISO-8859-1?Q?Ac=FAstico_C=E1ustico?=) Date: Fri, 2 Aug 2013 18:10:22 -0500 Subject: [Python-es] Visualizador de espectro de audio Python Message-ID: Hola a todos, soy muy nuevo en python, llevo programando 6 meses y he decidido aprender en este lenguaje, en este momento estoy intentando hacer un visualizador de espectro de audio, es decir, trato de hacer algo como esto https://www.youtube.com/watch?v=-8GwCtsGpPg Ya se como extraer la informacion espectral del audio, lo estoy haciendo con numpy.fft, lo que no he podido descubrir es como hacer la animación, me refiero a convertir los datos obtenidos a partir de la FFT para graficarlos por banda de frecuencia. Cualquier comentario o ayuda será bien recibido, muchas gracias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From chack14rock en gmail.com Fri Aug 2 18:57:27 2013 From: chack14rock en gmail.com (=?ISO-8859-1?Q?Charly_Rom=E1n?=) Date: Fri, 2 Aug 2013 11:57:27 -0500 Subject: [Python-es] Consulta DABO. In-Reply-To: References: <51F97197.5030506@gmail.com> Message-ID: El día 2 de agosto de 2013 11:22, Jorge Vega Trigueros escribió: > De acuerdo si para aplicaciones de escritorio, fue lo que vi rapidamente, > pero también note > que se podia utilizar para web. > > https://docs.google.com/document/d/1hDxjGuf7-CP3Kjm54vr3qIvmQhz-so6ceAZGPaOPj1c/preview > > Pero en fin, siempre voy a probar. > > Gracias por tu respuesta. > D: Si quieres desarrollar aplicaciones web, te recomendaría un framework más orientado a eso, por ejemplo django[0], en especial si piensas hacer apps más o menos grandes. [0] https://www.djangoproject.com/ Saludos! From cleon1970 en msn.com Fri Aug 2 15:12:35 2013 From: cleon1970 en msn.com (Claudio Leon) Date: Fri, 2 Aug 2013 10:12:35 -0300 Subject: [Python-es] isfile() In-Reply-To: <51FB984E.1030104@gmail.com> References: <51FB984E.1030104@gmail.com> Message-ID: Hola Jesus, por favor proba reemplazando la línea con esta línea "f = fileName" con "f = fileName.strip()", que quita los espacios y caracteres especiales. Saludos, Claudio. Date: Fri, 2 Aug 2013 12:30:22 +0100 From: jescurbelo en gmail.com To: python-es en python.org Subject: [Python-es] isfile() Hola a todos, Tengo este pequeño script: import os import os.path for fileName in open('testfile.txt'): f = fileName # opcion 1 #f = cwd + os.path.sep + fileName # opcion 2 #f = os.path.join(os.getcwd(), fileName) # opcion 3 if os.path.isfile(f): print "Encontrado el archivo %s" % fileName else: print "No encontrado el archivo %s" % fileName donde testfile.txt incluye la lista de ficheros del directorio donde esta el script. Ejecuto el script y no encuentra ninguno de los archivos, o lo que es lo mismo isfile devuelve False para todos los archivos (probado tanto en Windows como en Linux). Tampoco me funciona usando la opción 2 ni la opción 3. El mismo script en TCL o batch funciona perfectamente encontrando todos los archivos listados en testfile.txt Si pruebo desde IDLE la funcion isfile devuelve True. Si en el script pongo el nombre del archivo o la ruta completa (usando en ambos casos raw strings) el resultado es el correcto (isfile devuelve True). He estado buscando en la red pero no consigo encontrar la solución. Gracias y saludos. -- Jesús Curbelo Quis custodiet ipsos custodes? _______________________________________________ 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: From soft.sirius en gmail.com Mon Aug 5 11:32:58 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Mon, 5 Aug 2013 11:32:58 +0200 Subject: [Python-es] Visualizador de espectro de audio Python In-Reply-To: References: Message-ID: Hola. Creo que lo que necesitas es incorporar una biblioteca gráfica como por ejemplo PIL, dado que Python no tiene una estándar. http://www.pythonware.com/products/pil/ El 3 de agosto de 2013 01:10, Acústico Cáustico escribió: > Hola a todos, soy muy nuevo en python, llevo programando 6 meses y he > decidido aprender en este lenguaje, en este momento estoy intentando hacer > un visualizador de espectro de audio, es decir, trato de hacer algo como > esto https://www.youtube.com/watch?v=-8GwCtsGpPg > > Ya se como extraer la informacion espectral del audio, lo estoy haciendo > con numpy.fft, lo que no he podido descubrir es como hacer la animación, me > refiero a convertir los datos obtenidos a partir de la FFT para graficarlos > por banda de frecuencia. > > Cualquier comentario o ayuda será bien recibido, muchas gracias. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nachoel01 en gmail.com Mon Aug 5 13:31:18 2013 From: nachoel01 en gmail.com (=?UTF-8?Q?Ignacio_Rodr=C3=ADguez?=) Date: Mon, 5 Aug 2013 08:31:18 -0300 Subject: [Python-es] como leer el estado de una tecla del teclado? In-Reply-To: References: Message-ID: ventana = gtk.Window() def tecla_presionada(widget, event): ....print event.keyval ventana.connect("key-press-event", tecla_presionada) Habia algo de gdk que decia el "nombre" de la letra no lo recuerdo ahora ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cristian99garcia en gmail.com Mon Aug 5 13:52:15 2013 From: cristian99garcia en gmail.com (=?ISO-8859-1?Q?Cristian_Garc=EDa?=) Date: Mon, 5 Aug 2013 08:52:15 -0300 Subject: [Python-es] como leer el estado de una tecla del teclado? In-Reply-To: References: Message-ID: Solo para completar lo de Ignacio: gdk.keyval_name(102) # esto devuelve 'f', ya que es el numero de ese caracter. gdk.from_name('f') # es lo mismo que arriba, pero a la inversa. Lo probé con las teclas como las flechas del teclado, pero no me devolvió nada, así que no creo que te sirva de mucho. Un saludo. 2013/8/5 Ignacio Rodríguez > ventana = gtk.Window() > def tecla_presionada(widget, event): > ....print event.keyval > ventana.connect("key-press-event", tecla_presionada) > > Habia algo de gdk que decia el "nombre" de la letra no lo recuerdo ahora > > _______________________________________________ > 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: From kikocorreoso en gmail.com Mon Aug 5 15:03:42 2013 From: kikocorreoso en gmail.com (Kiko) Date: Mon, 5 Aug 2013 15:03:42 +0200 Subject: [Python-es] Visualizador de espectro de audio Python In-Reply-To: References: Message-ID: > > >> Ya se como extraer la informacion espectral del audio, lo estoy haciendo >> con numpy.fft, lo que no he podido descubrir es como hacer la animación, me >> refiero a convertir los datos obtenidos a partir de la FFT para graficarlos >> por banda de frecuencia. >> >> Puedes echarle un vistazo a matplotlib. En el siguiente enlace explican como usarlo: http://pybonacci.wordpress.com/tag/tutorial-matplotlib-pyplot/ Y en el siguiente hay un ejemplo sobre como hacer animaciones: http://pybonacci.wordpress.com/2012/12/16/creando-una-animacion-con-matplotlib-y-ffmpeg/ DISCLAIMER: Soy el autor de los tutoriales, para lo bueno y para lo malo :-P ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jsm en iaa.es Mon Aug 5 14:57:12 2013 From: jsm en iaa.es (Jose Sabater Montes) Date: Mon, 5 Aug 2013 13:57:12 +0100 Subject: [Python-es] Visualizador de espectro de audio Python In-Reply-To: References: Message-ID: <201308051357.12991.jsm@iaa.es> On Saturday 03 August 2013 00:10:22 Acústico Cáustico wrote: > Hola a todos, soy muy nuevo en python, llevo programando 6 meses y he > decidido aprender en este lenguaje, en este momento estoy intentando hacer > un visualizador de espectro de audio, es decir, trato de hacer algo como > esto https://www.youtube.com/watch?v=-8GwCtsGpPg > > Ya se como extraer la informacion espectral del audio, lo estoy haciendo > con numpy.fft, lo que no he podido descubrir es como hacer la animación, me > refiero a convertir los datos obtenidos a partir de la FFT para graficarlos > por banda de frecuencia. Yo le echaría un vistazo a matplotlib para empezar. De las funciones de pyplot (http://matplotlib.org/api/pyplot_summary.html) puedes mirar "bar" (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar) para algo como lo del vídeo. También le echaría un vistazo a "specgram" (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.specgram y http://matplotlib.org/examples/pylab_examples/specgram_demo.html) y a cómo animar las gráficas. Para esto último busca en Google "matplotlib animation" y aparecen varios tutoriales. Un saludo. From jcaballero.hep en gmail.com Mon Aug 5 17:46:31 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 5 Aug 2013 11:46:31 -0400 Subject: [Python-es] comunicacion web con seguridad GSI Message-ID: Hola, he escrito comunicacion web a posta, a sabiendas de su ambiguedad, pues no quiero crear confusiones con "servicio web". Creo que la forma correcta de decir lo que necesito seria un servicio RESTful ? Pido disculpas por adelantado por mi falta de conocimiento en el tema. Necesitaria que varios servicios, corriendo en maquinas separadas, se comuniquen con un host central para pasar ordenes, actualizar estado del sistema, etc. Creo que en primera aproximacion SimpleHTTPServer me valdria. Hablamos de unos 4 o 5 conexiones al dia, nunca mas de una a la vez. Si luego necesito hacer logs a un DB, por ejemplo, puedo usar SQLAlchemy. Mi problema es que me gustaria autenticar las conexiones con GSI (grid security infrastructure). No encuentro nada en la web sobre SimpleHTTPServer + GSI. Me pregunto si tengo que ir a algo mas grande, tipo django + Apache (con mod_gridsite), o algo similar. Si alguien tiene experiencia con GSI en python y tiene algun link que pueda leer para documentarme, estaria mas que agradecido. Un saludo cordial, Jose From pych3m4 en gmail.com Mon Aug 5 21:54:20 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 5 Aug 2013 21:54:20 +0200 Subject: [Python-es] Eficiencia de las listas Message-ID: Últimamente, estoy realizando estudios sobre la eficiencia de distintos códigos python. Mirando qué tipo de colección podía ser más eficiente según qué tareas, me encuentro con el siguiente párrafo en la documentación de ["deque"][1]: "Deques support thread-safe, memory efficient appends and pops from either side of the deque with approximately the same O(1) performance in either direction. Though list objects support similar operations, they are optimized for fast fixed-length operations and incur O(n) memory movement costs for pop(0) and insert(0, v) operations which change both the size and position of the underlying data representation." He comprobado que, efectivamente, el costo de insertar elementos al principio de una lista es mucho mayor que añadir elementos al final de la lista (x10000). En estos momentos , necesito trabajar con listas de números muy largas (> 10e6 elementos) para trocear en dos pedazos, invertir uno de ellos y volverlos a empalmar (método "2-opt"). Una forma de expresarlo: L[i+1:j+1] = L[j:i:-1] con i+1 References: , , Message-ID: no chicos. no quiero sabes el nombre de la tecla. quiero saber si esta presionada o no.talves este ejemplo lo explique mejor while true: if estado_de_tecla(542) and estado_de_tecla(863): print "combinación de teclas detectada" lo que busco es una manera de preguntar si la tecla , digamos la tecla 542 del teclado, se encuentra pulsada Date: Mon, 5 Aug 2013 08:52:15 -0300 From: cristian99garcia en gmail.com To: python-es en python.org Subject: Re: [Python-es] como leer el estado de una tecla del teclado? Solo para completar lo de Ignacio: gdk.keyval_name(102) # esto devuelve 'f', ya que es el numero de ese caracter. gdk.from_name('f') # es lo mismo que arriba, pero a la inversa. Lo probé con las teclas como las flechas del teclado, pero no me devolvió nada, así que no creo que te sirva de mucho. Un saludo. 2013/8/5 Ignacio Rodríguez ventana = gtk.Window()def tecla_presionada(widget, event):....print event.keyval ventana.connect("key-press-event", tecla_presionada) Habia algo de gdk que decia el "nombre" de la letra no lo recuerdo ahora _______________________________________________ Python-es mailing list Python-es en 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: From hfoffani en gmail.com Tue Aug 6 10:07:20 2013 From: hfoffani en gmail.com (=?iso-8859-1?Q?Hern=E1n_Foffani?=) Date: Tue, 6 Aug 2013 10:07:20 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: Message-ID: Podrías utilizar buffer (memoryview en Python 3)... Cortar es trivial, volver a empalmar no tanto aunque quizás puedas hacer un wrapper e implementar el pegado en forma virtual. O directamente array. Hernán M. Foffani El 05/08/2013, a las 21:54, Chema Cortes escribió: > Últimamente, estoy realizando estudios sobre la eficiencia de > distintos códigos python. Mirando qué tipo de colección podía ser más > eficiente según qué tareas, me encuentro con el siguiente párrafo en > la documentación de ["deque"][1]: > > "Deques support thread-safe, memory efficient appends and pops from > either side of the deque with approximately the same O(1) performance > in either direction. > > Though list objects support similar operations, they are optimized for > fast fixed-length operations and incur O(n) memory movement costs for > pop(0) and insert(0, v) operations which change both the size and > position of the underlying data representation." > > He comprobado que, efectivamente, el costo de insertar elementos al > principio de una lista es mucho mayor que añadir elementos al final de > la lista (x10000). > > En estos momentos , necesito trabajar con listas de números muy largas > (> 10e6 elementos) para trocear en dos pedazos, invertir uno de ellos > y volverlos a empalmar (método "2-opt"). Una forma de expresarlo: > > L[i+1:j+1] = L[j:i:-1] con i+1 > que equivale a: > > L[:i] + L[j:i:-1] + L[j+1:] > > Esta última expresión, aunque más clara, es poco eficiente al tener > que crear una nueva lista partiendo de tres sublistas intermedias. > > Los elementos no cambian de valor y tampoco cambia el tamaño de la > lista. Parece que la "lista" es la estructura más eficiente para esta > tarea (por lo que cuenta la documentación) siempre que no se modifique > en tamaño. Pero me pregunto si hay algún modo de hacer este manejo más > eficiente, tal vez usando alguna otra estructura, en python o numpy, > que mejore estas tareas de corte y empalme. Intuyo que con "arrays" se > reducen las necesidades de memoria, pero en estos momentos, la memoria > es lo que menos me preocupa. Busco un método genérico que pueda valer > para cualquier otro tipo de datos (eg: lista de vectores). > > > > > [1]: http://docs.python.org/2/library/collections.html#collections.deque > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > 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: From pych3m4 en gmail.com Tue Aug 6 10:37:19 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 6 Aug 2013 10:37:19 +0200 Subject: [Python-es] como leer el estado de una tecla del teclado? In-Reply-To: References: Message-ID: El día 6 de agosto de 2013 05:14, xiao xiong mao panda rojo escribió: > no chicos. no quiero sabes el nombre de la tecla. quiero saber si esta > presionada o no. > talves este ejemplo lo explique mejor > > while true: > if estado_de_tecla(542) and estado_de_tecla(863): > print "combinación de teclas detectada" > lo que busco es una manera de preguntar si la tecla , digamos la tecla 542 > del teclado, se encuentra pulsada Tal vez te sirva esta entrada de la FAQ de python: -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From antonio.beamud en gmail.com Tue Aug 6 10:35:13 2013 From: antonio.beamud en gmail.com (Antonio Beamud Montero) Date: Tue, 06 Aug 2013 10:35:13 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: Message-ID: <5200B541.5090509@gmail.com> El 05/08/13 21:54, Chema Cortes escribió: > Últimamente, estoy realizando estudios sobre la eficiencia de > distintos códigos python. Mirando qué tipo de colección podía ser más > eficiente según qué tareas, me encuentro con el siguiente párrafo en > la documentación de ["deque"][1]: > > "Deques support thread-safe, memory efficient appends and pops from > either side of the deque with approximately the same O(1) performance > in either direction. > > Though list objects support similar operations, they are optimized for > fast fixed-length operations and incur O(n) memory movement costs for > pop(0) and insert(0, v) operations which change both the size and > position of the underlying data representation." > > He comprobado que, efectivamente, el costo de insertar elementos al > principio de una lista es mucho mayor que añadir elementos al final de > la lista (x10000). > > En estos momentos , necesito trabajar con listas de números muy largas > (> 10e6 elementos) para trocear en dos pedazos, invertir uno de ellos > y volverlos a empalmar (método "2-opt"). Una forma de expresarlo: > > L[i+1:j+1] = L[j:i:-1] con i+1 > que equivale a: > > L[:i] + L[j:i:-1] + L[j+1:] > > Esta última expresión, aunque más clara, es poco eficiente al tener > que crear una nueva lista partiendo de tres sublistas intermedias. > > Los elementos no cambian de valor y tampoco cambia el tamaño de la > lista. Parece que la "lista" es la estructura más eficiente para esta > tarea (por lo que cuenta la documentación) siempre que no se modifique > en tamaño. Pero me pregunto si hay algún modo de hacer este manejo más > eficiente, tal vez usando alguna otra estructura, en python o numpy, > que mejore estas tareas de corte y empalme. Intuyo que con "arrays" se > reducen las necesidades de memoria, pero en estos momentos, la memoria > es lo que menos me preocupa. Busco un método genérico que pueda valer > para cualquier otro tipo de datos (eg: lista de vectores). > > Yo me decanté por usar numpy para resolver este tipo de problemas, aunque mis listas eran un orden de magnitud más pequeñas, después de hacer varias pruebas, el uso de las listas para operaciones simples, es tanto o más eficiente usando listas de python que crear arrays en numpy (bueno dependiendo de la operación), pero yo necesitaba métodos como 'diff', 'where', etc.. que si que marcaban diferencias respecto a mis anteriores implementaciones. Estaré muy atento a las conclusiones que llegues :-) Un saludo. From davidmenhur en gmail.com Tue Aug 6 12:18:37 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Tue, 6 Aug 2013 12:18:37 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: <5200B541.5090509@gmail.com> References: <5200B541.5090509@gmail.com> Message-ID: También depende de cuánto quieras invertir. In [4]: l=np.random.random(3*10**6); L=list(l) In [8]: i = int(10**5.8) In [11]: j = 3*10**6-10 In [26]: %timeit l[i+1:j+1]=l[j:i:-1] 10 loops, best of 3: 23.4 ms per loop In [27]: %timeit L[i+1:j+1]=L[j:i:-1] 1000000 loops, best of 3: 427 ns per loop In this case, the list clearly beats NumPy, pero: def flipper(K): ...: i=10**4 ...: j=10**5 ...: K[i+1:j+1]=K[j:i:-1] ...: return K In [6]: %timeit flipper(l) # NumPy array 1000 loops, best of 3: 311 us per loop In [7]: %timeit flipper(L) # Lista 100 loops, best of 3: 5.51 ms per loop y, si quieres exprimirlo al máximo: nflipper=numba.autojit(flipper) In [10]: %timeit nflipper(l) 10000 loops, best of 3: 105 us per loop In [11]: %timeit nflipper(L) 1 loops, best of 3: 5.52 ms per loop # La lista no se optimiza usando numba0.10. David. 2013/8/6 Antonio Beamud Montero : > El 05/08/13 21:54, Chema Cortes escribió: > >> Últimamente, estoy realizando estudios sobre la eficiencia de >> distintos códigos python. Mirando qué tipo de colección podía ser más >> eficiente según qué tareas, me encuentro con el siguiente párrafo en >> la documentación de ["deque"][1]: >> >> "Deques support thread-safe, memory efficient appends and pops from >> either side of the deque with approximately the same O(1) performance >> in either direction. >> >> Though list objects support similar operations, they are optimized for >> fast fixed-length operations and incur O(n) memory movement costs for >> pop(0) and insert(0, v) operations which change both the size and >> position of the underlying data representation." >> >> He comprobado que, efectivamente, el costo de insertar elementos al >> principio de una lista es mucho mayor que añadir elementos al final de >> la lista (x10000). >> >> En estos momentos , necesito trabajar con listas de números muy largas >> (> 10e6 elementos) para trocear en dos pedazos, invertir uno de ellos >> y volverlos a empalmar (método "2-opt"). Una forma de expresarlo: >> >> L[i+1:j+1] = L[j:i:-1] con i+1> >> que equivale a: >> >> L[:i] + L[j:i:-1] + L[j+1:] >> >> Esta última expresión, aunque más clara, es poco eficiente al tener >> que crear una nueva lista partiendo de tres sublistas intermedias. >> >> Los elementos no cambian de valor y tampoco cambia el tamaño de la >> lista. Parece que la "lista" es la estructura más eficiente para esta >> tarea (por lo que cuenta la documentación) siempre que no se modifique >> en tamaño. Pero me pregunto si hay algún modo de hacer este manejo más >> eficiente, tal vez usando alguna otra estructura, en python o numpy, >> que mejore estas tareas de corte y empalme. Intuyo que con "arrays" se >> reducen las necesidades de memoria, pero en estos momentos, la memoria >> es lo que menos me preocupa. Busco un método genérico que pueda valer >> para cualquier otro tipo de datos (eg: lista de vectores). >> >> > > Yo me decanté por usar numpy para resolver este tipo de problemas, aunque > mis listas eran un orden de magnitud más pequeñas, después de hacer varias > pruebas, el uso de las listas para operaciones simples, es tanto o más > eficiente usando listas de python que crear arrays en numpy (bueno > dependiendo de la operación), pero yo necesitaba métodos como 'diff', > 'where', etc.. que si que marcaban diferencias respecto a mis anteriores > implementaciones. > > Estaré muy atento a las conclusiones que llegues :-) > > Un saludo. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From pych3m4 en gmail.com Tue Aug 6 15:27:27 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 6 Aug 2013 15:27:27 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: Message-ID: El día 6 de agosto de 2013 10:07, Hernán Foffani escribió: > Podrías utilizar buffer (memoryview en Python 3)... > Cortar es trivial, volver a empalmar no tanto aunque quizás > puedas hacer un wrapper e implementar el pegado en forma > virtual. > > O directamente array. > > Hernán M. Foffani > No pensaba en bajar a tanto nivel. Buffer en python2 es de sólo lectura, pero memoryview en python3 parece tener más posibilidades. De cualquier modo, memoryview requiere de otro objeto para exponer el protocolo buffer. Tiene sentido cuando el objeto proviene de alguna librería externa, pero no veo que pueda tener ventajas sobre usar directamente array. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From pych3m4 en gmail.com Tue Aug 6 15:45:29 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 6 Aug 2013 15:45:29 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: El día 6 de agosto de 2013 12:18, Da?id escribió: > También depende de cuánto quieras invertir. > > > In [4]: l=np.random.random(3*10**6); L=list(l) > In [8]: i = int(10**5.8) > In [11]: j = 3*10**6-10 > In [26]: %timeit l[i+1:j+1]=l[j:i:-1] > 10 loops, best of 3: 23.4 ms per loop > > In [27]: %timeit L[i+1:j+1]=L[j:i:-1] > 1000000 loops, best of 3: 427 ns per loop > > In this case, the list clearly beats NumPy, pero: > > > def flipper(K): > ...: i=10**4 > ...: j=10**5 > ...: K[i+1:j+1]=K[j:i:-1] > ...: return K > > In [6]: %timeit flipper(l) # NumPy array > 1000 loops, best of 3: 311 us per loop > In [7]: %timeit flipper(L) # Lista > 100 loops, best of 3: 5.51 ms per loop > > y, si quieres exprimirlo al máximo: > > nflipper=numba.autojit(flipper) > > In [10]: %timeit nflipper(l) > 10000 loops, best of 3: 105 us per loop > > In [11]: %timeit nflipper(L) > 1 loops, best of 3: 5.52 ms per loop # La lista no se optimiza > > usando numba0.10. Interesante caso usando numpy y numba. Pero el problema que veo es que la función flipper no debería tener fijados los parámetros de corte, lo que supongo que hará perder bastante eficacia al JIT de numba. Lo que no me explico es cómo mejora tanto numpy cuando se empaqueta la operación en una clausura. > > > David. > > 2013/8/6 Antonio Beamud Montero : >> El 05/08/13 21:54, Chema Cortes escribió: >> >>> Últimamente, estoy realizando estudios sobre la eficiencia de >>> distintos códigos python. Mirando qué tipo de colección podía ser más >>> eficiente según qué tareas, me encuentro con el siguiente párrafo en >>> la documentación de ["deque"][1]: >>> >>> "Deques support thread-safe, memory efficient appends and pops from >>> either side of the deque with approximately the same O(1) performance >>> in either direction. >>> >>> Though list objects support similar operations, they are optimized for >>> fast fixed-length operations and incur O(n) memory movement costs for >>> pop(0) and insert(0, v) operations which change both the size and >>> position of the underlying data representation." >>> >>> He comprobado que, efectivamente, el costo de insertar elementos al >>> principio de una lista es mucho mayor que añadir elementos al final de >>> la lista (x10000). >>> >>> En estos momentos , necesito trabajar con listas de números muy largas >>> (> 10e6 elementos) para trocear en dos pedazos, invertir uno de ellos >>> y volverlos a empalmar (método "2-opt"). Una forma de expresarlo: >>> >>> L[i+1:j+1] = L[j:i:-1] con i+1>> >>> que equivale a: >>> >>> L[:i] + L[j:i:-1] + L[j+1:] >>> >>> Esta última expresión, aunque más clara, es poco eficiente al tener >>> que crear una nueva lista partiendo de tres sublistas intermedias. >>> >>> Los elementos no cambian de valor y tampoco cambia el tamaño de la >>> lista. Parece que la "lista" es la estructura más eficiente para esta >>> tarea (por lo que cuenta la documentación) siempre que no se modifique >>> en tamaño. Pero me pregunto si hay algún modo de hacer este manejo más >>> eficiente, tal vez usando alguna otra estructura, en python o numpy, >>> que mejore estas tareas de corte y empalme. Intuyo que con "arrays" se >>> reducen las necesidades de memoria, pero en estos momentos, la memoria >>> es lo que menos me preocupa. Busco un método genérico que pueda valer >>> para cualquier otro tipo de datos (eg: lista de vectores). >>> >>> >> >> Yo me decanté por usar numpy para resolver este tipo de problemas, aunque >> mis listas eran un orden de magnitud más pequeñas, después de hacer varias >> pruebas, el uso de las listas para operaciones simples, es tanto o más >> eficiente usando listas de python que crear arrays en numpy (bueno >> dependiendo de la operación), pero yo necesitaba métodos como 'diff', >> 'where', etc.. que si que marcaban diferencias respecto a mis anteriores >> implementaciones. >> >> Estaré muy atento a las conclusiones que llegues :-) >> >> Un saludo. >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From davidmenhur en gmail.com Tue Aug 6 16:38:22 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Tue, 6 Aug 2013 16:38:22 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: 2013/8/6 Chema Cortes : > Interesante caso usando numpy y numba. Pero el problema que veo es que > la función flipper no debería tener fijados los parámetros de corte, > lo que supongo que hará perder bastante eficacia al JIT de numba. En absoluto. Pasando i y j como argumentos a la función, se tienen los mismos tiempos. Numba es más eficiente cuantos más números se estén cambiando: In [17]: %timeit flipper(l,10**2, 10**3) 100000 loops, best of 3: 6.14 us per loop In [18]: %timeit nflipper(l,10**2, 10**3) 100000 loops, best of 3: 5.8 us per loop In [19]: %timeit flipper(l,10**3, 10**5) 1000 loops, best of 3: 351 us per loop In [20]: %timeit nflipper(l,10**3, 10**5) 10000 loops, best of 3: 119 us per loop He vuelto a medir los tiempos de NumPy sin función y ahora sí obtengo resultados razonables: In [26]: %timeit l[i+1:j+1]=l[j:i:-1] 1000 loops, best of 3: 351 us per loop (i y j son 10**3, 5 respectivamente). Por completitud, usando la lista L=list(l) In [29]: %timeit L[i+1:j+1]=L[j:i:-1] 100 loops, best of 3: 6.77 ms per loop Por otro lado, si la operación de inversión no se hace sobre el array, sino sobre una copia, se gana tiempo: In [31]: l2 = l.copy() In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] 10000 loops, best of 3: 101 us per loop Pero claro, no estamos teniendo en cuenta la copia de l2 (15 ms) (quizá útil si se va a repetir el mismo proceso sobre muchas secciones no solapantes del array). From reingart en gmail.com Tue Aug 6 16:58:14 2013 From: reingart en gmail.com (Mariano Reingart) Date: Tue, 6 Aug 2013 11:58:14 -0300 Subject: [Python-es] =?iso-8859-1?q?El_libro_de_web2py=3A_5a_edici=F3n_=28?= =?iso-8859-1?q?borrador_en_Espa=F1ol=29?= Message-ID: FYI ---------- Forwarded message ---------- From: Alan Etkin Date: 2013/8/2 Subject: El libro de web2py: 5a edición To: web2py-usuarios en googlegroups.com Cc: pyar en python.org.ar Ya está disponible online la traducción de la 5a edición del manual de web2py. La dirección para idioma español es http://www.web2py.com/books/default/chapter/41 El texto publicado es un borrador pendiente de revisión, por lo que les recomiendo que lo usen en conjunto con el texto original, que está disponible en http://www.web2py.com/books/default/chapter/38 También está proyectada la publicación en formato pdf. Las erratas, pedidos de modificación y actualización se pueden enviar a través del repositorio original en GitHub como pull request o creando un issue: https://github.com/mdipierro/web2py-book Con respecto a la publicación en pdf, estamos buscando un editor que pueda registrar el libro con ISBN. En la Argentina, si bien existe una importante actividad editorial, el interés en la publicación de manuales de informática es muy pobre. From jcaballero.hep en gmail.com Wed Aug 7 00:44:13 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 7 Aug 2013 00:44:13 +0200 Subject: [Python-es] comunicacion web con seguridad GSI In-Reply-To: References: Message-ID: El día 5 de agosto de 2013 17:46, Jose Caballero escribió: > Hola, > > > he escrito comunicacion web a posta, a sabiendas de su ambiguedad, > pues no quiero crear confusiones con "servicio web". Creo que la forma > correcta de decir lo que necesito seria un servicio RESTful ? Pido > disculpas por adelantado por mi falta de conocimiento en el tema. > > Necesitaria que varios servicios, corriendo en maquinas separadas, se > comuniquen con un host central para pasar ordenes, actualizar estado > del sistema, etc. > Creo que en primera aproximacion SimpleHTTPServer me valdria. > Hablamos de unos 4 o 5 conexiones al dia, nunca mas de una a la vez. > > Si luego necesito hacer logs a un DB, por ejemplo, puedo usar SQLAlchemy. > > Mi problema es que me gustaria autenticar las conexiones con GSI (grid > security infrastructure). No encuentro nada en la web sobre > SimpleHTTPServer + GSI. > Me pregunto si tengo que ir a algo mas grande, tipo django + Apache > (con mod_gridsite), o algo similar. > > Si alguien tiene experiencia con GSI en python y tiene algun link que > pueda leer para documentarme, estaria mas que agradecido. > > > Un saludo cordial, > Jose Al final me he acabado decidiendo por django + Apache. Es decir, a partir de ahora muevo mis preguntas tontas a la lista de django :) Pero aun asi, si alguien en algun momento encuentra algun link interesante relacionado, le estare muy agradecido si lo manda. Un saludo Jose (hoy de nuevo sin tildes) From asdrubal.ivan.suarez.rivera en gmail.com Wed Aug 7 04:05:17 2013 From: asdrubal.ivan.suarez.rivera en gmail.com (=?ISO-8859-1?Q?Asdr=FAbal_Iv=E1n_Su=E1rez_Rivera?=) Date: Tue, 6 Aug 2013 21:35:17 -0430 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: Saludos gente, sería interesante probar con blist[0]. A primera vista pareciera bastante rápida. [0] https://pypi.python.org/pypi/blist/ El 6 de agosto de 2013 10:08, Da?id escribió: > 2013/8/6 Chema Cortes : > > Interesante caso usando numpy y numba. Pero el problema que veo es que > > la función flipper no debería tener fijados los parámetros de corte, > > lo que supongo que hará perder bastante eficacia al JIT de numba. > > En absoluto. Pasando i y j como argumentos a la función, se tienen los > mismos tiempos. Numba es más eficiente cuantos más números se estén > cambiando: > > > In [17]: %timeit flipper(l,10**2, 10**3) > 100000 loops, best of 3: 6.14 us per loop > > In [18]: %timeit nflipper(l,10**2, 10**3) > 100000 loops, best of 3: 5.8 us per loop > > In [19]: %timeit flipper(l,10**3, 10**5) > 1000 loops, best of 3: 351 us per loop > > In [20]: %timeit nflipper(l,10**3, 10**5) > 10000 loops, best of 3: 119 us per loop > > > He vuelto a medir los tiempos de NumPy sin función y ahora sí obtengo > resultados razonables: > > In [26]: %timeit l[i+1:j+1]=l[j:i:-1] > 1000 loops, best of 3: 351 us per loop > > (i y j son 10**3, 5 respectivamente). > > > Por completitud, usando la lista L=list(l) > > In [29]: %timeit L[i+1:j+1]=L[j:i:-1] > 100 loops, best of 3: 6.77 ms per loop > > > Por otro lado, si la operación de inversión no se hace sobre el array, > sino sobre una copia, se gana tiempo: > > In [31]: l2 = l.copy() > > In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] > 10000 loops, best of 3: 101 us per loop > > > Pero claro, no estamos teniendo en cuenta la copia de l2 (15 ms) > (quizá útil si se va a repetir el mismo proceso sobre muchas secciones > no solapantes del array). > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Asdrúbal Iván Suárez Rivera *Si quieres aprender, enseña. *Marco Tulio Cicerón. * * *¿Tienes twitter?* *Sígueme: @asdrubalivan* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From juanlu001 en gmail.com Wed Aug 7 11:05:52 2013 From: juanlu001 en gmail.com (Juan Luis Cano) Date: Wed, 07 Aug 2013 11:05:52 +0200 Subject: [Python-es] Visualizador de espectro de audio Python In-Reply-To: <201308051357.12991.jsm@iaa.es> References: <201308051357.12991.jsm@iaa.es> Message-ID: <52020DF0.7090001@gmail.com> On 08/05/2013 02:57 PM, Jose Sabater Montes wrote: > On Saturday 03 August 2013 00:10:22 Acústico Cáustico wrote: >> Hola a todos, soy muy nuevo en python, llevo programando 6 meses y he >> decidido aprender en este lenguaje, en este momento estoy intentando hacer >> un visualizador de espectro de audio, es decir, trato de hacer algo como >> esto https://www.youtube.com/watch?v=-8GwCtsGpPg >> >> Ya se como extraer la informacion espectral del audio, lo estoy haciendo >> con numpy.fft, lo que no he podido descubrir es como hacer la animación, me >> refiero a convertir los datos obtenidos a partir de la FFT para graficarlos >> por banda de frecuencia. > Yo le echaría un vistazo a matplotlib para empezar. > De las funciones de pyplot (http://matplotlib.org/api/pyplot_summary.html) > puedes mirar "bar" > (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar) para algo > como lo del vídeo. También le echaría un vistazo a "specgram" > (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.specgram y > http://matplotlib.org/examples/pylab_examples/specgram_demo.html) y a cómo > animar las gráficas. Para esto último busca en Google "matplotlib animation" y > aparecen varios tutoriales. Hablando de specgram (aunque creo que no es exactamente el efecto que Acústico quiere conseguir), mira la última parte de este artículo: https://pybonacci.wordpress.com/2012/09/29/transformada-de-fourier-discreta-en-python-con-scipy/ (también en Pybonacci como Kiko pero esta vez el autor soy yo :P) From pych3m4 en gmail.com Wed Aug 7 12:02:10 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 7 Aug 2013 12:02:10 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: El día 7 de agosto de 2013 04:05, Asdrúbal Iván Suárez Rivera escribió: > Saludos gente, sería interesante probar con blist[0]. A primera vista > pareciera bastante rápida. > > [0] https://pypi.python.org/pypi/blist/ Tiene buena pinta, aunque la he probado y no mejora mi caso particular. Mejora el tema de trocear listas grandes, parece que no lo hace tan bien cuando se trata de invertir listas. Supongo que es debido a tener que mantener el B+tree actualizado. Pongo tiempos con blist, ndarray y list, respectivamente: %timeit b[i+1:j+1]=b[j:i:-1] 1 loops, best of 3: 144 ms per loop %timeit l[i+1:j+1]=l[j:i:-1] 100 loops, best of 3: 10.5 ms per loop %timeit L[i+1:j+1]=L[j:i:-1] 10 loops, best of 3: 53.8 ms per loop Si miramos sólo la inversión, (ndarray no tiene inversión "in-place"): %timeit b.reverse() 100 loops, best of 3: 9.04 ms per loop %timeit L.reverse() 100 loops, best of 3: 5.76 ms per loop Para otras operaciones, blist funciona algo mejor: %timeit -n100 del b[1000:10002] 100 loops, best of 3: 1.54 ms per loop %timeit -n100 del L[1000:10002] 100 loops, best of 3: 2.13 ms per loop -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From alfredo.riguetti en ptravel.com.uy Tue Aug 6 20:38:58 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Tue, 06 Aug 2013 15:38:58 -0300 Subject: [Python-es] Insertar datos mysql Message-ID: <520142C2.409@ptravel.com.uy> Hola a Todos Necesito que alguien me ayude con esto. tengo que ingresar unos datos del cliente a una base y si les pongo los datos a mano en el insert lo hace perfecto pero si lo quiero hacer con variabnles no lo hace alguien me puede ayudar copio el codigo, seguro algo esta mal escrito o algo asi. ahora deje solo los datos para la cedula para probar pero nada ... def OnClickAceptar(self,event): dtcedula = self.TextoCedulaCli.GetValue() nombres = self.TextoNombresCli.GetValue() apellidos = self.TextoApellidosCli.GetValue() direccion = self.TextoDireccionCli.GetValue() email = self.TextoCorreo.GetValue() telefonocelular = self.TextoTelefonoCeluar.GetValue() telefonoparticular = self.TextoTelefonoParticular.GetValue() # Open database connection db = MySQLdb.connect("localhost","root","miyaguiAdminaya2010","cambio") # prepare a cursor object using cursor() method cursor = db.cursor() # Prepare SQL query to INSERT a record into the database. print dtcedula sql = """INSERT INTO clientes(cedula) VALUES ('%s') % dtcedula""" try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: #Rollback in case there is any error db.rollback() # disconnect from server db.close() From chrids en gmail.com Tue Aug 6 15:05:22 2013 From: chrids en gmail.com (=?iso-8859-1?Q?Christopher_Mej=EDa?=) Date: Tue, 6 Aug 2013 07:05:22 -0600 Subject: [Python-es] =?iso-8859-1?q?Varios_dominios_en_una_aplicaci=F3n?= References: <08716B9A-D297-4A13-B44C-D080FE361F6A@gmail.com> Message-ID: Hola comunidad, tengo una duda sobre como utilizar correctamente varios dominios en una aplicación, asumamos el siguiente escenario: dominio1.com apunta a / que es la raíz de la aplicación dominio2.com apunta a /dominio2.com/ En /dominio2.com/ tenemos varias urls estilo {% url 'pruebas:prueba1' test.id %} que apunta a dominio1.com/dominio2.com/prueba1/1 por ejemplo Así si visitamos dominio1.com/dominio2.com/ las urls funcionan bien, estas redirigen hacia dominio1.com/dominio2.com/prueba1/1/ pero si lo visitamos desde dominio2.com estas continuan redirigiendo a esa url en lugar de cambiar a dominio2.com/prueba/1/ Como puedo solucionar esto? Gracias de antemano? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nadaird en gmail.com Wed Aug 7 12:32:40 2013 From: nadaird en gmail.com (G V) Date: Wed, 7 Aug 2013 12:32:40 +0200 Subject: [Python-es] =?iso-8859-1?q?Varios_dominios_en_una_aplicaci=F3n?= In-Reply-To: References: <08716B9A-D297-4A13-B44C-D080FE361F6A@gmail.com> Message-ID: depende del servidor que uses (apache, nginx, etc.) en nginx sería cuestión de usar un alias para el segundo dominio que pusiera como root la segunda raiz. si estas uasndo algun otro servidor, será cuestion de mirar la doc. correspondiente 2013/8/6 Christopher Mejía > Hola comunidad, tengo una duda sobre como utilizar correctamente varios > dominios en una aplicación, asumamos el siguiente escenario: > > dominio1.com apunta a / que es la raíz de la aplicación > dominio2.com apunta a /dominio2.com/ > > En /dominio2.com/ tenemos varias urls estilo {% url 'pruebas:prueba1' > test.id %} que apunta a dominio1.com/dominio2.com/prueba1/1 por ejemplo > > > Así si visitamos dominio1.com/dominio2.com/ las urls funcionan bien, > estas redirigen hacia dominio1.com/dominio2.com/prueba1/1/ pero si lo > visitamos desde dominio2.com estas continuan redirigiendo a esa url en > lugar de cambiar a dominio2.com/prueba/1/ > > Como puedo solucionar esto? > > Gracias de antemano? > > > _______________________________________________ > 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: From nadaird en gmail.com Wed Aug 7 12:39:04 2013 From: nadaird en gmail.com (G V) Date: Wed, 7 Aug 2013 12:39:04 +0200 Subject: [Python-es] Insertar datos mysql In-Reply-To: <520142C2.409@ptravel.com.uy> References: <520142C2.409@ptravel.com.uy> Message-ID: Creo que la solución que buscas está en https://github.com/farcepest/MySQLdb1/blob/master/doc/user_guide.rst#some-examples pero a grandes rasgos estas intentando hacer la sustitucion a mano dentro del propio string 2013/8/6 Alfredo Riguetti > Hola a Todos > Necesito que alguien me ayude con esto. tengo que ingresar unos datos del > cliente a una base y si les pongo los datos a mano en el insert lo hace > perfecto pero si lo quiero hacer con variabnles no lo hace alguien me puede > ayudar copio el codigo, seguro algo esta mal escrito o algo asi. > > ahora deje solo los datos para la cedula para probar pero nada ... > > def OnClickAceptar(self,event): > > dtcedula = self.TextoCedulaCli.GetValue() > nombres = self.TextoNombresCli.GetValue(**) > apellidos = self.TextoApellidosCli.**GetValue() > direccion = self.TextoDireccionCli.**GetValue() > email = self.TextoCorreo.GetValue() > telefonocelular = self.TextoTelefonoCeluar.**GetValue() > telefonoparticular = self.TextoTelefonoParticular.**GetValue() > > > > # Open database connection > db = MySQLdb.connect("localhost","**root","miyaguiAdminaya2010","* > *cambio") > > # prepare a cursor object using cursor() method > cursor = db.cursor() > > # Prepare SQL query to INSERT a record into the database. > > print dtcedula > sql = """INSERT INTO clientes(cedula) VALUES ('%s') % dtcedula""" > > > try: > # Execute the SQL command > cursor.execute(sql) > # Commit your changes in the database > db.commit() > except: > #Rollback in case there is any error > db.rollback() > > # disconnect from server > db.close() > > ______________________________**_________________ > 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: From kikocorreoso en gmail.com Wed Aug 7 13:22:09 2013 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 7 Aug 2013 13:22:09 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: pandas está muy optimizado (cython) para manejar datos pytables + hdf5 quizá podría ser una opción? numexpr para la operación de invertir la lista? carray creo que no sería una opción para este caso ( https://pypi.python.org/pypi/carray/0.5.1). Lo siento, estoy alejado de un pc en condiciones para hacer las pruebas yo mismo y no decir lo primero que se me ocurre ;-) p.d.: Perdón por el top-posting El 07/08/13, Chema Cortes escribió: > El día 7 de agosto de 2013 04:05, Asdrúbal Iván Suárez Rivera > escribió: >> Saludos gente, sería interesante probar con blist[0]. A primera vista >> pareciera bastante rápida. >> >> [0] https://pypi.python.org/pypi/blist/ > > Tiene buena pinta, aunque la he probado y no mejora mi caso > particular. Mejora el tema de trocear listas grandes, parece que no lo > hace tan bien cuando se trata de invertir listas. Supongo que es > debido a tener que mantener el B+tree actualizado. > > Pongo tiempos con blist, ndarray y list, respectivamente: > > %timeit b[i+1:j+1]=b[j:i:-1] > 1 loops, best of 3: 144 ms per loop > > %timeit l[i+1:j+1]=l[j:i:-1] > 100 loops, best of 3: 10.5 ms per loop > > %timeit L[i+1:j+1]=L[j:i:-1] > 10 loops, best of 3: 53.8 ms per loop > > Si miramos sólo la inversión, (ndarray no tiene inversión "in-place"): > > %timeit b.reverse() > 100 loops, best of 3: 9.04 ms per loop > > %timeit L.reverse() > 100 loops, best of 3: 5.76 ms per loop > > Para otras operaciones, blist funciona algo mejor: > > %timeit -n100 del b[1000:10002] > 100 loops, best of 3: 1.54 ms per loop > > %timeit -n100 del L[1000:10002] > 100 loops, best of 3: 2.13 ms per loop > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From pych3m4 en gmail.com Wed Aug 7 13:28:00 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 7 Aug 2013 13:28:00 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: El día 6 de agosto de 2013 16:38, Da?id escribió: > 2013/8/6 Chema Cortes : > Por otro lado, si la operación de inversión no se hace sobre el array, > sino sobre una copia, se gana tiempo: > > In [31]: l2 = l.copy() > > In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] > 10000 loops, best of 3: 101 us per loop He mirado un poco mejor el funcionamiento de los arrays en numpy. Los troceos no crean nuevos arrays, sino lo que llama "vistas" ("views") (a excepción de los "fancy indexing" de numpy). Como las vistas están enlazadas con el objeto original, los cambios en una vista se efectúan directamente sobre el objeto original de forma eficiente. Creo que usaré los arrays de numpy para operaciones con listas grandes. También necesitaba hacer rotar la lista, cosa que veo que puede hacer con np.roll, aunque no es tan eficiente como deque .rotate() que realiza la operación "in-place". Como curiosidad, había descartado algunas pruebas bizarras con deque, pero muestra lo increiblemente rápido que puede llegar a ser: d=deque(l) %timeit d.rotate(-i-1);d.extendleft([d.popleft() for _ in range(j-i)]);d.rotate(i+1) 10 loops, best of 3: 29.8 ms per loop Es la misma operación que l[i+1:j+1]=l2[j:i:-1], primero rotando la lista hacia la izquierda, añadiendo la lista invertida al principio y volviendo a rotar hacia la derecha para mantener el mismo orden. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From kikocorreoso en gmail.com Wed Aug 7 14:30:14 2013 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 7 Aug 2013 14:30:14 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: mira también rot90, fliplr, flipud... http://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html#rearranging-elements El 07/08/13, Chema Cortes escribió: > El día 6 de agosto de 2013 16:38, Da?id escribió: >> 2013/8/6 Chema Cortes : > >> Por otro lado, si la operación de inversión no se hace sobre el array, >> sino sobre una copia, se gana tiempo: >> >> In [31]: l2 = l.copy() >> >> In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] >> 10000 loops, best of 3: 101 us per loop > > He mirado un poco mejor el funcionamiento de los arrays en numpy. Los > troceos no crean nuevos arrays, sino lo que llama "vistas" ("views") > (a excepción de los "fancy indexing" de numpy). Como las vistas están > enlazadas con el objeto original, los cambios en una vista se efectúan > directamente sobre el objeto original de forma eficiente. > > Creo que usaré los arrays de numpy para operaciones con listas > grandes. También necesitaba hacer rotar la lista, cosa que veo que > puede hacer con np.roll, aunque no es tan eficiente como deque > .rotate() que realiza la operación "in-place". > > Como curiosidad, había descartado algunas pruebas bizarras con deque, > pero muestra lo increiblemente rápido que puede llegar a ser: > > d=deque(l) > > %timeit d.rotate(-i-1);d.extendleft([d.popleft() for _ in > range(j-i)]);d.rotate(i+1) > 10 loops, best of 3: 29.8 ms per loop > > Es la misma operación que l[i+1:j+1]=l2[j:i:-1], primero rotando la > lista hacia la izquierda, añadiendo la lista invertida al principio y > volviendo a rotar hacia la derecha para mantener el mismo orden. > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From davidmenhur en gmail.com Wed Aug 7 15:36:58 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 7 Aug 2013 15:36:58 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: 2013/8/6 Chema Cortes : > Interesante caso usando numpy y numba. Pero el problema que veo es que > la función flipper no debería tener fijados los parámetros de corte, > lo que supongo que hará perder bastante eficacia al JIT de numba. El hecho de que Numba sea capaz de optimizarlo (significativamente, además) significa que un compilador puede mejorarlo, y por tanto, cython debería poder hacer algo. Mi intento, sin embargo, lanzándole todo lo que sé (que tampoco es mucho) no ha servido de nada, exactamente el mismo tiempo: import numpy as np cimport numpy as np cimport cython DTYPE = np.float64 ctypedef np.float64_t DTYPE_t @cython.boundscheck(False) @cython.wraparound(False) def flipper(np.ndarray[DTYPE_t, ndim=1] K not None, int i, int j): K[i+1:j+1]=K[j:i:-1] return K Agradezco comentarios y sugerencias. From kelertxiki en gmail.com Wed Aug 7 15:46:10 2013 From: kelertxiki en gmail.com (Ander Garmendia) Date: Wed, 7 Aug 2013 15:46:10 +0200 Subject: [Python-es] Insertar datos mysql In-Reply-To: References: <520142C2.409@ptravel.com.uy> Message-ID: Échale un vistazo a la documentación de MySQLdb: http://mysql-python.sourceforge.net/MySQLdb.html Básicamente deberias cambiar la sentencia SQL y pasar los parametros con una tupla en el método execute. Algo así: sql = """INSERT INTO clientes(cedula) VALUES (%s)""" cursor.execute(sql, (dtcedula,)) El día 7 de agosto de 2013 12:39, G V escribió: > Creo que la solución que buscas está en > https://github.com/farcepest/MySQLdb1/blob/master/doc/user_guide.rst#some-examples > > pero a grandes rasgos estas intentando hacer la sustitucion a mano dentro > del propio string > > > 2013/8/6 Alfredo Riguetti >> >> Hola a Todos >> Necesito que alguien me ayude con esto. tengo que ingresar unos datos del >> cliente a una base y si les pongo los datos a mano en el insert lo hace >> perfecto pero si lo quiero hacer con variabnles no lo hace alguien me puede >> ayudar copio el codigo, seguro algo esta mal escrito o algo asi. >> >> ahora deje solo los datos para la cedula para probar pero nada ... >> >> def OnClickAceptar(self,event): >> >> dtcedula = self.TextoCedulaCli.GetValue() >> nombres = self.TextoNombresCli.GetValue() >> apellidos = self.TextoApellidosCli.GetValue() >> direccion = self.TextoDireccionCli.GetValue() >> email = self.TextoCorreo.GetValue() >> telefonocelular = self.TextoTelefonoCeluar.GetValue() >> telefonoparticular = self.TextoTelefonoParticular.GetValue() >> >> >> >> # Open database connection >> db = >> MySQLdb.connect("localhost","root","miyaguiAdminaya2010","cambio") >> >> # prepare a cursor object using cursor() method >> cursor = db.cursor() >> >> # Prepare SQL query to INSERT a record into the database. >> >> print dtcedula >> sql = """INSERT INTO clientes(cedula) VALUES ('%s') % dtcedula""" >> >> >> try: >> # Execute the SQL command >> cursor.execute(sql) >> # Commit your changes in the database >> db.commit() >> except: >> #Rollback in case there is any error >> db.rollback() >> >> # disconnect from server >> db.close() >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ > From pych3m4 en gmail.com Wed Aug 7 17:17:20 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 7 Aug 2013 17:17:20 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: El día 7 de agosto de 2013 13:22, Kiko escribió: > pandas está muy optimizado (cython) para manejar datos > > pytables + hdf5 quizá podría ser una opción? > > numexpr para la operación de invertir la lista? > > carray creo que no sería una opción para este caso ( > https://pypi.python.org/pypi/carray/0.5.1). Estas herramientas las tenía como "pendientes" de revisar. Pandas lo había dejado para después de conocer mejor R, pero veo que me tendré que poner con ello ya. Pytable+hdf5 lo tenía más asociado con datos masivos "jerarquizados". Igual estoy equivocado. Numexpr (y/o numba) también los tengo pendientes. CArray no lo conocía, aunque parece relacionado con los anteriores. ¿Podría numexpr mejorar los resultados de numba que ha puesto Da?id? Todavía estoy trabajando en los modelos y me queda aún bastante margen para pulir antes de ponerme con la optimización de cálculos y requisitos de memoria. De momento solo busco una solución (relativamente) genérica que sea escalable. > Lo siento, estoy alejado de un pc en condiciones para hacer las > pruebas yo mismo y no decir lo primero que se me ocurre ;-) Siempre es de agredecer cualquier aporte. > p.d.: Perdón por el top-posting > > El 07/08/13, Chema Cortes escribió: >> El día 7 de agosto de 2013 04:05, Asdrúbal Iván Suárez Rivera >> escribió: >>> Saludos gente, sería interesante probar con blist[0]. A primera vista >>> pareciera bastante rápida. >>> >>> [0] https://pypi.python.org/pypi/blist/ >> >> Tiene buena pinta, aunque la he probado y no mejora mi caso >> particular. Mejora el tema de trocear listas grandes, parece que no lo >> hace tan bien cuando se trata de invertir listas. Supongo que es >> debido a tener que mantener el B+tree actualizado. >> >> Pongo tiempos con blist, ndarray y list, respectivamente: >> >> %timeit b[i+1:j+1]=b[j:i:-1] >> 1 loops, best of 3: 144 ms per loop >> >> %timeit l[i+1:j+1]=l[j:i:-1] >> 100 loops, best of 3: 10.5 ms per loop >> >> %timeit L[i+1:j+1]=L[j:i:-1] >> 10 loops, best of 3: 53.8 ms per loop >> >> Si miramos sólo la inversión, (ndarray no tiene inversión "in-place"): >> >> %timeit b.reverse() >> 100 loops, best of 3: 9.04 ms per loop >> >> %timeit L.reverse() >> 100 loops, best of 3: 5.76 ms per loop >> >> Para otras operaciones, blist funciona algo mejor: >> >> %timeit -n100 del b[1000:10002] >> 100 loops, best of 3: 1.54 ms per loop >> >> %timeit -n100 del L[1000:10002] >> 100 loops, best of 3: 2.13 ms per loop >> >> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> http://ch3m4.org/blog >> Buscador Python Hispano: http://ch3m4.org/python-es >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From pych3m4 en gmail.com Wed Aug 7 17:31:39 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 7 Aug 2013 17:31:39 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: El día 7 de agosto de 2013 14:30, Kiko escribió: > mira también rot90, fliplr, flipud... > > http://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html#rearranging-elements Los había mirado, pero son funciones para >= 2-d. No veo cómo usarlas con listas unidimensionales. > > El 07/08/13, Chema Cortes escribió: >> El día 6 de agosto de 2013 16:38, Da?id escribió: >>> 2013/8/6 Chema Cortes : >> >>> Por otro lado, si la operación de inversión no se hace sobre el array, >>> sino sobre una copia, se gana tiempo: >>> >>> In [31]: l2 = l.copy() >>> >>> In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] >>> 10000 loops, best of 3: 101 us per loop >> >> He mirado un poco mejor el funcionamiento de los arrays en numpy. Los >> troceos no crean nuevos arrays, sino lo que llama "vistas" ("views") >> (a excepción de los "fancy indexing" de numpy). Como las vistas están >> enlazadas con el objeto original, los cambios en una vista se efectúan >> directamente sobre el objeto original de forma eficiente. >> >> Creo que usaré los arrays de numpy para operaciones con listas >> grandes. También necesitaba hacer rotar la lista, cosa que veo que >> puede hacer con np.roll, aunque no es tan eficiente como deque >> .rotate() que realiza la operación "in-place". >> >> Como curiosidad, había descartado algunas pruebas bizarras con deque, >> pero muestra lo increiblemente rápido que puede llegar a ser: >> >> d=deque(l) >> >> %timeit d.rotate(-i-1);d.extendleft([d.popleft() for _ in >> range(j-i)]);d.rotate(i+1) >> 10 loops, best of 3: 29.8 ms per loop >> >> Es la misma operación que l[i+1:j+1]=l2[j:i:-1], primero rotando la >> lista hacia la izquierda, añadiendo la lista invertida al principio y >> volviendo a rotar hacia la derecha para mantener el mismo orden. >> >> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> http://ch3m4.org/blog >> Buscador Python Hispano: http://ch3m4.org/python-es >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From chrids en gmail.com Wed Aug 7 12:42:51 2013 From: chrids en gmail.com (=?iso-8859-1?Q?Christopher_Mej=EDa?=) Date: Wed, 7 Aug 2013 04:42:51 -0600 Subject: [Python-es] =?iso-8859-1?q?Varios_dominios_en_una_aplicaci=F3n?= In-Reply-To: References: <08716B9A-D297-4A13-B44C-D080FE361F6A@gmail.com> Message-ID: Gracias por tu respuesta, después de mucho leer creo que el gran problema radicaría en hacer el "wildcard" ósea que los demás dominios no declarados respondan a una dirección sin perder su "identidad" y que además no haya que hacer un registro por dominio, de momento uso apache, y va bastante bien, pero podría considerar cambiarme? Saludos? On Aug 7, 2013, at 4:32 AM, G V wrote: > depende del servidor que uses (apache, nginx, etc.) > > en nginx sería cuestión de usar un alias para el segundo dominio que pusiera como root la segunda raiz. > > si estas uasndo algun otro servidor, será cuestion de mirar la doc. correspondiente > > > 2013/8/6 Christopher Mejía > Hola comunidad, tengo una duda sobre como utilizar correctamente varios dominios en una aplicación, asumamos el siguiente escenario: > > dominio1.com apunta a / que es la raíz de la aplicación > dominio2.com apunta a /dominio2.com/ > > En /dominio2.com/ tenemos varias urls estilo {% url 'pruebas:prueba1' test.id %} que apunta a dominio1.com/dominio2.com/prueba1/1 por ejemplo > > > Así si visitamos dominio1.com/dominio2.com/ las urls funcionan bien, estas redirigen hacia dominio1.com/dominio2.com/prueba1/1/ pero si lo visitamos desde dominio2.com estas continuan redirigiendo a esa url en lugar de cambiar a dominio2.com/prueba/1/ > > Como puedo solucionar esto? > > Gracias de antemano? > > > _______________________________________________ > Python-es mailing list > Python-es en 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: From alfredo.riguetti en ptravel.com.uy Wed Aug 7 16:02:10 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Wed, 07 Aug 2013 11:02:10 -0300 Subject: [Python-es] Insertar datos mysql In-Reply-To: References: <520142C2.409@ptravel.com.uy> Message-ID: <52025362.3030801@ptravel.com.uy> Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gráficos1 Type: image/jpeg Size: 30735 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: telefononegro.png Type: image/png Size: 807 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: sobre4.jpg Type: image/jpeg Size: 3250 bytes Desc: no disponible URL: ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: mundito3.png Type: image/png Size: 10514 bytes Desc: no disponible URL: From davidmenhur en gmail.com Wed Aug 7 17:45:56 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 7 Aug 2013 17:45:56 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: 2013/8/7 Chema Cortes : > Pytable+hdf5 lo tenía más asociado con datos masivos "jerarquizados". > Igual estoy equivocado. PyTables son, esencialmente, tablas de datos, con columnas homogéneas. Ofrece una interfaz tipo ndarray (incluyendo slices), pero que para muchas operaciones optimiza el acceso a disco. También tiene capacidades de búsqueda "in kernel" (las filas en las que la tercera columna sea menor que la raíz de dos), que se hacen a velocidad de C. Es práctico para manejar volúmenes de datos muy grandes que no quepan en memoria. > Numexpr (y/o numba) también los tengo pendientes. CArray no lo > conocía, aunque parece relacionado con los anteriores. ¿Podría numexpr > mejorar los resultados de numba que ha puesto Da?id? CArray significa "chunked array". Es un ndarray que no ocupa necesariamente un trozo de memoria contiguo. Cuando se hacen insertan o eliminan elementos en algún punto del medio de un ndarray, todo el resto de la memoria hasta el final ha de desplazarse; un carray, al estar divididido, sólo necesita mover un bloque pequeño. Creo que no es algo que te interese ahora. No estoy seguro de esto, pero por lo que he visto, carray es útil como estructura de bajo nivel sobre la que montar librerías avanzadas de manejo de datos, no sé si hay mucho uso en producción directamente. Por su lado, lo único que Numexpr hace es operaciones elemento a elemento (o la suma/producto total) sobre arrays optimizando el uso de la caché de la CPU y paralelizando de forma transparente. En el clásico ejemplo a + b * c, siendo a, b y c ndarrays, Python puro realiza primero b * c, lo guarda en una variable temporal que luego suma a a. Numexpr hace las operaciones elemento a elemento directamente (a[0] + b[0] * c[0]), saltándose la variable temporal y aplicando todas las optimizaciones mencionadas. En la documentación no mencionan nada de revertir un array, y, aunque existiera, dudo que fuera útil en este caso. Numba es un optimizador genérico* con mucha maquinaria pesada. La idea es que sea prácticamente automático, y pueda inferir tipos, compilar, paralelizar, procesar datos a través de la GPU... de forma transparente o casi transparente (siempre vienen bien ayudas). Su mayor inconveniente es que está todavía en desarrollo temprano (heisenbugs incluidos); y que requiere compilar LLVM. ____ * Aunque a día de hoy sólo es verdaderamente efectivo sobre ndarrays, y la mayor parte del desarrollo va en esa dirección. From pych3m4 en gmail.com Wed Aug 7 17:53:17 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 7 Aug 2013 17:53:17 +0200 Subject: [Python-es] [OT] Formatos de mensajes enviados a la lista PYTHON-ES Message-ID: Últimamente estamos recibiendo bastantes mensajes que no cumplen con las normas de la lista. Además de suponer más trabajo para los moderadores de la lista, también suponen retrasos en el reenvío y molestias para el resto de lectores. Por favor, comprobar en la configuración de vuestros clientes de correo que los mensajes enviados a esta lista estén en texto plano, a ser posible sin código html. Sobre todo, aseguraros que las firmas de los mensajes no incluyan gráficos, ni tampoco texto codificado con un charset distinto al resto del mensaje. Sólo texto plano. El software de la lista, mailman, es muy estricto en estos términos y considera estos mensajes como amenazas potenciales que requieren de revisión manual. Muchas gracias por vuestra comprensión. From kikocorreoso en gmail.com Wed Aug 7 17:56:43 2013 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 7 Aug 2013 17:56:43 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: pandas está muy 'cythonizado' por lo que para muchas operaciones debería ser muy buena opción. Su funcionamiento pretende emular parte de la funcionalidad de R (dataframes). Si trabajas con información muy 'grande' que no entra en memoria una buena opción es pytables ya que el acceso a los datos es muy rápido. Si te entra todo en memoria quizá no es necesario que lo pruebes ahora. Gente que andaba desarrollando numexpr (Francesc) ahora están metidos en continuum que son los desarrolladores de numba, blaze,... Numexpr es un jit de un subconjunto limitado de operaciones. Numba quizá sea algo más generalista y es realmente brillante cuando hay que meterse en bucles y la vectorización de numpy no ayuda del todo (http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-take-2/). Saludos. El 07/08/13, Chema Cortes escribió: > El día 7 de agosto de 2013 14:30, Kiko escribió: > >> mira también rot90, fliplr, flipud... >> >> http://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html#rearranging-elements > > Los había mirado, pero son funciones para >= 2-d. No veo cómo usarlas > con listas unidimensionales. > > >> >> El 07/08/13, Chema Cortes escribió: >>> El día 6 de agosto de 2013 16:38, Da?id escribió: >>>> 2013/8/6 Chema Cortes : >>> >>>> Por otro lado, si la operación de inversión no se hace sobre el array, >>>> sino sobre una copia, se gana tiempo: >>>> >>>> In [31]: l2 = l.copy() >>>> >>>> In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] >>>> 10000 loops, best of 3: 101 us per loop >>> >>> He mirado un poco mejor el funcionamiento de los arrays en numpy. Los >>> troceos no crean nuevos arrays, sino lo que llama "vistas" ("views") >>> (a excepción de los "fancy indexing" de numpy). Como las vistas están >>> enlazadas con el objeto original, los cambios en una vista se efectúan >>> directamente sobre el objeto original de forma eficiente. >>> >>> Creo que usaré los arrays de numpy para operaciones con listas >>> grandes. También necesitaba hacer rotar la lista, cosa que veo que >>> puede hacer con np.roll, aunque no es tan eficiente como deque >>> .rotate() que realiza la operación "in-place". >>> >>> Como curiosidad, había descartado algunas pruebas bizarras con deque, >>> pero muestra lo increiblemente rápido que puede llegar a ser: >>> >>> d=deque(l) >>> >>> %timeit d.rotate(-i-1);d.extendleft([d.popleft() for _ in >>> range(j-i)]);d.rotate(i+1) >>> 10 loops, best of 3: 29.8 ms per loop >>> >>> Es la misma operación que l[i+1:j+1]=l2[j:i:-1], primero rotando la >>> lista hacia la izquierda, añadiendo la lista invertida al principio y >>> volviendo a rotar hacia la derecha para mantener el mismo orden. >>> >>> >>> -- >>> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >>> http://ch3m4.org/blog >>> Buscador Python Hispano: http://ch3m4.org/python-es >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ > > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From pych3m4 en gmail.com Wed Aug 7 18:25:28 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 7 Aug 2013 18:25:28 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: El día 7 de agosto de 2013 17:56, Kiko escribió: > pandas está muy 'cythonizado' por lo que para muchas operaciones > debería ser muy buena opción. Su funcionamiento pretende emular parte > de la funcionalidad de R (dataframes). Sí, ya me doy cuenta que todo va moviéndose muy rápido. De momento quiero centrarme en R y OpenBUGS (inferencia bayesiana), pero tengo a pandas y scikit-learn en espera. > Si trabajas con información muy 'grande' que no entra en memoria una > buena opción es pytables ya que el acceso a los datos es muy rápido. > Si te entra todo en memoria quizá no es necesario que lo pruebes > ahora. De momento, no paso de 5 ó 6 GB. que es aún manejable. Procuro que las operaciones no aumenten el gasto de memoria, pero preveo pasar a otras estrategias como el cálculo distribuido. > Gente que andaba desarrollando numexpr (Francesc) ahora están metidos > en continuum que son los desarrolladores de numba, blaze,... Numexpr > es un jit de un subconjunto limitado de operaciones. Numba quizá sea > algo más generalista y es realmente brillante cuando hay que meterse > en bucles y la vectorización de numpy no ayuda del todo > (http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-take-2/). Sigo bastante de cerca la labor de Francesc, Travis Oliphant y el resto del equipo de continuum. LLVM (usado por numba) está entre las "estrategias" de cálculo distribuido consideradas, aunque no descarto soluciones del estilo hadoop. > > Saludos. > > El 07/08/13, Chema Cortes escribió: >> El día 7 de agosto de 2013 14:30, Kiko escribió: >> >>> mira también rot90, fliplr, flipud... >>> >>> http://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html#rearranging-elements >> >> Los había mirado, pero son funciones para >= 2-d. No veo cómo usarlas >> con listas unidimensionales. >> >> >>> >>> El 07/08/13, Chema Cortes escribió: >>>> El día 6 de agosto de 2013 16:38, Da?id escribió: >>>>> 2013/8/6 Chema Cortes : >>>> >>>>> Por otro lado, si la operación de inversión no se hace sobre el array, >>>>> sino sobre una copia, se gana tiempo: >>>>> >>>>> In [31]: l2 = l.copy() >>>>> >>>>> In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] >>>>> 10000 loops, best of 3: 101 us per loop >>>> >>>> He mirado un poco mejor el funcionamiento de los arrays en numpy. Los >>>> troceos no crean nuevos arrays, sino lo que llama "vistas" ("views") >>>> (a excepción de los "fancy indexing" de numpy). Como las vistas están >>>> enlazadas con el objeto original, los cambios en una vista se efectúan >>>> directamente sobre el objeto original de forma eficiente. >>>> >>>> Creo que usaré los arrays de numpy para operaciones con listas >>>> grandes. También necesitaba hacer rotar la lista, cosa que veo que >>>> puede hacer con np.roll, aunque no es tan eficiente como deque >>>> .rotate() que realiza la operación "in-place". >>>> >>>> Como curiosidad, había descartado algunas pruebas bizarras con deque, >>>> pero muestra lo increiblemente rápido que puede llegar a ser: >>>> >>>> d=deque(l) >>>> >>>> %timeit d.rotate(-i-1);d.extendleft([d.popleft() for _ in >>>> range(j-i)]);d.rotate(i+1) >>>> 10 loops, best of 3: 29.8 ms per loop >>>> >>>> Es la misma operación que l[i+1:j+1]=l2[j:i:-1], primero rotando la >>>> lista hacia la izquierda, añadiendo la lista invertida al principio y >>>> volviendo a rotar hacia la derecha para mantener el mismo orden. >>>> >>>> >>>> -- >>>> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >>>> http://ch3m4.org/blog >>>> Buscador Python Hispano: http://ch3m4.org/python-es >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en 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/ >> >> >> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> http://ch3m4.org/blog >> Buscador Python Hispano: http://ch3m4.org/python-es >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From clatorreg en dphuesca.es Wed Aug 7 19:14:22 2013 From: clatorreg en dphuesca.es (Carlos Latorre) Date: Wed, 7 Aug 2013 19:14:22 +0200 Subject: [Python-es] =?iso-8859-1?q?Varios_dominios_en_una_aplicaci=F3n?= In-Reply-To: References: <08716B9A-D297-4A13-B44C-D080FE361F6A@gmail.com> Message-ID: Si usas Apache puedes usar dominios virtuales, Tendrás un DocumentRoot para cada dominio especial, y los dominios que no recojas explicitamente irán al DocumentRoot del dominio por defecto. Si quieres puedo ayudarte con la configuración, pero para ello necesito saber cual es la versión de Apache que estas usando. Saludos, Carlos El 7 de agosto de 2013 12:42, Christopher Mejía escribió: > Gracias por tu respuesta, después de mucho leer creo que el gran problema > radicaría en hacer el "wildcard" ósea que los demás dominios no declarados > respondan a una dirección sin perder su "identidad" y que además no haya > que hacer un registro por dominio, de momento uso apache, y va bastante > bien, pero podría considerar cambiarme? > > Saludos? > > On Aug 7, 2013, at 4:32 AM, G V wrote: > > depende del servidor que uses (apache, nginx, etc.) > > en nginx sería cuestión de usar un alias para el segundo dominio que > pusiera como root la segunda raiz. > > si estas uasndo algun otro servidor, será cuestion de mirar la doc. > correspondiente > > > 2013/8/6 Christopher Mejía > >> Hola comunidad, tengo una duda sobre como utilizar correctamente varios >> dominios en una aplicación, asumamos el siguiente escenario: >> >> dominio1.com apunta a / que es la raíz de la aplicación >> dominio2.com apunta a /dominio2.com/ >> >> En /dominio2.com/ tenemos varias urls estilo {% url 'pruebas:prueba1' >> test.id %} que apunta a dominio1.com/dominio2.com/prueba1/1 por ejemplo >> >> >> Así si visitamos dominio1.com/dominio2.com/ las urls funcionan bien, >> estas redirigen hacia dominio1.com/dominio2.com/prueba1/1/ pero si lo >> visitamos desde dominio2.com estas continuan redirigiendo a esa url en >> lugar de cambiar a dominio2.com/prueba/1/ >> >> Como puedo solucionar esto? >> >> Gracias de antemano? >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ > > > > _______________________________________________ > 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: From kikocorreoso en gmail.com Wed Aug 7 21:22:44 2013 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 7 Aug 2013 21:22:44 +0200 Subject: [Python-es] Eficiencia de las listas In-Reply-To: References: <5200B541.5090509@gmail.com> Message-ID: No conocía openBUGS. Ya nos contarás (si puedes y quieres) lo que te traes entre manos, que seguro que aprenderemos todos!!! El 07/08/13, Chema Cortes escribió: > El día 7 de agosto de 2013 17:56, Kiko escribió: > >> pandas está muy 'cythonizado' por lo que para muchas operaciones >> debería ser muy buena opción. Su funcionamiento pretende emular parte >> de la funcionalidad de R (dataframes). > > Sí, ya me doy cuenta que todo va moviéndose muy rápido. De momento > quiero centrarme en R y OpenBUGS (inferencia bayesiana), pero tengo a > pandas y scikit-learn en espera. > >> Si trabajas con información muy 'grande' que no entra en memoria una >> buena opción es pytables ya que el acceso a los datos es muy rápido. >> Si te entra todo en memoria quizá no es necesario que lo pruebes >> ahora. > > De momento, no paso de 5 ó 6 GB. que es aún manejable. Procuro que las > operaciones no aumenten el gasto de memoria, pero preveo pasar a otras > estrategias como el cálculo distribuido. > >> Gente que andaba desarrollando numexpr (Francesc) ahora están metidos >> en continuum que son los desarrolladores de numba, blaze,... Numexpr >> es un jit de un subconjunto limitado de operaciones. Numba quizá sea >> algo más generalista y es realmente brillante cuando hay que meterse >> en bucles y la vectorización de numpy no ayuda del todo >> (http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-take-2/). > > Sigo bastante de cerca la labor de Francesc, Travis Oliphant y el > resto del equipo de continuum. LLVM (usado por numba) está entre las > "estrategias" de cálculo distribuido consideradas, aunque no descarto > soluciones del estilo hadoop. > > >> >> Saludos. >> >> El 07/08/13, Chema Cortes escribió: >>> El día 7 de agosto de 2013 14:30, Kiko escribió: >>> >>>> mira también rot90, fliplr, flipud... >>>> >>>> http://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html#rearranging-elements >>> >>> Los había mirado, pero son funciones para >= 2-d. No veo cómo usarlas >>> con listas unidimensionales. >>> >>> >>>> >>>> El 07/08/13, Chema Cortes escribió: >>>>> El día 6 de agosto de 2013 16:38, Da?id >>>>> escribió: >>>>>> 2013/8/6 Chema Cortes : >>>>> >>>>>> Por otro lado, si la operación de inversión no se hace sobre el array, >>>>>> sino sobre una copia, se gana tiempo: >>>>>> >>>>>> In [31]: l2 = l.copy() >>>>>> >>>>>> In [32]: %timeit l[i+1:j+1]=l2[j:i:-1] >>>>>> 10000 loops, best of 3: 101 us per loop >>>>> >>>>> He mirado un poco mejor el funcionamiento de los arrays en numpy. Los >>>>> troceos no crean nuevos arrays, sino lo que llama "vistas" ("views") >>>>> (a excepción de los "fancy indexing" de numpy). Como las vistas están >>>>> enlazadas con el objeto original, los cambios en una vista se efectúan >>>>> directamente sobre el objeto original de forma eficiente. >>>>> >>>>> Creo que usaré los arrays de numpy para operaciones con listas >>>>> grandes. También necesitaba hacer rotar la lista, cosa que veo que >>>>> puede hacer con np.roll, aunque no es tan eficiente como deque >>>>> .rotate() que realiza la operación "in-place". >>>>> >>>>> Como curiosidad, había descartado algunas pruebas bizarras con deque, >>>>> pero muestra lo increiblemente rápido que puede llegar a ser: >>>>> >>>>> d=deque(l) >>>>> >>>>> %timeit d.rotate(-i-1);d.extendleft([d.popleft() for _ in >>>>> range(j-i)]);d.rotate(i+1) >>>>> 10 loops, best of 3: 29.8 ms per loop >>>>> >>>>> Es la misma operación que l[i+1:j+1]=l2[j:i:-1], primero rotando la >>>>> lista hacia la izquierda, añadiendo la lista invertida al principio y >>>>> volviendo a rotar hacia la derecha para mantener el mismo orden. >>>>> >>>>> >>>>> -- >>>>> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >>>>> http://ch3m4.org/blog >>>>> Buscador Python Hispano: http://ch3m4.org/python-es >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en 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/ >>> >>> >>> >>> -- >>> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >>> http://ch3m4.org/blog >>> Buscador Python Hispano: http://ch3m4.org/python-es >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ > > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From ailurus.fulgens en hotmail.com Thu Aug 8 06:31:08 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Wed, 7 Aug 2013 23:31:08 -0500 Subject: [Python-es] como leer una tuberia? Message-ID: hola. otra ves con una pregunta rara.como hago que mi script lea los datos que recibe por una tubería?intente algo como print raw_input() y luego hice $: echo "probando" | python script.py probandofunciona pero cuando lo hago con un archivo solo imprime la primera linea. cat archivoConVariasLineas | python script.py si lo intento con un bucle tengo problemas con las lineas vaciasdebe haber alguna forma mas adecuada de hacer esto. tienen alguna sugerencia? gracias ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From razpeitia en gmail.com Thu Aug 8 06:48:41 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Wed, 7 Aug 2013 23:48:41 -0500 Subject: [Python-es] como leer una tuberia? In-Reply-To: References: Message-ID: # main.py try: while True: print raw_input() except EOFError: pass A me funciono bien. cat input.txt | python main.py El 7 de agosto de 2013 23:31, xiao xiong mao panda rojo escribió: > > hola. otra ves con una pregunta rara. > como hago que mi script lea los datos que recibe por una tubería? > intente algo como > > print raw_input() > > y luego hice > $: echo "probando" | python script.py > probando > funciona pero cuando lo hago con un archivo solo imprime la primera linea. > cat archivoConVariasLineas | python script.py > > si lo intento con un bucle tengo problemas con las lineas vacias > debe haber alguna forma mas adecuada de hacer esto. > > tienen alguna sugerencia? gracias > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From ailurus.fulgens en hotmail.com Thu Aug 8 07:05:31 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Thu, 8 Aug 2013 00:05:31 -0500 Subject: [Python-es] como leer una tuberia? In-Reply-To: References: , Message-ID: doh!gracias. funciono bien aqui.me estaba complicando la vida en vano XD > Date: Wed, 7 Aug 2013 23:48:41 -0500 > From: razpeitia en gmail.com > To: python-es en python.org > Subject: Re: [Python-es] como leer una tuberia? > > # main.py > try: > while True: > print raw_input() > except EOFError: > pass > > A me funciono bien. > cat input.txt | python main.py > > > El 7 de agosto de 2013 23:31, xiao xiong mao panda rojo > escribió: > > > > hola. otra ves con una pregunta rara. > > como hago que mi script lea los datos que recibe por una tubería? > > intente algo como > > > > print raw_input() > > > > y luego hice > > $: echo "probando" | python script.py > > probando > > funciona pero cuando lo hago con un archivo solo imprime la primera linea. > > cat archivoConVariasLineas | python script.py > > > > si lo intento con un bucle tengo problemas con las lineas vacias > > debe haber alguna forma mas adecuada de hacer esto. > > > > tienen alguna sugerencia? gracias > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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: From chrids en gmail.com Wed Aug 7 19:59:19 2013 From: chrids en gmail.com (=?iso-8859-1?Q?Christopher_Mej=EDa?=) Date: Wed, 7 Aug 2013 11:59:19 -0600 Subject: [Python-es] =?iso-8859-1?q?Varios_dominios_en_una_aplicaci=F3n?= In-Reply-To: References: <08716B9A-D297-4A13-B44C-D080FE361F6A@gmail.com> Message-ID: <7A71F0E6-2F7A-4A8D-A10A-B7E02A52C7F6@gmail.com> Hombre Carlos que eso sería de demasiada ayuda, te lo quedaré debiendo de por vida jeje, esto de apache no se me da demasiado, el servidor es ubuntu server, y la versión es: Server version: Apache/2.2.22 (Ubuntu) Server built: Nov 8 2012 21:37:37 Y mi archivo https.conf tiene: > /etc/apache2$ cat httpd.conf ServerAdmin chrids en gmail.com SSLCertificateFile /etc/apache2/ssl/dominio1.com.crt SSLCertificateKeyFile /etc/apache2/ssl/dominio1.com.key SSLCACertificateFile /etc/apache2/ssl/dominio1.com.int.crt WSGIScriptAlias / /var/www/live/dominio1/dominio1/wsgi.py WSGIPythonPath /var/www/live/dominio1 Alias /static/ /var/www/live/dominio1/dominio1/static/ Alias /media/ /var/www/live/dominio1/dominio1/media/ Order deny,allow Allow from all Order deny,allow Allow from all Order deny,allow Allow from all ErrorLog /etc/apache2/errors/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined En serio que te agradezco Saludos? On Aug 7, 2013, at 11:14 AM, Carlos Latorre wrote: > Si usas Apache puedes usar dominios virtuales, > Tendrás un DocumentRoot para cada dominio especial, y los dominios que no recojas explicitamente irán al DocumentRoot del dominio por defecto. > Si quieres puedo ayudarte con la configuración, pero para ello necesito saber cual es la versión de Apache que estas usando. > > Saludos, > Carlos > > El 7 de agosto de 2013 12:42, Christopher Mejía escribió: > Gracias por tu respuesta, después de mucho leer creo que el gran problema radicaría en hacer el "wildcard" ósea que los demás dominios no declarados respondan a una dirección sin perder su "identidad" y que además no haya que hacer un registro por dominio, de momento uso apache, y va bastante bien, pero podría considerar cambiarme? > > Saludos? > > On Aug 7, 2013, at 4:32 AM, G V wrote: > >> depende del servidor que uses (apache, nginx, etc.) >> >> en nginx sería cuestión de usar un alias para el segundo dominio que pusiera como root la segunda raiz. >> >> si estas uasndo algun otro servidor, será cuestion de mirar la doc. correspondiente >> >> >> 2013/8/6 Christopher Mejía >> Hola comunidad, tengo una duda sobre como utilizar correctamente varios dominios en una aplicación, asumamos el siguiente escenario: >> >> dominio1.com apunta a / que es la raíz de la aplicación >> dominio2.com apunta a /dominio2.com/ >> >> En /dominio2.com/ tenemos varias urls estilo {% url 'pruebas:prueba1' test.id %} que apunta a dominio1.com/dominio2.com/prueba1/1 por ejemplo >> >> >> Así si visitamos dominio1.com/dominio2.com/ las urls funcionan bien, estas redirigen hacia dominio1.com/dominio2.com/prueba1/1/ pero si lo visitamos desde dominio2.com estas continuan redirigiendo a esa url en lugar de cambiar a dominio2.com/prueba/1/ >> >> Como puedo solucionar esto? >> >> Gracias de antemano? >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ > > > _______________________________________________ > Python-es mailing list > Python-es en 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: From alfredo.riguetti en ptravel.com.uy Wed Aug 7 18:09:02 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Wed, 07 Aug 2013 13:09:02 -0300 Subject: [Python-es] Generadores de GUI URGENTE Message-ID: <5202711E.1090903@ptravel.com.uy> Hola. Estuve viendo el tema de algun generador de codigo poruqe estoiy pogramando en python y wxpython , y no he visto ninguno amigale y el diseño de las ventanas me esta volviendo loco a mano. alguien puede recomendarme alguno bueno y practico. para lo que estoiy usando, muchas gracias a todos. saludos Fefo From kikocorreoso en gmail.com Thu Aug 8 10:42:59 2013 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 8 Aug 2013 10:42:59 +0200 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: <5202711E.1090903@ptravel.com.uy> References: <5202711E.1090903@ptravel.com.uy> Message-ID: El 7 de agosto de 2013 18:09, Alfredo Riguetti < alfredo.riguetti en ptravel.com.uy> escribió: > Hola. > Estuve viendo el tema de algun generador de codigo poruqe estoiy > pogramando en python y wxpython , y no he visto ninguno amigale y el diseño > de las ventanas me esta volviendo loco a mano. > alguien puede recomendarme alguno bueno y practico. para lo que estoiy > usando, muchas gracias a todos. > Creo que no hay ninguno bueno y práctico para wxpython (opinión personal)... :-( Había alguno de pago que tampoco era ninguna maravilla. Quizá puedes probar con gui2py (yo no lo he probado pero el desarrollador anda por esta lista y por la de pyar): http://mail.python.org/pipermail/python-es/2013-May/033677.html Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From joe en joedicastro.com Thu Aug 8 11:12:04 2013 From: joe en joedicastro.com (joe di castro) Date: Thu, 08 Aug 2013 11:12:04 +0200 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: <5202711E.1090903@ptravel.com.uy> References: <5202711E.1090903@ptravel.com.uy> Message-ID: <520360E4.5010708@joedicastro.com> El 07/08/13 18:09, Alfredo Riguetti escribió: > Hola. > Estuve viendo el tema de algun generador de codigo poruqe estoiy > pogramando en python y wxpython , y no he visto ninguno amigale y el > diseño de las ventanas me esta volviendo loco a mano. > alguien puede recomendarme alguno bueno y practico. para lo que estoiy > usando, muchas gracias a todos. > > saludos > Fefo > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Prueba con las ultimas versiones de wxFormBuilder, no esta mal. Las ultimas versiones nightly también exportan código Python. http://sourceforge.net/projects/wxformbuilder/ -- joe di castro http://joedicastro.com From razpeitia en gmail.com Thu Aug 8 18:23:37 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Thu, 8 Aug 2013 11:23:37 -0500 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: <520360E4.5010708@joedicastro.com> References: <5202711E.1090903@ptravel.com.uy> <520360E4.5010708@joedicastro.com> Message-ID: También esta wxglade http://wxglade.sourceforge.net/ http://www.youtube.com/watch?v=W1fDIp4OLns El día 8 de agosto de 2013 04:12, joe di castro escribió: > El 07/08/13 18:09, Alfredo Riguetti escribió: >> Hola. >> Estuve viendo el tema de algun generador de codigo poruqe estoiy >> pogramando en python y wxpython , y no he visto ninguno amigale y el >> diseño de las ventanas me esta volviendo loco a mano. >> alguien puede recomendarme alguno bueno y practico. para lo que estoiy >> usando, muchas gracias a todos. >> >> saludos >> Fefo >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > Prueba con las ultimas versiones de wxFormBuilder, no esta mal. Las > ultimas versiones nightly también exportan código Python. > > http://sourceforge.net/projects/wxformbuilder/ > > -- > joe di castro > http://joedicastro.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/ From maengora en gmail.com Thu Aug 8 18:41:42 2013 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Thu, 8 Aug 2013 11:41:42 -0500 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: References: <5202711E.1090903@ptravel.com.uy> <520360E4.5010708@joedicastro.com> Message-ID: Será que estás buscando el Boa-Constructor que te hace las ventanas con un solo clic? 2013/8/8 Ricardo Azpeitia Pimentel > También esta wxglade > > http://wxglade.sourceforge.net/ > http://www.youtube.com/watch?v=W1fDIp4OLns > > El día 8 de agosto de 2013 04:12, joe di castro > escribió: > > El 07/08/13 18:09, Alfredo Riguetti escribió: > >> Hola. > >> Estuve viendo el tema de algun generador de codigo poruqe estoiy > >> pogramando en python y wxpython , y no he visto ninguno amigale y el > >> diseño de las ventanas me esta volviendo loco a mano. > >> alguien puede recomendarme alguno bueno y practico. para lo que estoiy > >> usando, muchas gracias a todos. > >> > >> saludos > >> Fefo > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > > > > Prueba con las ultimas versiones de wxFormBuilder, no esta mal. Las > > ultimas versiones nightly también exportan código Python. > > > > http://sourceforge.net/projects/wxformbuilder/ > > > > -- > > joe di castro > > http://joedicastro.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/ > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Manuel Enrique González Ramírez http://maengora.blogspot.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From oscar.carballal en gmail.com Thu Aug 8 20:20:24 2013 From: oscar.carballal en gmail.com (Oscar Carballal) Date: Thu, 8 Aug 2013 20:20:24 +0200 Subject: [Python-es] [OT] Desarrollador backend para orderbird.com en Berlin Message-ID: Os pasteo esta oferta de trabajo que me llego hoy a mi cuenta de LinkedIn por is a alguien le interesa. La persona de contacto es Anian Schmitt en Linkedin. On 08/08/13 8:29 AM, Anian Schmitt wrote: -------------------- Hi Oscar, yes, it would be great if you can spread the word. I wish you the best for your work! I send you a short description of the job offer: PYTHON Developer The company is called Orderbird AG (orderbird.com). It is a bigger Start-Up with 40 employees. They offering a cashiersystem as a Saas version. Though, they delivering the Software in a package with iPad, credit card reader, etc. So, you receive for few money a whole cash-system. Their clients are restaurants. In the restaurant the clients can order with the iphone and you can pay with the credit card. Furthermore, you can evaluate your orders, etc. (kind of small bussiness analysis) Have look on the homepage. They are situated in a hip quarter of Berlin. They currently look for two Backend developer (Python) and one iOS-Developer. Requisitions for the Developer: - At least 2 years experience in developing of python - English is a must have - being communicative and open - They are using an agil methodic (Mixture Kanban/Scrum). So, would be good if you have already some experience in this field The positions are open right now. If you are interested, please send me your CV/Profile, your salary expectation and your skype name (for a first talk). Best regards, Anian Currently a friendly bigger start-up, orderbird .com, is looking for a python developer. It develops Saas services for restaurants. They are located in a really nice area of Berlin. It is no spam! It is meant seriously. If you are interested? Contact me or add me! -- Oscar Carballal Prego Software developer oscar.carballal en gmail.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ciracusa en gmail.com Thu Aug 8 20:13:26 2013 From: ciracusa en gmail.com (ciracusa) Date: Thu, 08 Aug 2013 15:13:26 -0300 Subject: [Python-es] Consulta para iniciarme en Python Message-ID: <5203DFC6.5040206@gmail.com> Hola Lista. Este es mi primer mensaje en la lista por lo cual me presento brevemente. Mi nombre es Duilio y estoy con ganas de aprender algo de Python, ya que he visto solo buenas opiniones de otros desarrolladores. La consulta que quisiera hacerles, y espero puedan ayudarme es la siguiente: En el plazo de 2 meses debo armar un pequeño Sistema donde se carguen unos datos en un formulario, y luego de grabar estos datos en una base de datos generar un pdf con un código de barras. Les consulto, podrían darme una breve indicación de lecturas y ejemplos como para empezar a hacer algunas pruebas puntuales. Desde ya muchas gracias a todos! Saludos! From stvzito en gmail.com Thu Aug 8 20:52:18 2013 From: stvzito en gmail.com (Manuel A. Estevez Fernandez) Date: Thu, 8 Aug 2013 13:52:18 -0500 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: <5203DFC6.5040206@gmail.com> References: <5203DFC6.5040206@gmail.com> Message-ID: Tienes de decidir si lo harás Web o aplicación de escritorio. En cuanto a la parte del código de barras he utiliza reportlab para ello. http://tante.cc/2008/11/18/howto-generate-barcodes-in-python-with-reportlab/ ahí hay un ejemplo. Saludos y éxito en tu proyecto. by: ISC. Manuel Alejandro Estévez Fernández El 8 de agosto de 2013 13:13, ciracusa escribió: > Hola Lista. > > Este es mi primer mensaje en la lista por lo cual me presento brevemente. > > Mi nombre es Duilio y estoy con ganas de aprender algo de Python, ya que > he visto solo buenas opiniones de otros desarrolladores. > > La consulta que quisiera hacerles, y espero puedan ayudarme es la > siguiente: > > En el plazo de 2 meses debo armar un pequeño Sistema donde se carguen unos > datos en un formulario, y luego de grabar estos datos en una base de datos > generar un pdf con un código de barras. > > Les consulto, podrían darme una breve indicación de lecturas y ejemplos > como para empezar a hacer algunas pruebas puntuales. > > Desde ya muchas gracias a todos! > > Saludos! > > > ______________________________**_________________ > 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: From ciracusa en gmail.com Thu Aug 8 20:24:11 2013 From: ciracusa en gmail.com (ciracusa) Date: Thu, 08 Aug 2013 15:24:11 -0300 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: References: <5203DFC6.5040206@gmail.com> Message-ID: <5203E24B.1060308@gmail.com> Manuel, gracias por tu respuesta. Olvidé decirlo, es web! Saludos. On 08/08/13 15:52, Manuel A. Estevez Fernandez wrote: > Tienes de decidir si lo harás Web o aplicación de escritorio. > > En cuanto a la parte del código de barras he utiliza reportlab para > ello. > http://tante.cc/2008/11/18/howto-generate-barcodes-in-python-with-reportlab/ > ahí hay un ejemplo. > > Saludos y éxito en tu proyecto. > > by: > > ISC. Manuel Alejandro Estévez Fernández > > > > El 8 de agosto de 2013 13:13, ciracusa > escribió: > > Hola Lista. > > Este es mi primer mensaje en la lista por lo cual me presento > brevemente. > > Mi nombre es Duilio y estoy con ganas de aprender algo de Python, > ya que he visto solo buenas opiniones de otros desarrolladores. > > La consulta que quisiera hacerles, y espero puedan ayudarme es la > siguiente: > > En el plazo de 2 meses debo armar un pequeño Sistema donde se > carguen unos datos en un formulario, y luego de grabar estos datos > en una base de datos generar un pdf con un código de barras. > > Les consulto, podrían darme una breve indicación de lecturas y > ejemplos como para empezar a hacer algunas pruebas puntuales. > > Desde ya muchas gracias a todos! > > Saludos! > > > _______________________________________________ > Python-es mailing list > Python-es en 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: From diego.uribe.gamez en gmail.com Thu Aug 8 21:30:15 2013 From: diego.uribe.gamez en gmail.com (Diego Uribe Gamez) Date: Thu, 8 Aug 2013 14:30:15 -0500 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: References: <5203DFC6.5040206@gmail.com> Message-ID: en dos mese lo podes hacer sin problemas, en mi caso y usando solo python seria con wsgi y reportlab tipo MVC, pero si lo quieres rápido usaría django y reportlab esto en mi caso. Saludos El 8 de agosto de 2013 13:52, Manuel A. Estevez Fernandez escribió: > Tienes de decidir si lo harás Web o aplicación de escritorio. > > En cuanto a la parte del código de barras he utiliza reportlab para ello. > http://tante.cc/2008/11/18/howto-generate-barcodes-in-python-with-reportlab/ > ahí hay un ejemplo. > > Saludos y éxito en tu proyecto. > > by: > > ISC. Manuel Alejandro Estévez Fernández > > > > El 8 de agosto de 2013 13:13, ciracusa escribió: > > Hola Lista. >> >> Este es mi primer mensaje en la lista por lo cual me presento brevemente. >> >> Mi nombre es Duilio y estoy con ganas de aprender algo de Python, ya que >> he visto solo buenas opiniones de otros desarrolladores. >> >> La consulta que quisiera hacerles, y espero puedan ayudarme es la >> siguiente: >> >> En el plazo de 2 meses debo armar un pequeño Sistema donde se carguen >> unos datos en un formulario, y luego de grabar estos datos en una base de >> datos generar un pdf con un código de barras. >> >> Les consulto, podrían darme una breve indicación de lecturas y ejemplos >> como para empezar a hacer algunas pruebas puntuales. >> >> Desde ya muchas gracias a todos! >> >> Saludos! >> >> >> ______________________________**_________________ >> Python-es mailing list >> Python-es en 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/ > > -- *Diego Alonso Uribe Gamez* ------------------------------ *Desarrollador web* Twitter: @DiegoUG Google+: http://gplus.to/diegoug ------------------------------ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From aroldo.palacios en gmail.com Thu Aug 8 21:36:18 2013 From: aroldo.palacios en gmail.com (Aroldo Palacios) Date: Thu, 8 Aug 2013 13:36:18 -0600 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: References: <5203DFC6.5040206@gmail.com> Message-ID: <5A2A3069-8B18-48DC-9954-8360854C0F8F@gmail.com> Sugiero Django con reportlab o PyPDF. Enviado desde mi iPhone El 8/08/2013, a las 01:30 p.m., Diego Uribe Gamez escribió: > en dos mese lo podes hacer sin problemas, en mi caso y usando solo python seria con wsgi y reportlab tipo MVC, pero si lo quieres rápido usaría django y reportlab > > esto en mi caso. > > Saludos > > > El 8 de agosto de 2013 13:52, Manuel A. Estevez Fernandez escribió: >> Tienes de decidir si lo harás Web o aplicación de escritorio. >> >> En cuanto a la parte del código de barras he utiliza reportlab para ello. http://tante.cc/2008/11/18/howto-generate-barcodes-in-python-with-reportlab/ >> ahí hay un ejemplo. >> >> Saludos y éxito en tu proyecto. >> >> by: >> >> ISC. Manuel Alejandro Estévez Fernández >> >> >> >> El 8 de agosto de 2013 13:13, ciracusa escribió: >> >>> Hola Lista. >>> >>> Este es mi primer mensaje en la lista por lo cual me presento brevemente. >>> >>> Mi nombre es Duilio y estoy con ganas de aprender algo de Python, ya que he visto solo buenas opiniones de otros desarrolladores. >>> >>> La consulta que quisiera hacerles, y espero puedan ayudarme es la siguiente: >>> >>> En el plazo de 2 meses debo armar un pequeño Sistema donde se carguen unos datos en un formulario, y luego de grabar estos datos en una base de datos generar un pdf con un código de barras. >>> >>> Les consulto, podrían darme una breve indicación de lecturas y ejemplos como para empezar a hacer algunas pruebas puntuales. >>> >>> Desde ya muchas gracias a todos! >>> >>> Saludos! >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ > > > > -- > Diego Alonso Uribe Gamez > Desarrollador web > Twitter: @DiegoUG > Google+: http://gplus.to/diegoug > > _______________________________________________ > 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: From ciracusa en gmail.com Thu Aug 8 21:12:34 2013 From: ciracusa en gmail.com (ciracusa) Date: Thu, 08 Aug 2013 16:12:34 -0300 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: <5A2A3069-8B18-48DC-9954-8360854C0F8F@gmail.com> References: <5203DFC6.5040206@gmail.com> <5A2A3069-8B18-48DC-9954-8360854C0F8F@gmail.com> Message-ID: <5203EDA2.2050000@gmail.com> Gracias Diego, y Aroldo. Mientras voy leyendo que es cada cosa que me sugieren, el tema de la base de datos que me aconsejan? Muchas Gracias. Saludos. On 08/08/13 16:36, Aroldo Palacios wrote: > Sugiero Django con reportlab o PyPDF. > > Enviado desde mi iPhone > > El 8/08/2013, a las 01:30 p.m., Diego Uribe Gamez > > > escribió: > >> en dos mese lo podes hacer sin problemas, en mi caso y usando solo >> python seria con wsgi y reportlab tipo MVC, pero si lo >> quieres rápido usaría django y reportlab >> >> esto en mi caso. >> >> Saludos >> >> >> El 8 de agosto de 2013 13:52, Manuel A. Estevez Fernandez >> > escribió: >> >> Tienes de decidir si lo harás Web o aplicación de escritorio. >> >> En cuanto a la parte del código de barras he utiliza reportlab >> para ello. >> http://tante.cc/2008/11/18/howto-generate-barcodes-in-python-with-reportlab/ >> ahí hay un ejemplo. >> >> Saludos y éxito en tu proyecto. >> >> by: >> >> ISC. Manuel Alejandro Estévez Fernández >> >> >> >> El 8 de agosto de 2013 13:13, ciracusa > > escribió: >> >> Hola Lista. >> >> Este es mi primer mensaje en la lista por lo cual me presento >> brevemente. >> >> Mi nombre es Duilio y estoy con ganas de aprender algo de >> Python, ya que he visto solo buenas opiniones de otros >> desarrolladores. >> >> La consulta que quisiera hacerles, y espero puedan ayudarme >> es la siguiente: >> >> En el plazo de 2 meses debo armar un pequeño Sistema donde se >> carguen unos datos en un formulario, y luego de grabar estos >> datos en una base de datos generar un pdf con un código de >> barras. >> >> Les consulto, podrían darme una breve indicación de lecturas >> y ejemplos como para empezar a hacer algunas pruebas puntuales. >> >> Desde ya muchas gracias a todos! >> >> Saludos! >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ >> >> >> >> >> -- >> *Diego Alonso Uribe Gamez* >> ------------------------------------------------------------------------ >> >> *Desarrollador web* >> >> Twitter: @DiegoUG >> >> Google+: http://gplus.to/diegoug >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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: From angel en angel-alvarez.com.ar Thu Aug 8 23:08:49 2013 From: angel en angel-alvarez.com.ar (Angel Claudio Alvarez) Date: Thu, 8 Aug 2013 18:08:49 -0300 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: <5203E24B.1060308@gmail.com> References: <5203DFC6.5040206@gmail.com> <5203E24B.1060308@gmail.com> Message-ID: <20130808180849.bb848e9c733ef9ec5bf864ea@angel-alvarez.com.ar> El Thu, 08 Aug 2013 15:24:11 -0300 ciracusa escribió: > Manuel, gracias por tu respuesta. > > Olvidé decirlo, es web! > usa django > Saludos. > > > On 08/08/13 15:52, Manuel A. Estevez Fernandez wrote: > > Tienes de decidir si lo harás Web o aplicación de escritorio. > > > > En cuanto a la parte del código de barras he utiliza reportlab para > > ello. > > http://tante.cc/2008/11/18/howto-generate-barcodes-in-python-with-reportlab/ > > ahí hay un ejemplo. > > > > Saludos y éxito en tu proyecto. > > > > by: > > > > ISC. Manuel Alejandro Estévez Fernández > > > > > > > > El 8 de agosto de 2013 13:13, ciracusa > > escribió: > > > > Hola Lista. > > > > Este es mi primer mensaje en la lista por lo cual me presento > > brevemente. > > > > Mi nombre es Duilio y estoy con ganas de aprender algo de Python, > > ya que he visto solo buenas opiniones de otros desarrolladores. > > > > La consulta que quisiera hacerles, y espero puedan ayudarme es la > > siguiente: > > > > En el plazo de 2 meses debo armar un pequeño Sistema donde se > > carguen unos datos en un formulario, y luego de grabar estos datos > > en una base de datos generar un pdf con un código de barras. > > > > Les consulto, podrían darme una breve indicación de lecturas y > > ejemplos como para empezar a hacer algunas pruebas puntuales. > > > > Desde ya muchas gracias a todos! > > > > Saludos! > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ > > > -- Angel Claudio Alvarez From ciracusa en gmail.com Fri Aug 9 00:16:24 2013 From: ciracusa en gmail.com (ciracusa) Date: Thu, 08 Aug 2013 19:16:24 -0300 Subject: [Python-es] Consulta para iniciarme en Python In-Reply-To: <20130808180849.bb848e9c733ef9ec5bf864ea@angel-alvarez.com.ar> References: <5203DFC6.5040206@gmail.com> <5203E24B.1060308@gmail.com> <20130808180849.bb848e9c733ef9ec5bf864ea@angel-alvarez.com.ar> Message-ID: <520418B8.9040501@gmail.com> On 08/08/13 18:08, Angel Claudio Alvarez wrote: > El Thu, 08 Aug 2013 15:24:11 -0300 > ciracusa escribió: > > >> Manuel, gracias por tu respuesta. >> >> Olvidé decirlo, es web! >> >> > usa django > > Gracias Claudio. Saludos. From jza en oooes.org Fri Aug 9 03:17:13 2013 From: jza en oooes.org (Alexandro Colorado) Date: Thu, 8 Aug 2013 20:17:13 -0500 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: References: <5202711E.1090903@ptravel.com.uy> <520360E4.5010708@joedicastro.com> Message-ID: Lo que necesitas es un diseñador de GUIs, que usualmente te resulta en un XML que serializas con python. Este es uno: http://www.wxdesigner-software.de/ 2013/8/8 Manuel Enrique González Ramírez > Será que estás buscando el Boa-Constructor que te hace las ventanas con un > solo clic? > > > 2013/8/8 Ricardo Azpeitia Pimentel > >> También esta wxglade >> >> http://wxglade.sourceforge.net/ >> http://www.youtube.com/watch?v=W1fDIp4OLns >> >> El día 8 de agosto de 2013 04:12, joe di castro >> escribió: >> > El 07/08/13 18:09, Alfredo Riguetti escribió: >> >> Hola. >> >> Estuve viendo el tema de algun generador de codigo poruqe estoiy >> >> pogramando en python y wxpython , y no he visto ninguno amigale y el >> >> diseño de las ventanas me esta volviendo loco a mano. >> >> alguien puede recomendarme alguno bueno y practico. para lo que estoiy >> >> usando, muchas gracias a todos. >> >> >> >> saludos >> >> Fefo >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> http://mail.python.org/mailman/listinfo/python-es >> >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> > >> > Prueba con las ultimas versiones de wxFormBuilder, no esta mal. Las >> > ultimas versiones nightly también exportan código Python. >> > >> > http://sourceforge.net/projects/wxformbuilder/ >> > >> > -- >> > joe di castro >> > http://joedicastro.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/ >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Manuel Enrique González Ramírez > http://maengora.blogspot.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/ > > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nina.valdivia en gmail.com Thu Aug 8 15:32:11 2013 From: nina.valdivia en gmail.com (Nina Valdivia) Date: Thu, 8 Aug 2013 09:32:11 -0400 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: <5202711E.1090903@ptravel.com.uy> References: <5202711E.1090903@ptravel.com.uy> Message-ID: Hola Puedes probar BoaConstructor Saludos cordiales Nina Valdivia Enviado desde mi iPhone El 07-08-2013, a las 12:09, Alfredo Riguetti escribió: > Hola. > Estuve viendo el tema de algun generador de codigo poruqe estoiy pogramando en python y wxpython , y no he visto ninguno amigale y el diseño de las ventanas me esta volviendo loco a mano. > alguien puede recomendarme alguno bueno y practico. para lo que estoiy usando, muchas gracias a todos. > > saludos > Fefo > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From clatorreg en dphuesca.es Fri Aug 9 16:29:48 2013 From: clatorreg en dphuesca.es (Carlos Latorre) Date: Fri, 9 Aug 2013 16:29:48 +0200 Subject: [Python-es] =?iso-8859-1?q?Varios_dominios_en_una_aplicaci=F3n?= In-Reply-To: <7A71F0E6-2F7A-4A8D-A10A-B7E02A52C7F6@gmail.com> References: <08716B9A-D297-4A13-B44C-D080FE361F6A@gmail.com> <7A71F0E6-2F7A-4A8D-A10A-B7E02A52C7F6@gmail.com> Message-ID: Perdona que no te haya respondido antes, pero es que me pillas de vacaciones. Parece, por el contenido del fichero httpd.conf, que tu apache responde a HTTPS por el pueto 443, si es así poco se puede hacer apache, salvo que lo configuremos para atender por distinta IP o distinto puerto a cada dominio. En este caso deberías distinguir entre dominios a nivel de aplicación. Algunos frameworks están preparados para hacerlo. Si en cambio no necesitas conexión segura, y tu apache responde por HTTP, debes configurar los distintos dominios en el directorio $APACHE_HOME/sites-available, donde tendrás un "default" con el dominio por defecto (cuando no este configurado especialmente), y que puedes usar como modelo, y allí debes generar un fichero con la configuración de cada dominio que quieras particularizar. Después, y para activarlo, debes hacer, como "root" # a2ensite # service apache2 reload Esto es a grandes rasgos, si quieres ayuda mas concreta tendrás que darme mas datos, y ya sería mejor mediante correo privado, Saludos, Carlos L. El 7 de agosto de 2013 19:59, Christopher Mejía escribió: > Hombre Carlos que eso sería de demasiada ayuda, te lo quedaré debiendo de > por vida jeje, esto de apache no se me da demasiado, el servidor es ubuntu > server, y la versión es: > > Server version: Apache/2.2.22 (Ubuntu) > Server built: Nov 8 2012 21:37:37 > > Y mi archivo https.conf tiene: > > > /etc/apache2$ cat httpd.conf > > > > ServerAdmin chrids en gmail.com > > SSLCertificateFile /etc/apache2/ssl/dominio1.com.crt > SSLCertificateKeyFile /etc/apache2/ssl/dominio1.com.key > SSLCACertificateFile /etc/apache2/ssl/dominio1.com.int.crt > > WSGIScriptAlias / /var/www/live/dominio1/dominio1/wsgi.py > WSGIPythonPath /var/www/live/dominio1 > > Alias /static/ /var/www/live/dominio1/dominio1/static/ > Alias /media/ /var/www/live/dominio1/dominio1/media/ > > > > Order deny,allow > Allow from all > > > > > > Order deny,allow > Allow from all > > > > Order deny,allow > Allow from all > > > > ErrorLog /etc/apache2/errors/error.log > > # Possible values include: debug, info, notice, warn, error, crit, > # alert, emerg. > LogLevel warn > > CustomLog ${APACHE_LOG_DIR}/access.log combined > > En serio que te agradezco > > Saludos? > > On Aug 7, 2013, at 11:14 AM, Carlos Latorre wrote: > > Si usas Apache puedes usar dominios virtuales, > Tendrás un DocumentRoot para cada dominio especial, y los dominios que no > recojas explicitamente irán al DocumentRoot del dominio por defecto. > Si quieres puedo ayudarte con la configuración, pero para ello necesito > saber cual es la versión de Apache que estas usando. > > Saludos, > Carlos > > El 7 de agosto de 2013 12:42, Christopher Mejía escribió: > >> Gracias por tu respuesta, después de mucho leer creo que el gran problema >> radicaría en hacer el "wildcard" ósea que los demás dominios no declarados >> respondan a una dirección sin perder su "identidad" y que además no haya >> que hacer un registro por dominio, de momento uso apache, y va bastante >> bien, pero podría considerar cambiarme? >> >> Saludos? >> >> On Aug 7, 2013, at 4:32 AM, G V wrote: >> >> depende del servidor que uses (apache, nginx, etc.) >> >> en nginx sería cuestión de usar un alias para el segundo dominio que >> pusiera como root la segunda raiz. >> >> si estas uasndo algun otro servidor, será cuestion de mirar la doc. >> correspondiente >> >> >> 2013/8/6 Christopher Mejía >> >>> Hola comunidad, tengo una duda sobre como utilizar correctamente varios >>> dominios en una aplicación, asumamos el siguiente escenario: >>> >>> dominio1.com apunta a / que es la raíz de la aplicación >>> dominio2.com apunta a /dominio2.com/ >>> >>> En /dominio2.com/ tenemos varias urls estilo {% url 'pruebas:prueba1' >>> test.id %} que apunta a dominio1.com/dominio2.com/prueba1/1 por ejemplo >>> >>> >>> Así si visitamos dominio1.com/dominio2.com/ las urls funcionan bien, >>> estas redirigen hacia dominio1.com/dominio2.com/prueba1/1/ pero si lo >>> visitamos desde dominio2.com estas continuan redirigiendo a esa url en >>> lugar de cambiar a dominio2.com/prueba/1/ >>> >>> Como puedo solucionar esto? >>> >>> Gracias de antemano? >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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/ > > > > _______________________________________________ > 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: From clatorreg en dphuesca.es Fri Aug 9 16:44:44 2013 From: clatorreg en dphuesca.es (Carlos Latorre) Date: Fri, 9 Aug 2013 16:44:44 +0200 Subject: [Python-es] como leer una tuberia? In-Reply-To: References: Message-ID: Algo como: import sys for linea in sys.stdin.readlines(): print linea tal vez te de mas juego. Saludos, Carlos L. El 8 de agosto de 2013 07:05, xiao xiong mao panda rojo < ailurus.fulgens en hotmail.com> escribió: > doh! > gracias. funciono bien aqui. > me estaba complicando la vida en vano XD > > > Date: Wed, 7 Aug 2013 23:48:41 -0500 > > From: razpeitia en gmail.com > > To: python-es en python.org > > Subject: Re: [Python-es] como leer una tuberia? > > > > > # main.py > > try: > > while True: > > print raw_input() > > except EOFError: > > pass > > > > A me funciono bien. > > cat input.txt | python main.py > > > > > > El 7 de agosto de 2013 23:31, xiao xiong mao panda rojo > > escribió: > > > > > > hola. otra ves con una pregunta rara. > > > como hago que mi script lea los datos que recibe por una tubería? > > > intente algo como > > > > > > print raw_input() > > > > > > y luego hice > > > $: echo "probando" | python script.py > > > probando > > > funciona pero cuando lo hago con un archivo solo imprime la primera > linea. > > > cat archivoConVariasLineas | python script.py > > > > > > si lo intento con un bucle tengo problemas con las lineas vacias > > > debe haber alguna forma mas adecuada de hacer esto. > > > > > > tienen alguna sugerencia? gracias > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en 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/ > > _______________________________________________ > 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: From ailurus.fulgens en hotmail.com Sat Aug 10 06:08:50 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Fri, 9 Aug 2013 23:08:50 -0500 Subject: [Python-es] como leer una tuberia? In-Reply-To: References: , , , Message-ID: se ve mas limpio. graciasgracias chic en s Date: Fri, 9 Aug 2013 16:44:44 +0200 From: clatorreg en dphuesca.es To: python-es en python.org Subject: Re: [Python-es] como leer una tuberia? Algo como: import sys for linea in sys.stdin.readlines(): print linea tal vez te de mas juego. Saludos, Carlos L. El 8 de agosto de 2013 07:05, xiao xiong mao panda rojo escribió: doh!gracias. funciono bien aqui.me estaba complicando la vida en vano XD > Date: Wed, 7 Aug 2013 23:48:41 -0500 > From: razpeitia en gmail.com > To: python-es en python.org > Subject: Re: [Python-es] como leer una tuberia? > > # main.py > try: > while True: > print raw_input() > except EOFError: > pass > > A me funciono bien. > cat input.txt | python main.py > > > El 7 de agosto de 2013 23:31, xiao xiong mao panda rojo > escribió: > > > > hola. otra ves con una pregunta rara. > > como hago que mi script lea los datos que recibe por una tubería? > > intente algo como > > > > print raw_input() > > > > y luego hice > > $: echo "probando" | python script.py > > probando > > funciona pero cuando lo hago con un archivo solo imprime la primera linea. > > cat archivoConVariasLineas | python script.py > > > > si lo intento con un bucle tengo problemas con las lineas vacias > > debe haber alguna forma mas adecuada de hacer esto. > > > > tienen alguna sugerencia? gracias > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ _______________________________________________ Python-es mailing list Python-es en 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: From caustico.acustico en gmail.com Fri Aug 9 22:10:13 2013 From: caustico.acustico en gmail.com (=?ISO-8859-1?Q?Ac=FAstico_C=E1ustico?=) Date: Fri, 9 Aug 2013 15:10:13 -0500 Subject: [Python-es] Fwd: Ajuste de valores en el eje x matplotlib In-Reply-To: References: Message-ID: Hola a Tod en s Estoy tratando de graficar una forma de onda con matplotlib, pero pyplot me pone por defecto en el eje x el número de muestras del audio, la idea es que el eje x aparezca en segundos, en este caso e importado un audio llamado "sax1.wav" que es un audio en estéreo a 16 bits y 44100Hz de frecuencia de muestreo, sonido_entrada= wavfile.read("sax1.wav") freq_sampleo= sonido_entrada[0] # a continuación separo los canales L y R y los guardo en listas diferentes. l_mas_r = sonido_entrada[1] canal_l = l_mas_r[:,0] canal_r = l_mas_r[:,1] # ahora establezco un arange desde 0 hasta la longitud del audio, esto da # como resultado el número de muestras que tiene el audio longitud = np.arange(0,len(l_mas_r)) print longitud # después calculo el tiempo en segundos tomando la frecuencia de muestreo y # el número de muestras del audio segundos = max(longitud)/float(freq_sampleo) print segundos # GRAFICACIÓN # Deseo graficar cada canal en un subplot diferente. # La línea plt.xticks(np.arange(segundos)) es mi intento por graficar el eje x en # segundos mas no en nro. de muestras plt.subplots_adjust(hspace=.1) plt.subplot(211) # plt.xticks(np.arange(segundos)) plt.plot(longitud,canal_l) plt.xlim(min(longitud),max(longitud)) plt.subplot(212) plt.ticklabel_format(style='sci', axis='x', scilimits=(0,0)) plt.plot(longitud,canal_r) plt.xlim(min(longitud),max(longitud)) plt.show() Como se puede observar estoy tratando de graficar el eje x en segundos y no en nro. de muestras, alguno conoce la forma gen'erica de hacerlo, es decir, quiero que este c'odigo funcione para diferentes audios, por eso no lo hago con los xticks de este modo: xticks([valores,de,x], [r'$valores$',r'$de$',r'$X$']) Gracias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From unab99 en gmail.com Fri Aug 9 22:38:36 2013 From: unab99 en gmail.com (Jairo Edinson Bermudez Sandoval) Date: Fri, 9 Aug 2013 15:38:36 -0500 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: References: <5202711E.1090903@ptravel.com.uy> Message-ID: Boa constructor... es el mas amigable. El 8 de agosto de 2013 08:32, Nina Valdivia escribió: > Hola > Puedes probar BoaConstructor > > Saludos cordiales > Nina Valdivia > Enviado desde mi iPhone > > El 07-08-2013, a las 12:09, Alfredo Riguetti < > alfredo.riguetti en ptravel.com.uy> escribió: > > > Hola. > > Estuve viendo el tema de algun generador de codigo poruqe estoiy > pogramando en python y wxpython , y no he visto ninguno amigale y el diseño > de las ventanas me esta volviendo loco a mano. > > alguien puede recomendarme alguno bueno y practico. para lo que estoiy > usando, muchas gracias a todos. > > > > saludos > > Fefo > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ > -- Att: Jairo Edinson Bermudez Sandoval Ing. Sistemas http://dador33.blogspot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Mon Aug 12 10:19:20 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Mon, 12 Aug 2013 10:19:20 +0200 Subject: [Python-es] Fwd: Ajuste de valores en el eje x matplotlib In-Reply-To: References: Message-ID: 2013/8/9 Acústico Cáustico : > Como se puede observar estoy tratando de graficar el eje x en segundos y no > en nro. de muestras, alguno conoce la forma gen'erica de hacerlo, es decir, > quiero que este c'odigo funcione para diferentes audios, por eso no lo hago > con los xticks de este modo: plt.plot(tiempos, canal_l) donde tiempos serían los valores de tiempo para cada muestra. np.linspace(0, segundos, len(canal_l)) From mlacunza en gmail.com Mon Aug 12 14:58:46 2013 From: mlacunza en gmail.com (Mario Lacunza) Date: Mon, 12 Aug 2013 07:58:46 -0500 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: <5202711E.1090903@ptravel.com.uy> References: <5202711E.1090903@ptravel.com.uy> Message-ID: El mejor es wxformbuilder Enviado desde mi Samsung Galaxy S4 El 08/08/2013 02:41, "Alfredo Riguetti" escribió: > Hola. > Estuve viendo el tema de algun generador de codigo poruqe estoiy > pogramando en python y wxpython , y no he visto ninguno amigale y el diseño > de las ventanas me esta volviendo loco a mano. > alguien puede recomendarme alguno bueno y practico. para lo que estoiy > usando, muchas gracias a todos. > > saludos > Fefo > ______________________________**_________________ > 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: From alfredo.riguetti en ptravel.com.uy Mon Aug 12 15:22:42 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Mon, 12 Aug 2013 10:22:42 -0300 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: References: <5202711E.1090903@ptravel.com.uy> Message-ID: <5208E1A2.6010601@ptravel.com.uy> muchas gracias a todos , veo que entre boa-constructor y wxformbuilder esta la cosa. los probare lso 2 y les digo depsues con cual me quedo. gracias a todos. saludos alfredo El 09/08/13 17:38, Jairo Edinson Bermudez Sandoval escribió: > Boa constructor... es el mas amigable. > > > El 8 de agosto de 2013 08:32, Nina Valdivia > escribió: > > Hola > Puedes probar BoaConstructor > > Saludos cordiales > Nina Valdivia > Enviado desde mi iPhone > > El 07-08-2013, a las 12:09, Alfredo Riguetti > > escribió: > > > Hola. > > Estuve viendo el tema de algun generador de codigo poruqe estoiy > pogramando en python y wxpython , y no he visto ninguno amigale y > el diseño de las ventanas me esta volviendo loco a mano. > > alguien puede recomendarme alguno bueno y practico. para lo que > estoiy usando, muchas gracias a todos. > > > > saludos > > Fefo > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ > > > > > -- > Att: > > Jairo Edinson Bermudez Sandoval > Ing. Sistemas > http://dador33.blogspot.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/ -- Alfredo Riguetti Dpto. Informatica Planet Travel HRG Uruguay Rio Negro 1320 piso 1 Montevideo - Uruguay (598) 2900-1514 planettravel en ptravel,com,uy www,planettravel,com,uy Por favor considere su responsabilidad ambiental antes de imprimir este correo - Please consider your environmental responsability before printing this e-mail From esteban en princesa.pri.sld.cu Tue Aug 13 17:31:07 2013 From: esteban en princesa.pri.sld.cu (Luis) Date: Tue, 13 Aug 2013 09:31:07 -0600 Subject: [Python-es] =?iso-8859-15?q?Sobre_la_librer=EDa_curses?= Message-ID: Hola, Estoy retomando una pequeña aplicación que una vez estuve desarrollando con curses. Resulta que quiero mostrar una ventana con opciones de menú y también un reloj. Me parece que lo que necesito es trabajar con el módulo thread ya que el reloj tiene que estar trabajando y por otro lado el menú debe esperar por la opción presionada. Estoy atazcado después de hacer varias modificaciones pero nada por lo que les pido una mano. Bueno, adjunto lo envío para que puedan valorar. -- Saludos, Luis Esteban de Dios Núñez ----------------------------------- CONSULTE la Revista de Ciencias Medicas de Pinar del Rio en Internet www.revcmpinar.sld.cu -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: curses.py Type: application/octet-stream Size: 9649 bytes Desc: no disponible URL: From esteban en princesa.pri.sld.cu Tue Aug 13 17:31:30 2013 From: esteban en princesa.pri.sld.cu (Luis) Date: Tue, 13 Aug 2013 09:31:30 -0600 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: <5208E1A2.6010601@ptravel.com.uy> References: <5202711E.1090903@ptravel.com.uy> <5208E1A2.6010601@ptravel.com.uy> Message-ID: Hola, Aprovecho el hilo para escuchar sugerencias pero para Qt. Existe alguna herramienta RAD o algo parecido que se acerque a las mencionadas para wxPython? -- Saludos, Luis Esteban de Dios Núñez ----------------------------------- CONSULTE la Revista de Ciencias Medicas de Pinar del Rio en Internet www.revcmpinar.sld.cu -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ From kikocorreoso en gmail.com Tue Aug 13 15:55:36 2013 From: kikocorreoso en gmail.com (Kiko) Date: Tue, 13 Aug 2013 15:55:36 +0200 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: References: <5202711E.1090903@ptravel.com.uy> <5208E1A2.6010601@ptravel.com.uy> Message-ID: El 13 de agosto de 2013 17:31, Luis escribió: > Hola, > > Aprovecho el hilo para escuchar sugerencias pero para Qt. > > Existe alguna herramienta RAD o algo parecido que se acerque a las > mencionadas para wxPython? > Las preguntas nuevas deben ir en un hilo nuevo. Eso permite que se puedan buscar de forma más sencilla y rápida. Por tanto, si no te importa, abre un hilo nuevo y respondemos por ese :-) Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alfonsodg en gmail.com Tue Aug 13 16:12:11 2013 From: alfonsodg en gmail.com (Alfonso de la Guarda) Date: Tue, 13 Aug 2013 09:12:11 -0500 Subject: [Python-es] =?iso-8859-1?q?Sobre_la_librer=EDa_curses?= In-Reply-To: References: Message-ID: Hola, Fijate en las líneas: https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default 2995 2996 3047 Este POS lo desarrollé hace unos 12 años, fue mi primera experiencia con Python y aún algunas empresas lo emplean, aunque ahora el código que veo escrito me parece horrible y dejé de hacerle mantenimiento hace buen tiempo atrás.... Saludos, -------------------------------- Alfonso de la Guarda Twitter: @alfonsodg Redes sociales: alfonsodg Telef. 991935157 1024D/B23B24A4 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 2013/8/13 Luis : > Hola, > > Estoy retomando una pequeña aplicación que una vez estuve desarrollando con > curses. > > Resulta que quiero mostrar una ventana con opciones de menú y también un > reloj. > > Me parece que lo que necesito es trabajar con el módulo thread ya que el > reloj tiene que estar trabajando y por otro lado el menú debe esperar por la > opción presionada. > > Estoy atazcado después de hacer varias modificaciones pero nada por lo que > les pido una mano. > > Bueno, adjunto lo envío para que puedan valorar. > > -- > Saludos, > > Luis Esteban de Dios Núñez > > ----------------------------------- > CONSULTE la Revista de Ciencias Medicas > de Pinar del Rio en Internet > www.revcmpinar.sld.cu > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From soft.sirius en gmail.com Tue Aug 13 17:18:23 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Tue, 13 Aug 2013 17:18:23 +0200 Subject: [Python-es] Generadores de GUI URGENTE In-Reply-To: References: <5202711E.1090903@ptravel.com.uy> <5208E1A2.6010601@ptravel.com.uy> Message-ID: Hola, para QT existe una herramienta casi RAD por que casi integra QT Designer, se trata de Eric, que además tiene facilidades como depurar paso a paso la aplicación... http://eric-ide.python-projects.org/ El 13 de agosto de 2013 17:31, Luis escribió: > Hola, > > Aprovecho el hilo para escuchar sugerencias pero para Qt. > > Existe alguna herramienta RAD o algo parecido que se acerque a las > mencionadas para wxPython? > > -- > Saludos, > > Luis Esteban de Dios Núñez > > ------------------------------**----- > CONSULTE la Revista de Ciencias Medicas > de Pinar del Rio en Internet > www.revcmpinar.sld.cu > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ailurus.fulgens en hotmail.com Wed Aug 14 05:43:49 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Tue, 13 Aug 2013 22:43:49 -0500 Subject: [Python-es] como saber cuanto tarda en ejecutarse una funcion? Message-ID: trabajo en un programa que lee el puerto serial, toma unos 12 bytes, realiza una larga función y lee el serial otra ves, en un bucle infinito.ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función debe terminar antes.creo que la función esta tardando mucho mas en ejecutarse. seguramente alguno ha hecho esto antes.alguna forma sencilla de saber cuanto le toma a la función completarse?con arduino uso el método micros() que cuenta los micro-segundos que lleva encendido el microcontrolador unsigned long tt = micros();aLongProcess();Serial.println( micros()-tt ); no hay problema si consigo los resultados en micro o mili segundosgracias ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Wed Aug 14 09:33:43 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 14 Aug 2013 09:33:43 +0200 Subject: [Python-es] como saber cuanto tarda en ejecutarse una funcion? In-Reply-To: References: Message-ID: time.time() te da el tiempo en segundos, con precisión de microsegundos, igual que micros de arduino. Si quieres hacerlo más fino, puedes usar timeit (método mágico %timeit de ipython), que hace una medida más precisa (útil, por ejemplo, si estás desarrollando y quieres ver si una optimización es efectiva). Si tu función llama a funciones dentro, lo mejor es hacer "profiling" para ver qué partes están llevando tiempo. Para esto te recomiendo runsnakerun. Si no tienes funciones internas, usa line_profiler, que medirá cada línea. Hace tiempo colaboré con Pybonacci en una lista de formas de acelerar Python. Si necesitas mejorar el rendimiento de tu función quizá alguna de estas te sea útil: http://pybonacci.wordpress.com/2012/05/01/python-es-lento/ Algunos consejos más concretos y prácticos, por Kiko: http://pybonacci.wordpress.com/2012/06/24/revisitando-python-es-lento-pequenos-trucos/ David. 2013/8/14 xiao xiong mao panda rojo : > trabajo en un programa que lee el puerto serial, toma unos 12 bytes, realiza > una larga función y lee el serial otra ves, en un bucle infinito. > ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función debe > terminar antes. > creo que la función esta tardando mucho mas en ejecutarse. > > seguramente alguno ha hecho esto antes. > alguna forma sencilla de saber cuanto le toma a la función completarse? > con arduino uso el método micros() que cuenta los micro-segundos que lleva > encendido el microcontrolador > > unsigned long tt = micros(); > aLongProcess(); > Serial.println( micros()-tt ); > > no hay problema si consigo los resultados en micro o mili segundos > gracias > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From monobot.soft en gmail.com Wed Aug 14 09:52:50 2013 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 14 Aug 2013 08:52:50 +0100 Subject: [Python-es] como saber cuanto tarda en ejecutarse una funcion? In-Reply-To: References: Message-ID: Yo para eso uso una función decoradora, http://monobotblog.alvarezalonso.es/archives/1083 aunque la salida es en segundos. Deberás ajustar la precisión para que te lo de en milisegundos http://docs.python.org/3.2/library/datetime.html#timedelta-objects Saludos El 14 de agosto de 2013 04:43, xiao xiong mao panda rojo < ailurus.fulgens en hotmail.com> escribió: > trabajo en un programa que lee el puerto serial, toma unos 12 bytes, > realiza una larga función y lee el serial otra ves, en un bucle infinito. > ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función debe > terminar antes. > creo que la función esta tardando mucho mas en ejecutarse. > > seguramente alguno ha hecho esto antes. > alguna forma sencilla de saber cuanto le toma a la función completarse? > con arduino uso el método micros() que cuenta los micro-segundos que lleva > encendido el microcontrolador > > unsigned long tt = micros(); > aLongProcess(); > Serial.println( micros()-tt ); > > no hay problema si consigo los resultados en micro o mili segundos > gracias > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From razpeitia en gmail.com Wed Aug 14 18:23:26 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Wed, 14 Aug 2013 11:23:26 -0500 Subject: [Python-es] como saber cuanto tarda en ejecutarse una funcion? In-Reply-To: References: Message-ID: Puedes usar el modulo timeit (en la documentación hay suficientes ejemplos) http://docs.python.org/2/library/timeit.html Creo que 10ms es bastante tiempo. Pero en caso que tu funcion tarde mas en ejecutarse puedes hacer varias cosas: 1. Optimizar tu código 2. Escribir esa parte en C 3. Los datos que recibas los puedes ir poniendo en un queue y tener workers que consuman esa información (de manera asincrónica). El día 14 de agosto de 2013 02:52, monoBOT escribió: > Yo para eso uso una función decoradora, > http://monobotblog.alvarezalonso.es/archives/1083 aunque la salida es en > segundos. > > Deberás ajustar la precisión para que te lo de en milisegundos > http://docs.python.org/3.2/library/datetime.html#timedelta-objects > > Saludos > > > El 14 de agosto de 2013 04:43, xiao xiong mao panda rojo > escribió: >> >> trabajo en un programa que lee el puerto serial, toma unos 12 bytes, >> realiza una larga función y lee el serial otra ves, en un bucle infinito. >> ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función >> debe terminar antes. >> creo que la función esta tardando mucho mas en ejecutarse. >> >> seguramente alguno ha hecho esto antes. >> alguna forma sencilla de saber cuanto le toma a la función completarse? >> con arduino uso el método micros() que cuenta los micro-segundos que lleva >> encendido el microcontrolador >> >> unsigned long tt = micros(); >> aLongProcess(); >> Serial.println( micros()-tt ); >> >> no hay problema si consigo los resultados en micro o mili segundos >> gracias >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > monoBOT > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From soft.sirius en gmail.com Wed Aug 14 19:15:25 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Wed, 14 Aug 2013 19:15:25 +0200 Subject: [Python-es] como saber cuanto tarda en ejecutarse una funcion? In-Reply-To: References: Message-ID: Hola Es una lástima que Psyco ya no funcione en las nuevas versiones de Python, antes con sólo importarlo y llamarlo, el programa se volvía varias veces más rápido. Saludos El 14 de agosto de 2013 18:23, Ricardo Azpeitia Pimentel < razpeitia en gmail.com> escribió: > Puedes usar el modulo timeit (en la documentación hay suficientes ejemplos) > > http://docs.python.org/2/library/timeit.html > > Creo que 10ms es bastante tiempo. Pero en caso que tu funcion tarde > mas en ejecutarse puedes hacer varias cosas: > > 1. Optimizar tu código > 2. Escribir esa parte en C > 3. Los datos que recibas los puedes ir poniendo en un queue y tener > workers que consuman esa información (de manera asincrónica). > > > El día 14 de agosto de 2013 02:52, monoBOT > escribió: > > Yo para eso uso una función decoradora, > > http://monobotblog.alvarezalonso.es/archives/1083 aunque la salida es en > > segundos. > > > > Deberás ajustar la precisión para que te lo de en milisegundos > > http://docs.python.org/3.2/library/datetime.html#timedelta-objects > > > > Saludos > > > > > > El 14 de agosto de 2013 04:43, xiao xiong mao panda rojo > > escribió: > >> > >> trabajo en un programa que lee el puerto serial, toma unos 12 bytes, > >> realiza una larga función y lee el serial otra ves, en un bucle > infinito. > >> ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función > >> debe terminar antes. > >> creo que la función esta tardando mucho mas en ejecutarse. > >> > >> seguramente alguno ha hecho esto antes. > >> alguna forma sencilla de saber cuanto le toma a la función completarse? > >> con arduino uso el método micros() que cuenta los micro-segundos que > lleva > >> encendido el microcontrolador > >> > >> unsigned long tt = micros(); > >> aLongProcess(); > >> Serial.println( micros()-tt ); > >> > >> no hay problema si consigo los resultados en micro o mili segundos > >> gracias > >> > >> > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > > > > > > > > -- > > monoBOT > > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gerardojuarez en buyteknet.info Wed Aug 14 20:00:23 2013 From: gerardojuarez en buyteknet.info (=?ISO-8859-1?Q?Gerardo_Ju=E1rez?=) Date: Wed, 14 Aug 2013 13:00:23 -0500 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_correcta_de_PIL?= Message-ID: <520BC5B7.6010200@buyteknet.info> Hola a todos, Estoy teniendo un problema con la librería PIL (Python Imaging Library). Al tratar de usarla me dice: IOError: decoder jpeg not available Pero al compilar la librería, setup.py me dice: --- JPEG support available Además, si verifico con ldconfig las librerías instaladas, obtengo: $ ldconfig -p | grep jpeg libopenjpeg.so.2 (libc6,x86-64) => /usr/lib64/libopenjpeg.so.2 libjpeg.so.62 (libc6,x86-64) => /usr/lib64/libjpeg.so.62 libjpeg.so (libc6,x86-64) => /usr/lib64/libjpeg.so Ya desinstalé completamente PIL y repetí la instalación dando la ruta donde se encuentra la librería sin efecto. En otros servidores me funciona de inmediato pero ya encontré dos casos (2 máquinas) donde no. Alguna idea? Qué librerías necesita realmente PIL? saludos y gracias, Gerardo From oscar.carballal en gmail.com Wed Aug 14 23:31:00 2013 From: oscar.carballal en gmail.com (Oscar Carballal) Date: Wed, 14 Aug 2013 23:31:00 +0200 Subject: [Python-es] =?utf-8?q?Instalaci=C3=B3n_correcta_de_PIL?= In-Reply-To: <520BC5B7.6010200@buyteknet.info> References: <520BC5B7.6010200@buyteknet.info> Message-ID: Esto deberia servirte :) http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/ Regards, Oscar -- Oscar Carballal Prego Software developer oscar.carballal en gmail.com El 14 de agosto de 2013 20:00, Gerardo Juárez escribió: > Hola a todos, > > Estoy teniendo un problema con la librería PIL (Python Imaging Library). > Al tratar de usarla me dice: > > IOError: decoder jpeg not available > > Pero al compilar la librería, setup.py me dice: > > --- JPEG support available > > Además, si verifico con ldconfig las librerías instaladas, obtengo: > > $ ldconfig -p | grep jpeg > libopenjpeg.so.2 (libc6,x86-64) => /usr/lib64/libopenjpeg.so.2 > libjpeg.so.62 (libc6,x86-64) => /usr/lib64/libjpeg.so.62 > libjpeg.so (libc6,x86-64) => /usr/lib64/libjpeg.so > > Ya desinstalé completamente PIL y repetí la instalación dando la ruta > donde se encuentra la librería sin efecto. En otros servidores me funciona > de inmediato pero ya encontré dos casos (2 máquinas) donde no. > > Alguna idea? Qué librerías necesita realmente PIL? > > saludos y gracias, > > Gerardo > > > > ______________________________**_________________ > 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: From monobot.soft en gmail.com Thu Aug 15 00:08:08 2013 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 14 Aug 2013 23:08:08 +0100 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_correcta_de_PIL?= In-Reply-To: References: <520BC5B7.6010200@buyteknet.info> Message-ID: Instala pillow en vez de pil El 14 de agosto de 2013 22:31, Oscar Carballal escribió: > Esto deberia servirte :) > http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/ > > Regards, > Oscar > > -- > Oscar Carballal Prego > Software developer > oscar.carballal en gmail.com > > > El 14 de agosto de 2013 20:00, Gerardo Juárez < > gerardojuarez en buyteknet.info> escribió: > >> Hola a todos, >> >> Estoy teniendo un problema con la librería PIL (Python Imaging Library). >> Al tratar de usarla me dice: >> >> IOError: decoder jpeg not available >> >> Pero al compilar la librería, setup.py me dice: >> >> --- JPEG support available >> >> Además, si verifico con ldconfig las librerías instaladas, obtengo: >> >> $ ldconfig -p | grep jpeg >> libopenjpeg.so.2 (libc6,x86-64) => /usr/lib64/libopenjpeg.so.2 >> libjpeg.so.62 (libc6,x86-64) => /usr/lib64/libjpeg.so.62 >> libjpeg.so (libc6,x86-64) => /usr/lib64/libjpeg.so >> >> Ya desinstalé completamente PIL y repetí la instalación dando la ruta >> donde se encuentra la librería sin efecto. En otros servidores me funciona >> de inmediato pero ya encontré dos casos (2 máquinas) donde no. >> >> Alguna idea? Qué librerías necesita realmente PIL? >> >> saludos y gracias, >> >> Gerardo >> >> >> >> ______________________________**_________________ >> Python-es mailing list >> Python-es en 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/ > > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gerardojuarez en buyteknet.info Thu Aug 15 02:23:32 2013 From: gerardojuarez en buyteknet.info (=?ISO-8859-1?Q?Gerardo_Ju=E1rez?=) Date: Wed, 14 Aug 2013 19:23:32 -0500 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_correcta_de_PIL?= In-Reply-To: References: <520BC5B7.6010200@buyteknet.info> Message-ID: <520C1F84.3010900@buyteknet.info> Gracias por las respuestas. Pude instalar finalmente haciendo algo de la liga enviada por Oscar y otras cosas leídas por allí, pero, efectivamente, la solución dfinitiva es olvidar PIL e instalar Pillow, que es su versión compatible con setuptools. saludos Gerardo On 08/14/2013 05:08 PM, monoBOT wrote: > Instala pillow en vez de pil > > > El 14 de agosto de 2013 22:31, Oscar Carballal > > escribió: > > Esto deberia servirte :) > http://jj.isgeek.net/2011/09/install-pil-with-jpeg-support-on-ubuntu-oneiric-64bits/ > > Regards, > Oscar > > -- > Oscar Carballal Prego > Software developer > oscar.carballal en gmail.com > > > El 14 de agosto de 2013 20:00, Gerardo Juárez > > escribió: > > Hola a todos, > > Estoy teniendo un problema con la librería PIL (Python Imaging > Library). > Al tratar de usarla me dice: > > IOError: decoder jpeg not available > > Pero al compilar la librería, setup.py me dice: > > --- JPEG support available > > Además, si verifico con ldconfig las librerías instaladas, > obtengo: > > $ ldconfig -p | grep jpeg > libopenjpeg.so.2 (libc6,x86-64) => /usr/lib64/libopenjpeg.so.2 > libjpeg.so.62 (libc6,x86-64) => /usr/lib64/libjpeg.so.62 > libjpeg.so (libc6,x86-64) => /usr/lib64/libjpeg.so > > Ya desinstalé completamente PIL y repetí la instalación dando > la ruta > donde se encuentra la librería sin efecto. En otros servidores > me funciona > de inmediato pero ya encontré dos casos (2 máquinas) donde no. > > Alguna idea? Qué librerías necesita realmente PIL? > > saludos y gracias, > > Gerardo > > > > _______________________________________________ > Python-es mailing list > Python-es en 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/ > > > > > -- > *monoBOT* > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > > > _______________________________________________ > 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: From ailurus.fulgens en hotmail.com Thu Aug 15 08:20:09 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Thu, 15 Aug 2013 01:20:09 -0500 Subject: [Python-es] como saber cuanto tarda en ejecutarse una funcion? In-Reply-To: References: , , , Message-ID: gracias a todos. ya pude comprobar que mi función no tarda tanto como penséencontré unos bugs.fue un error de indentacion.gracias por sus sugerencias. seguro me serán útiles para optimizar mi código. Date: Wed, 14 Aug 2013 19:15:25 +0200 From: soft.sirius en gmail.com To: python-es en python.org Subject: Re: [Python-es] como saber cuanto tarda en ejecutarse una funcion? Hola Es una lástima que Psyco ya no funcione en las nuevas versiones de Python, antes con sólo importarlo y llamarlo, el programa se volvía varias veces más rápido. Saludos El 14 de agosto de 2013 18:23, Ricardo Azpeitia Pimentel escribió: Puedes usar el modulo timeit (en la documentación hay suficientes ejemplos) http://docs.python.org/2/library/timeit.html Creo que 10ms es bastante tiempo. Pero en caso que tu funcion tarde mas en ejecutarse puedes hacer varias cosas: 1. Optimizar tu código 2. Escribir esa parte en C 3. Los datos que recibas los puedes ir poniendo en un queue y tener workers que consuman esa información (de manera asincrónica). El día 14 de agosto de 2013 02:52, monoBOT escribió: > Yo para eso uso una función decoradora, > http://monobotblog.alvarezalonso.es/archives/1083 aunque la salida es en > segundos. > > Deberás ajustar la precisión para que te lo de en milisegundos > http://docs.python.org/3.2/library/datetime.html#timedelta-objects > > Saludos > > > El 14 de agosto de 2013 04:43, xiao xiong mao panda rojo > escribió: >> >> trabajo en un programa que lee el puerto serial, toma unos 12 bytes, >> realiza una larga función y lee el serial otra ves, en un bucle infinito. >> ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función >> debe terminar antes. >> creo que la función esta tardando mucho mas en ejecutarse. >> >> seguramente alguno ha hecho esto antes. >> alguna forma sencilla de saber cuanto le toma a la función completarse? >> con arduino uso el método micros() que cuenta los micro-segundos que lleva >> encendido el microcontrolador >> >> unsigned long tt = micros(); >> aLongProcess(); >> Serial.println( micros()-tt ); >> >> no hay problema si consigo los resultados en micro o mili segundos >> gracias >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > monoBOT > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > _______________________________________________ > Python-es mailing list > Python-es en 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/ -- Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo. _______________________________________________ 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: From esteban en princesa.pri.sld.cu Thu Aug 15 17:49:53 2013 From: esteban en princesa.pri.sld.cu (Luis) Date: Thu, 15 Aug 2013 09:49:53 -0600 Subject: [Python-es] =?iso-8859-15?q?Instalaci=F3n_de_Eric-ide_5?= Message-ID: Hola, :) Me han descargado Eric5 desde este enlace(cortesía de Juan M. Puertas), http://eric-ide.python-projects.org/ Cuando comencé el proceso de instalación(python install) el sistema me exigió python3. Después de instalado python3 reintenté y el sistema se quejó con que debía instalar PyQt4 y resulta que lo tengo(python-qt4) instalado además de los otros(QScintilla2, sip) paquetes que vienen con el leeme. Sin embargo, sigo con lo mismo, python3 install.py Checking dependencies Python Version: 3.1.3 Sorry, please install PyQt4. Error: No module named PyQt4.QtCore Qué me está faltando? Me llama la atención que en el mismo leeme se menciona a Qt4 además de PyQt4 entre los paquetes que deben estar previamente instalado. Será este mi problema? -- Saludos, Luis Esteban de Dios Núñez ----------------------------------- CONSULTE la Revista de Ciencias Medicas de Pinar del Rio en Internet www.revcmpinar.sld.cu -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ From davidmenhur en gmail.com Thu Aug 15 16:39:37 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Thu, 15 Aug 2013 16:39:37 +0200 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: 2013/8/15 Luis : > Qué me está faltando? Probablemente, instalar esos módulos en Python3. Cada versión de Python tiene sus bibliotecas, y son independientes unas de otras (aunque la biblioteca en sí puede ser la misma). En cuanto a QT4/PyQT4, el primero es el framework en sí, código en C++, mientras que PyQT4 es la biblioteca para enlazar desde Python. David. From soft.sirius en gmail.com Thu Aug 15 16:48:19 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Thu, 15 Aug 2013 16:48:19 +0200 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: Hola Luis. Yo tengo un s.operativo basado en Ubuntu e instalo automáticamente con Synaptic la versión 4 que es la que viene en los repositorios. Saludos :-) El 15 de agosto de 2013 16:39, Da?id escribió: > 2013/8/15 Luis : > > Qué me está faltando? > > Probablemente, instalar esos módulos en Python3. Cada versión de > Python tiene sus bibliotecas, y son independientes unas de otras > (aunque la biblioteca en sí puede ser la misma). > > En cuanto a QT4/PyQT4, el primero es el framework en sí, código en > C++, mientras que PyQT4 es la biblioteca para enlazar desde Python. > > > David. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From esteban en princesa.pri.sld.cu Thu Aug 15 23:07:05 2013 From: esteban en princesa.pri.sld.cu (Luis) Date: Thu, 15 Aug 2013 15:07:05 -0600 Subject: [Python-es] =?utf-8?q?Instalaci=C3=B3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: Yo uso debian 6.0 y el Eric que tengo en los repo después de instalado se bloquea cuando lo ejecuto. Se queda con el splash congelado :) On Thu, 15 Aug 2013 08:48:19 -0600, Juan M. Puertas wrote: > Hola Luis. Yo tengo un s.operativo basado en Ubuntu e instalo > automáticamente con Synaptic la versión 4 que es la que viene en los > repositorios. > Saludos :-) > > > El 15 de agosto de 2013 16:39, Da?id escribió: > >> 2013/8/15 Luis : >> > Qué me está faltando? >> >> Probablemente, instalar esos módulos en Python3. Cada versión de >> Python tiene sus bibliotecas, y son independientes unas de otras >> (aunque la biblioteca en sí puede ser la misma). >> >> En cuanto a QT4/PyQT4, el primero es el framework en sí, código en >> C++, mientras que PyQT4 es la biblioteca para enlazar desde Python. >> >> >> David. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > -- Saludos, Luis Esteban de Dios Núñez ----------------------------------- CONSULTE la Revista de Ciencias Medicas de Pinar del Rio en Internet www.revcmpinar.sld.cu -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ From jjgomera en gmail.com Thu Aug 15 21:20:46 2013 From: jjgomera en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_G=F3mez_Romera?=) Date: Thu, 15 Aug 2013 21:20:46 +0200 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: Luis, yo llevo mucho tiempo teniendo tambien ese problema, si lo ejecuto desde los menus se bloquea en el splash, si lo ejecuto desde una terminal no se cuelga y arranca bien. Al final he optado por arrancar primero el eric-tray y de ahí arranco el eric sin problemas. Me pasaba en squeeze y me sigue pasando en wheezy. El 15 de agosto de 2013 23:07, Luis escribió: > Yo uso debian 6.0 y el Eric que tengo en los repo después de instalado se > bloquea cuando lo ejecuto. Se queda con el splash congelado :) > > > On Thu, 15 Aug 2013 08:48:19 -0600, Juan M. Puertas > wrote: > > Hola Luis. Yo tengo un s.operativo basado en Ubuntu e instalo >> automáticamente con Synaptic la versión 4 que es la que viene en los >> repositorios. >> Saludos :-) >> >> >> El 15 de agosto de 2013 16:39, Da?id escribió: >> >> 2013/8/15 Luis : >>> > Qué me está faltando? >>> >>> Probablemente, instalar esos módulos en Python3. Cada versión de >>> Python tiene sus bibliotecas, y son independientes unas de otras >>> (aunque la biblioteca en sí puede ser la misma). >>> >>> En cuanto a QT4/PyQT4, el primero es el framework en sí, código en >>> C++, mientras que PyQT4 es la biblioteca para enlazar desde Python. >>> >>> >>> David. >>> ______________________________**_________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/**mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.**com/ >>> >>> >> >> >> > > > -- > Saludos, > > Luis Esteban de Dios Núñez > > ------------------------------**----- > CONSULTE la Revista de Ciencias Medicas > de Pinar del Rio en Internet > www.revcmpinar.sld.cu > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > ______________________________**_________________ > 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: From soft.sirius en gmail.com Fri Aug 16 11:45:44 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Fri, 16 Aug 2013 11:45:44 +0200 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: A mi me ha pasado lo mismo con Linux Mint 15, Eric me da "Segmentation fault". He vuelto a instalar Linux Mint 13 y vuelve a funcionar. Por lo que veo en una búsqueda https://www.google.com/search?q=eric+segmentation+faultestá pasando en versiones recientes de Linux, no sólo en las basadas en Debian. El 15 de agosto de 2013 21:20, Juan José Gómez Romera escribió: > Luis, yo llevo mucho tiempo teniendo tambien ese problema, si lo ejecuto > desde los menus se bloquea en el splash, si lo ejecuto desde una terminal > no se cuelga y arranca bien. Al final he optado por arrancar primero el > eric-tray y de ahí arranco el eric sin problemas. Me pasaba en squeeze y me > sigue pasando en wheezy. > > > El 15 de agosto de 2013 23:07, Luis escribió: > > Yo uso debian 6.0 y el Eric que tengo en los repo después de instalado se >> bloquea cuando lo ejecuto. Se queda con el splash congelado :) >> >> >> On Thu, 15 Aug 2013 08:48:19 -0600, Juan M. Puertas < >> soft.sirius en gmail.com> wrote: >> >> Hola Luis. Yo tengo un s.operativo basado en Ubuntu e instalo >>> automáticamente con Synaptic la versión 4 que es la que viene en los >>> repositorios. >>> Saludos :-) >>> >>> >>> El 15 de agosto de 2013 16:39, Da?id escribió: >>> >>> 2013/8/15 Luis : >>>> > Qué me está faltando? >>>> >>>> Probablemente, instalar esos módulos en Python3. Cada versión de >>>> Python tiene sus bibliotecas, y son independientes unas de otras >>>> (aunque la biblioteca en sí puede ser la misma). >>>> >>>> En cuanto a QT4/PyQT4, el primero es el framework en sí, código en >>>> C++, mientras que PyQT4 es la biblioteca para enlazar desde Python. >>>> >>>> >>>> David. >>>> ______________________________**_________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/**mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.**com/ >>>> >>>> >>> >>> >>> >> >> >> -- >> Saludos, >> >> Luis Esteban de Dios Núñez >> >> ------------------------------**----- >> CONSULTE la Revista de Ciencias Medicas >> de Pinar del Rio en Internet >> www.revcmpinar.sld.cu >> >> -- >> >> Este mensaje le ha llegado mediante el servicio de correo electronico que >> ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema >> Nacional de Salud. La persona que envia este correo asume el compromiso de >> usar el servicio a tales fines y cumplir con las regulaciones establecidas >> >> Infomed: http://www.sld.cu/ >> >> ______________________________**_________________ >> Python-es mailing list >> Python-es en 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/ > > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Mon Aug 19 22:36:04 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 19 Aug 2013 16:36:04 -0400 Subject: [Python-es] creacion de graficos UML a partir de ficheros de config Message-ID: Hola, me gustaria saber si alguien conoce alguna herramienta en python para generar diagramas UML a partir de ficheros de config. No busco generar UML a partir de codigo, sino a partir de ficheros donde, con la sintaxis que sea, se definan los objetos y sus relaciones. El problema es que al buscar en google con palabras clave como 'python' y 'uml' todo lo que veo son soluciones para general uml a partir de codigo, o a la inversa. Muchas gracias, Jose From jcea en jcea.es Tue Aug 20 18:32:23 2013 From: jcea en jcea.es (Jesus Cea) Date: Tue, 20 Aug 2013 18:32:23 +0200 Subject: [Python-es] =?iso-8859-15?q?Librer=EDa_HTTP_con_soporte_de_=22ran?= =?iso-8859-15?q?ge=22?= Message-ID: <52139A17.60901@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Estoy buscando una librería HTTP con soporte de la cabecera "range", incluyendo rangos múltiples del tipo "Range: bytes=100-110,200-220", que devuelven una respuesta "multipart/byteranges". No sé si "requests" lo permite. ¿Alguna sugerencia? - -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQCVAwUBUhOaF5lgi5GaxT1NAQK/KgP/e1vPbXajU4c7XtbIZa9aS/IeuMZMKEfV RyoC2j1vkoXdcbb5pGaMHcTMWzs22zKmKJRSWQD1Pk8OHOhu+wixOveqdgqln101 dqm1lBXA1DyGp+YqCfV8+o8BVC+y+LqSK1MloZwEbDZDEI1DbvqUeOn+MpvSfp9c PPHNyqnJ0Qk= =XjeY -----END PGP SIGNATURE----- From sdeancos en gmail.com Tue Aug 20 18:52:34 2013 From: sdeancos en gmail.com (Samuel de Ancos) Date: Tue, 20 Aug 2013 18:52:34 +0200 Subject: [Python-es] =?iso-8859-1?q?Librer=EDa_HTTP_con_soporte_de_=22rang?= =?iso-8859-1?q?e=22?= In-Reply-To: <52139A17.60901@jcea.es> References: <52139A17.60901@jcea.es> Message-ID: <52139ED2.4050001@gmail.com> Hola Jesús! Supongo que utilizando urllib2 podras añadir la cabecera: my_request = urllib2.Request('http://www.loquesea.es/') my_request.headers['Range'] = 'bytes=100-110,200-220' Espero te sirva de algo! Saludos. p.d. Que hay de ese audio :P El 20/08/13 18:32, Jesus Cea escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Estoy buscando una librería HTTP con soporte de la cabecera "range", > incluyendo rangos múltiples del tipo "Range: bytes=100-110,200-220", > que devuelven una respuesta "multipart/byteranges". > > No sé si "requests" lo permite. ¿Alguna sugerencia? > > - -- > Jesús Cea Avión _/_/ _/_/_/ _/_/_/ > jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ > Twitter: @jcea _/_/ _/_/ _/_/_/_/_/ > jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/ _/_/ _/_/ > "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ > "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ > "El amor es poner tu felicidad en la felicidad de otro" - Leibniz > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iQCVAwUBUhOaF5lgi5GaxT1NAQK/KgP/e1vPbXajU4c7XtbIZa9aS/IeuMZMKEfV > RyoC2j1vkoXdcbb5pGaMHcTMWzs22zKmKJRSWQD1Pk8OHOhu+wixOveqdgqln101 > dqm1lBXA1DyGp+YqCfV8+o8BVC+y+LqSK1MloZwEbDZDEI1DbvqUeOn+MpvSfp9c > PPHNyqnJ0Qk= > =XjeY > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- -- Samuel de Ancos - Software developer http://www.fourcoders.com http://www.deancos.com From joe en joedicastro.com Tue Aug 20 19:22:41 2013 From: joe en joedicastro.com (joe di castro) Date: Tue, 20 Aug 2013 19:22:41 +0200 Subject: [Python-es] =?iso-8859-1?q?Librer=EDa_HTTP_con_soporte_de_=22rang?= =?iso-8859-1?q?e=22?= In-Reply-To: <52139A17.60901@jcea.es> References: <52139A17.60901@jcea.es> Message-ID: <5213A5E1.7000101@joedicastro.com> El 20/08/13 18:32, Jesus Cea escribió: > Estoy buscando una librería HTTP con soporte de la cabecera "range", > incluyendo rangos múltiples del tipo "Range: bytes=100-110,200-220", > que devuelven una respuesta "multipart/byteranges". > > No sé si "requests" lo permite. ¿Alguna sugerencia? > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > En realidad mientras puedas crear tu propia cabecera HTTP personalizada cualquier libreria deberia servirte, ya que esto se gestiona a nivel de HTTP. Con urllib2 se puede hacer, por ejemplo en esta solución mia al nivel 20/21 del Python Challenge, puedes ver como se usa: https://github.com/joedicastro/pychallenge/blob/master/20_et_21.py Con Requests también se puede hacer en tanto que te permite añadir una cabecera. Saludos -- joe di castro http://joedicastro.com From jza en oooes.org Wed Aug 21 05:51:31 2013 From: jza en oooes.org (Alexandro Colorado) Date: Tue, 20 Aug 2013 22:51:31 -0500 Subject: [Python-es] Glosario de terminos de programacion Message-ID: Estoy traduciendo unas guias para algunos frameworks en python, me interesa saber si hay algun glosario de terminos de programacion, sobretodo si hay uno en Python. Aqui algunas de las cosas que me interesa observar: string docstring namespace array tuple yield y otros. -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From razpeitia en gmail.com Wed Aug 21 08:04:23 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Wed, 21 Aug 2013 01:04:23 -0500 Subject: [Python-es] Glosario de terminos de programacion In-Reply-To: References: Message-ID: Como (intento de)[1] traductor del Django Book te daré un consejo. No lo hagas. > ¿Por qué? Bueno, primero porque no todos los términos los puedes traducir tan elocuente como lo harías en Ingles. Ejemplo intenta traducir "parse" o "framework" de una manera agradable al Español. Segundo, un pequeño cambio aquí con lleva un cambio en todos los lugares, debes de ser consiste y no siempre puedes hacer eso, hay casos donde se te ocurre traducir string como cadena pero si hago y resulta que en el código de ejemplo hace referencia a la clase string no lo puedes (y no debes) de traducirlo. Incluso si decides traducir parte del código terminas con algo bastante pocho como `if carro.have_gas: print 'tiene gasolina'`. > ¿Que recomiendas entonces? La mejor solución que me he topado es la siguiente: Dejar el termino original siempre y la primera vez que se mencione ponerlo con un asterisco y explicarlo en el pie de pagina. O si prefieres mandar al lector a un glosario de traducciones. Por ejemplo o'reilly en alguno de sus libros lo marca con un asterisco y en el pie de pagina te dice "Recuerda que tienes un glosario que puedes consultar". > Hey ¿Que tal si me das mis traducciones e ignoro tus consejos? string -> cadena docstring -> cadena de documentación namespace -> espacio de nombres array -> arreglo tuple -> tupla yield -> (al menos en este contexto) producir Si elegiste este camino entonces te deseo buena suerte. [1] https://docs.google.com/document/d/1tv8AE32lkVz2E-asDWdsmIzqbAT_nFUN7dADqxhlaI8/edit El día 20 de agosto de 2013 22:51, Alexandro Colorado escribió: > Estoy traduciendo unas guias para algunos frameworks en python, me interesa > saber si hay algun glosario de terminos de programacion, sobretodo si hay > uno en Python. Aqui algunas de las cosas que me interesa observar: > string > docstring > namespace > array > tuple > yield > y otros. > > -- > Alexandro Colorado > Apache OpenOffice Contributor > http://www.openoffice.org > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From jza en oooes.org Wed Aug 21 08:19:50 2013 From: jza en oooes.org (Alexandro Colorado) Date: Wed, 21 Aug 2013 01:19:50 -0500 Subject: [Python-es] Glosario de terminos de programacion In-Reply-To: References: Message-ID: Gracias, de hecho estaba buscando una convención, quizás de traducciones profesionales ya aprobadas, basadas de algun lenguaje comercial como C, VB, C#, o Java. Y haber compilado un glosario unico, yo he encontrado algunos para aplicaciones con la gente de KDE. Pero este se basa mas en controles, como botones, dialogos, botones de opcion, caja de verificacion etc. Lo mismo con las formulas de Calc, sin embargo en programación no tengo uno identificado. Y me preguntaba si la comunidad de Python tenían uno ya realizado. *parse*, es segmentacion y *framework* es un marco de trabajo como contexto, pero dado sus multiples sinonimos como marco de operacion, division, etc. Queria tener algo mas sustentable. 2013/8/21 Ricardo Azpeitia Pimentel > Como (intento de)[1] traductor del Django Book te daré un consejo. No lo > hagas. > > > ¿Por qué? > Bueno, primero porque no todos los términos los puedes traducir tan > elocuente como lo harías en Ingles. Ejemplo intenta traducir "parse" o > "framework" de una manera agradable al Español. > > Segundo, un pequeño cambio aquí con lleva un cambio en todos los > lugares, debes de ser consiste y no siempre puedes hacer eso, hay > casos donde se te ocurre traducir string como cadena pero si hago y > resulta que en el código de ejemplo hace referencia a la clase string > no lo puedes (y no debes) de traducirlo. Incluso si decides traducir > parte del código terminas con algo bastante pocho como `if > carro.have_gas: print 'tiene gasolina'`. > > > ¿Que recomiendas entonces? > La mejor solución que me he topado es la siguiente: > Dejar el termino original siempre y la primera vez que se mencione > ponerlo con un asterisco y explicarlo en el pie de pagina. O si > prefieres mandar al lector a un glosario de traducciones. Por ejemplo > o'reilly en alguno de sus libros lo marca con un asterisco y en el pie > de pagina te dice "Recuerda que tienes un glosario que puedes > consultar". > > > Hey ¿Que tal si me das mis traducciones e ignoro tus consejos? > > string -> cadena > docstring -> cadena de documentación > namespace -> espacio de nombres > array -> arreglo > tuple -> tupla > yield -> (al menos en este contexto) producir > > Si elegiste este camino entonces te deseo buena suerte. > > [1] > https://docs.google.com/document/d/1tv8AE32lkVz2E-asDWdsmIzqbAT_nFUN7dADqxhlaI8/edit > > El día 20 de agosto de 2013 22:51, Alexandro Colorado > escribió: > > Estoy traduciendo unas guias para algunos frameworks en python, me > interesa > > saber si hay algun glosario de terminos de programacion, sobretodo si hay > > uno en Python. Aqui algunas de las cosas que me interesa observar: > > string > > docstring > > namespace > > array > > tuple > > yield > > y otros. > > > > -- > > Alexandro Colorado > > Apache OpenOffice Contributor > > http://www.openoffice.org > > > > > > > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alfredo.riguetti en ptravel.com.uy Wed Aug 21 16:28:57 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Wed, 21 Aug 2013 11:28:57 -0300 Subject: [Python-es] Eclipse pydev y wxpython Message-ID: <5214CEA9.2070003@ptravel.com.uy> Hoala a todos, estoy teniendo un tema , estoy usando eclipse y pydev , y usando wxpython para las GUI, lo que me esta pasando es que no me autocompleta nada de las clases wx. es decir wx. y nada no da opciones , me gustaria integrar eso a aeclipse y pydev. a alguien me puede echar una mano? saludos fefo From caustico.acustico en gmail.com Thu Aug 15 02:42:11 2013 From: caustico.acustico en gmail.com (=?ISO-8859-1?Q?Ac=FAstico_C=E1ustico?=) Date: Wed, 14 Aug 2013 19:42:11 -0500 Subject: [Python-es] Fwd: Ajuste de valores en el eje x matplotlib In-Reply-To: References: Message-ID: Gracias, lo he probado y funciona de maravilla. El 12 de agosto de 2013 03:19, Da?id escribió: > 2013/8/9 Acústico Cáustico : > > Como se puede observar estoy tratando de graficar el eje x en segundos y > no > > en nro. de muestras, alguno conoce la forma gen'erica de hacerlo, es > decir, > > quiero que este c'odigo funcione para diferentes audios, por eso no lo > hago > > con los xticks de este modo: > > plt.plot(tiempos, canal_l) > > donde tiempos serían los valores de tiempo para cada muestra. > np.linspace(0, segundos, len(canal_l)) > _______________________________________________ > 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: From alfredo.riguetti en ptravel.com.uy Thu Aug 15 21:34:09 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Thu, 15 Aug 2013 16:34:09 -0300 Subject: [Python-es] Ayuda urgente Message-ID: <520D2D31.8020607@ptravel.com.uy> Tengo un sistema andando, no se que fue que toque sin querer que esta ventana me dejo de andar y cuando lo corro me da un error en : self.etiquetaBanco .... self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', ^ SyntaxError: invalid syntax el cofigo es este. aclaro ESTA ANANDO pero sin dudas algo paso y no me doy cuneta que.. class VentanaMovDescuento(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent ,-1, 'Ingresar Movimiento', style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, pos=wx.Point(200,200,size=wx.Size(410,200)) # Banco. self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', name='etiquetaBanco', parent=self,pos=wx.Point(16, 66), size=wx.Size(110, 30), style=0) self.textoBanco = wx.TextCtrl(id=-1, name='textoBanco',parent=self, pos=wx.Point(110, 66), size=wx.Size(288, 21)) # Nro Cheque self.etiquetaNrocheque = wx.StaticText(id=-1,label='Nro de cheque', name='etiquetaNrocheque', parent=self,pos=wx.Point(16, 93), size=wx.Size(110, 30), style=0) self.textoNrocheque = wx.TextCtrl(id=-1, name='textoNrocheque', parent=self,pos=wx.Point(110, 90), size=wx.Size(288, 21)) # Dias de descuento . self.etiquetaDias= wx.StaticText(id=-1,label='Dias a desc.', name='etiquetaDias', parent=self,pos=wx.Point(16, 118), size=wx.Size(110, 13), style=0) self.textoDias = wx.TextCtrl(id=-1, name='textoDias', parent=self,pos=wx.Point(110, 114), size=wx.Size(50, 21)) # Monto. self.etiquetaMonto = wx.StaticText(id=-1,label='Monto', name='etiquetaMonto', parent=self,pos=wx.Point(200, 118), size=wx.Size(54, 13), style=0) self.textoMonto = wx.TextCtrl(id=-1, name='textoMonto', parent=self,pos=wx.Point(240, 114), size=wx.Size(158, 21)) # Precio porcentaje inicial self.etiquetaPorcentajeInicial = wx.StaticText(id=-1,label='Porc. apl.', name='etiquetaPorcentajeInicial', parent=self,pos=wx.Point(16, 142), size=wx.Size(40, 13), style=0) self.textoPorcentajeInicial = wx.TextCtrl(id=-1, name='textoPorcentajeInicial', parent=self,pos=wx.Point(110, 138), size=wx.Size(40, 21)) # Botón de Aceptar datos. self.aceptar = wx.Button(parent=self,id=-1,label="Generar Descuento", pos=wx.Point(160,160),size=wx.Size(130,30)) # Botón de salida de la aplicación. self.salir = wx.Button(parent=self,id=-1,label="Salir", pos=wx.Point(300,160),size=wx.Size(98,30)) # Creamos los manejadores de eventos, ligando los eventos a # los métodos que tendrán el código asociado. self.salir.Bind(wx.EVT_BUTTON, self.OnBotonSalir) #self.salir.Bind(wx.EVT_CLOSE, self.OnSalir) self.aceptar.Bind(wx.EVT_BUTTON, self.OnClickAceptar) self.Bind(wx.EVT_CLOSE, self.cerrar) def OnBotonSalir(self, event): # Cerramos la ventana. self.Close(True) #def OnSalir(self, event): # Destruimos el widget. #self.Destroy() def OnClickAceptar(self,event): # Calcular Resultados global monto_descuento,nrocheque,nombre,apellidos,banco,monto,porcentajeinicial, monto_mensual, monto_xdia, monto_decuento, dias, total_a_pagar nrocheque = self.textoNrocheque.GetValue() banco = self.textoBanco.GetValue() monto = self.textoMonto.GetValue() nombre = self.textoNombre.GetValue() apellidos = self.textoApellidos.GetValue() porcentajeinicial = self.textoPorcentajeInicial.GetValue() dias = self.textoDias.GetValue() monto = float(monto) porcentajeinicial = float(porcentajeinicial) monto_mensual = float(0.00) monto_mensual = (monto * porcentajeinicial)/100 monto_xdia = float(0.00) monto_xdia = monto_mensual/30 monto_descuento = 0.0 dias = float(dias) monto_descuento = monto_xdia * dias total_a_pagar = 0.0 total_a_pagar = monto - monto_descuento VentanaResultado = VentanaResultadoDescuento(self) VentanaResultado.Show(True) VentanaResultado.MakeModal(True) def cerrar(self, evt): self.MakeModal(False) evt.Skip() From alfredo.riguetti en ptravel.com.uy Mon Aug 19 20:20:49 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Mon, 19 Aug 2013 15:20:49 -0300 Subject: [Python-es] Interactuar con datos mysql Message-ID: <52126201.8070306@ptravel.com.uy> Hola a todos , necesito interactuar con datos mysql y no se que usar si wxgrid , wxlistCtrl, o cual otro podria usar? gracias fefo From jcaballero.hep en gmail.com Wed Aug 21 21:44:20 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 21 Aug 2013 15:44:20 -0400 Subject: [Python-es] Ayuda urgente In-Reply-To: <520D2D31.8020607@ptravel.com.uy> References: <520D2D31.8020607@ptravel.com.uy> Message-ID: parece que tienes un problema de parentesis, creo. 2013/8/15 Alfredo Riguetti : > Tengo un sistema andando, no se que fue que toque sin querer que esta > ventana me dejo de andar y cuando lo corro me da un error en : > > self.etiquetaBanco .... > > self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', > ^ > SyntaxError: invalid syntax > > el cofigo es este. aclaro ESTA ANANDO pero sin dudas algo paso y no me doy > cuneta que.. > > > class VentanaMovDescuento(wx.Frame): > > def __init__(self, parent): > wx.Frame.__init__(self, parent ,-1, 'Ingresar Movimiento', > style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, > pos=wx.Point(200,200,size=wx.Size(410,200)) > > # Banco. > self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', > name='etiquetaBanco', parent=self,pos=wx.Point(16, 66), > size=wx.Size(110, 30), style=0) > > self.textoBanco = wx.TextCtrl(id=-1, name='textoBanco',parent=self, > pos=wx.Point(110, 66), size=wx.Size(288, 21)) > > # Nro Cheque > self.etiquetaNrocheque = wx.StaticText(id=-1,label='Nro de cheque', > name='etiquetaNrocheque', parent=self,pos=wx.Point(16, 93), > size=wx.Size(110, 30), style=0) > > self.textoNrocheque = wx.TextCtrl(id=-1, name='textoNrocheque', > parent=self,pos=wx.Point(110, 90), size=wx.Size(288, 21)) > > # Dias de descuento . > self.etiquetaDias= wx.StaticText(id=-1,label='Dias a desc.', > name='etiquetaDias', parent=self,pos=wx.Point(16, 118), > size=wx.Size(110, 13), style=0) > > self.textoDias = wx.TextCtrl(id=-1, name='textoDias', > parent=self,pos=wx.Point(110, 114), size=wx.Size(50, 21)) > > # Monto. > self.etiquetaMonto = wx.StaticText(id=-1,label='Monto', > name='etiquetaMonto', parent=self,pos=wx.Point(200, 118), > size=wx.Size(54, 13), style=0) > > self.textoMonto = wx.TextCtrl(id=-1, name='textoMonto', > parent=self,pos=wx.Point(240, 114), size=wx.Size(158, 21)) > > # Precio porcentaje inicial > > self.etiquetaPorcentajeInicial = wx.StaticText(id=-1,label='Porc. > apl.', > name='etiquetaPorcentajeInicial', parent=self,pos=wx.Point(16, 142), > size=wx.Size(40, 13), style=0) > > self.textoPorcentajeInicial = wx.TextCtrl(id=-1, > name='textoPorcentajeInicial', > parent=self,pos=wx.Point(110, 138), size=wx.Size(40, 21)) > > # Botón de Aceptar datos. > self.aceptar = wx.Button(parent=self,id=-1,label="Generar Descuento", > pos=wx.Point(160,160),size=wx.Size(130,30)) > > > # Botón de salida de la aplicación. > self.salir = wx.Button(parent=self,id=-1,label="Salir", > pos=wx.Point(300,160),size=wx.Size(98,30)) > > > # Creamos los manejadores de eventos, ligando los eventos a > # los métodos que tendrán el código asociado. > self.salir.Bind(wx.EVT_BUTTON, self.OnBotonSalir) > #self.salir.Bind(wx.EVT_CLOSE, self.OnSalir) > > self.aceptar.Bind(wx.EVT_BUTTON, self.OnClickAceptar) > > > > self.Bind(wx.EVT_CLOSE, self.cerrar) > > > def OnBotonSalir(self, event): > # Cerramos la ventana. > self.Close(True) > > #def OnSalir(self, event): > # Destruimos el widget. > #self.Destroy() > > > def OnClickAceptar(self,event): > # Calcular Resultados > global > monto_descuento,nrocheque,nombre,apellidos,banco,monto,porcentajeinicial, > monto_mensual, monto_xdia, monto_decuento, dias, total_a_pagar > > nrocheque = self.textoNrocheque.GetValue() > banco = self.textoBanco.GetValue() > monto = self.textoMonto.GetValue() > nombre = self.textoNombre.GetValue() > apellidos = self.textoApellidos.GetValue() > porcentajeinicial = self.textoPorcentajeInicial.GetValue() > dias = self.textoDias.GetValue() > > monto = float(monto) > porcentajeinicial = float(porcentajeinicial) > monto_mensual = float(0.00) > monto_mensual = (monto * porcentajeinicial)/100 > monto_xdia = float(0.00) > monto_xdia = monto_mensual/30 > monto_descuento = 0.0 > dias = float(dias) > monto_descuento = monto_xdia * dias > > total_a_pagar = 0.0 > total_a_pagar = monto - monto_descuento > > > VentanaResultado = VentanaResultadoDescuento(self) > > VentanaResultado.Show(True) > VentanaResultado.MakeModal(True) > > def cerrar(self, evt): > self.MakeModal(False) > evt.Skip() > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From mlacunza en gmail.com Wed Aug 21 21:53:53 2013 From: mlacunza en gmail.com (Mario Lacunza) Date: Wed, 21 Aug 2013 14:53:53 -0500 Subject: [Python-es] Eclipse pydev y wxpython In-Reply-To: <5214CEA9.2070003@ptravel.com.uy> References: <5214CEA9.2070003@ptravel.com.uy> Message-ID: <52151AD1.9010100@gmail.com> Has agregado el path de wx al eclipse? Python autocompleta bien? xq si esta instalado de forma normal deberia ser suficiente Al menos sin saber en q OS lo corres q version de eclipse y pydev usas no te puedo ayudar mas... Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Mascotas Perdidas:: http://mascotas-perdidas.com/ Google Talk / Y! messenger / Skype: mlacunzav MSN: mlacunzav en hotmail.com El 21/08/13 09:28, Alfredo Riguetti escribió: > Hoala a todos, > estoy teniendo un tema , estoy usando eclipse y pydev , y usando > wxpython para las GUI, lo que me esta pasando es que no me > autocompleta nada de las clases wx. es decir wx. y nada no da opciones > , me gustaria integrar eso a aeclipse y pydev. a > alguien me puede echar una mano? > > saludos > fefo > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From hiramhzr en gmail.com Wed Aug 21 21:55:17 2013 From: hiramhzr en gmail.com (Hiram =?iso-8859-1?B?WvrxaWdh?=) Date: Wed, 21 Aug 2013 14:55:17 -0500 Subject: [Python-es] Ayuda urgente In-Reply-To: <520D2D31.8020607@ptravel.com.uy> References: <520D2D31.8020607@ptravel.com.uy> Message-ID: <20130821195517.GA10666@crunch> Hola al parecer el problema esta en que te falta un paréntesis, para ser más exactos en el paréntesis que cierra ')' pos=wx.Point(200,200) #tu script def __init__(self, parent): wx.Frame.__init__(self, parent ,-1, 'Ingresar Movimiento', style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, pos=wx.Point(200,200,size=wx.Size(410,200)) hiram On Thu, Aug 15, 2013 at 04:34:09PM -0300, Alfredo Riguetti wrote: > Tengo un sistema andando, no se que fue que toque sin querer que > esta ventana me dejo de andar y cuando lo corro me da un error en : > > self.etiquetaBanco .... > > self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', > ^ > SyntaxError: invalid syntax > > el cofigo es este. aclaro ESTA ANANDO pero sin dudas algo paso y no > me doy cuneta que.. > > > class VentanaMovDescuento(wx.Frame): > > def __init__(self, parent): > wx.Frame.__init__(self, parent ,-1, 'Ingresar Movimiento', > style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, > pos=wx.Point(200,200,size=wx.Size(410,200)) > > # Banco. > self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', > name='etiquetaBanco', parent=self,pos=wx.Point(16, 66), > size=wx.Size(110, 30), style=0) > > self.textoBanco = wx.TextCtrl(id=-1, name='textoBanco',parent=self, > pos=wx.Point(110, 66), size=wx.Size(288, 21)) > > # Nro Cheque > self.etiquetaNrocheque = wx.StaticText(id=-1,label='Nro de cheque', > name='etiquetaNrocheque', parent=self,pos=wx.Point(16, 93), > size=wx.Size(110, 30), style=0) > > self.textoNrocheque = wx.TextCtrl(id=-1, name='textoNrocheque', > parent=self,pos=wx.Point(110, 90), size=wx.Size(288, 21)) > > # Dias de descuento . > self.etiquetaDias= wx.StaticText(id=-1,label='Dias a desc.', > name='etiquetaDias', parent=self,pos=wx.Point(16, 118), > size=wx.Size(110, 13), style=0) > > self.textoDias = wx.TextCtrl(id=-1, name='textoDias', > parent=self,pos=wx.Point(110, 114), size=wx.Size(50, 21)) > > # Monto. > self.etiquetaMonto = wx.StaticText(id=-1,label='Monto', > name='etiquetaMonto', parent=self,pos=wx.Point(200, 118), > size=wx.Size(54, 13), style=0) > > self.textoMonto = wx.TextCtrl(id=-1, name='textoMonto', > parent=self,pos=wx.Point(240, 114), size=wx.Size(158, 21)) > > # Precio porcentaje inicial > > self.etiquetaPorcentajeInicial = > wx.StaticText(id=-1,label='Porc. apl.', > name='etiquetaPorcentajeInicial', parent=self,pos=wx.Point(16, 142), > size=wx.Size(40, 13), style=0) > > self.textoPorcentajeInicial = wx.TextCtrl(id=-1, > name='textoPorcentajeInicial', > parent=self,pos=wx.Point(110, 138), size=wx.Size(40, 21)) > > # Botón de Aceptar datos. > self.aceptar = wx.Button(parent=self,id=-1,label="Generar > Descuento", > pos=wx.Point(160,160),size=wx.Size(130,30)) > > > # Botón de salida de la aplicación. > self.salir = wx.Button(parent=self,id=-1,label="Salir", > pos=wx.Point(300,160),size=wx.Size(98,30)) > > > # Creamos los manejadores de eventos, ligando los eventos a > # los métodos que tendrán el código asociado. > self.salir.Bind(wx.EVT_BUTTON, self.OnBotonSalir) > #self.salir.Bind(wx.EVT_CLOSE, self.OnSalir) > > self.aceptar.Bind(wx.EVT_BUTTON, self.OnClickAceptar) > > > > self.Bind(wx.EVT_CLOSE, self.cerrar) > > > def OnBotonSalir(self, event): > # Cerramos la ventana. > self.Close(True) > > #def OnSalir(self, event): > # Destruimos el widget. > #self.Destroy() > > > def OnClickAceptar(self,event): > # Calcular Resultados > global monto_descuento,nrocheque,nombre,apellidos,banco,monto,porcentajeinicial, > monto_mensual, monto_xdia, monto_decuento, dias, total_a_pagar > > nrocheque = self.textoNrocheque.GetValue() > banco = self.textoBanco.GetValue() > monto = self.textoMonto.GetValue() > nombre = self.textoNombre.GetValue() > apellidos = self.textoApellidos.GetValue() > porcentajeinicial = self.textoPorcentajeInicial.GetValue() > dias = self.textoDias.GetValue() > > monto = float(monto) > porcentajeinicial = float(porcentajeinicial) > monto_mensual = float(0.00) > monto_mensual = (monto * porcentajeinicial)/100 > monto_xdia = float(0.00) > monto_xdia = monto_mensual/30 > monto_descuento = 0.0 > dias = float(dias) > monto_descuento = monto_xdia * dias > > total_a_pagar = 0.0 > total_a_pagar = monto - monto_descuento > > > VentanaResultado = VentanaResultadoDescuento(self) > > VentanaResultado.Show(True) > VentanaResultado.MakeModal(True) > > def cerrar(self, evt): > self.MakeModal(False) > evt.Skip() > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From jza en oooes.org Wed Aug 21 22:07:12 2013 From: jza en oooes.org (Alexandro Colorado) Date: Wed, 21 Aug 2013 15:07:12 -0500 Subject: [Python-es] Ayuda urgente In-Reply-To: <20130821195517.GA10666@crunch> References: <520D2D31.8020607@ptravel.com.uy> <20130821195517.GA10666@crunch> Message-ID: Te sugiero que aprendas a debuggear, aqui un pequeño tutorial de idle, el IDE incluido en python. http://www.youtube.com/watch?v=kpyDMK9ZeV4 2013/8/21 Hiram Zúñiga > Hola al parecer el problema esta en que te falta un paréntesis, > para ser más exactos en el paréntesis que cierra ')' > pos=wx.Point(200,200) > > #tu script > def __init__(self, parent): > wx.Frame.__init__(self, parent ,-1, 'Ingresar Movimiento', > style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, > pos=wx.Point(200,200,size=wx.Size(410,200)) > > hiram > > > On Thu, Aug 15, 2013 at 04:34:09PM -0300, Alfredo Riguetti wrote: > > Tengo un sistema andando, no se que fue que toque sin querer que > > esta ventana me dejo de andar y cuando lo corro me da un error en : > > > > self.etiquetaBanco .... > > > > self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', > > ^ > > SyntaxError: invalid syntax > > > > el cofigo es este. aclaro ESTA ANANDO pero sin dudas algo paso y no > > me doy cuneta que.. > > > > > > class VentanaMovDescuento(wx.Frame): > > > > def __init__(self, parent): > > wx.Frame.__init__(self, parent ,-1, 'Ingresar Movimiento', > > style=wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX, > > pos=wx.Point(200,200,size=wx.Size(410,200)) > > > > # Banco. > > self.etiquetaBanco = wx.StaticText(id=-1,label='Nombre Banco', > > name='etiquetaBanco', parent=self,pos=wx.Point(16, 66), > > size=wx.Size(110, 30), style=0) > > > > self.textoBanco = wx.TextCtrl(id=-1, > name='textoBanco',parent=self, > > pos=wx.Point(110, 66), size=wx.Size(288, 21)) > > > > # Nro Cheque > > self.etiquetaNrocheque = wx.StaticText(id=-1,label='Nro de > cheque', > > name='etiquetaNrocheque', parent=self,pos=wx.Point(16, 93), > > size=wx.Size(110, 30), style=0) > > > > self.textoNrocheque = wx.TextCtrl(id=-1, name='textoNrocheque', > > parent=self,pos=wx.Point(110, 90), size=wx.Size(288, 21)) > > > > # Dias de descuento . > > self.etiquetaDias= wx.StaticText(id=-1,label='Dias a desc.', > > name='etiquetaDias', parent=self,pos=wx.Point(16, 118), > > size=wx.Size(110, 13), style=0) > > > > self.textoDias = wx.TextCtrl(id=-1, name='textoDias', > > parent=self,pos=wx.Point(110, 114), size=wx.Size(50, 21)) > > > > # Monto. > > self.etiquetaMonto = wx.StaticText(id=-1,label='Monto', > > name='etiquetaMonto', parent=self,pos=wx.Point(200, 118), > > size=wx.Size(54, 13), style=0) > > > > self.textoMonto = wx.TextCtrl(id=-1, name='textoMonto', > > parent=self,pos=wx.Point(240, 114), size=wx.Size(158, 21)) > > > > # Precio porcentaje inicial > > > > self.etiquetaPorcentajeInicial = > > wx.StaticText(id=-1,label='Porc. apl.', > > name='etiquetaPorcentajeInicial', parent=self,pos=wx.Point(16, > 142), > > size=wx.Size(40, 13), style=0) > > > > self.textoPorcentajeInicial = wx.TextCtrl(id=-1, > > name='textoPorcentajeInicial', > > parent=self,pos=wx.Point(110, 138), size=wx.Size(40, 21)) > > > > # Botón de Aceptar datos. > > self.aceptar = wx.Button(parent=self,id=-1,label="Generar > > Descuento", > > pos=wx.Point(160,160),size=wx.Size(130,30)) > > > > > > # Botón de salida de la aplicación. > > self.salir = wx.Button(parent=self,id=-1,label="Salir", > > pos=wx.Point(300,160),size=wx.Size(98,30)) > > > > > > # Creamos los manejadores de eventos, ligando los eventos a > > # los métodos que tendrán el código asociado. > > self.salir.Bind(wx.EVT_BUTTON, self.OnBotonSalir) > > #self.salir.Bind(wx.EVT_CLOSE, self.OnSalir) > > > > self.aceptar.Bind(wx.EVT_BUTTON, self.OnClickAceptar) > > > > > > > > self.Bind(wx.EVT_CLOSE, self.cerrar) > > > > > > def OnBotonSalir(self, event): > > # Cerramos la ventana. > > self.Close(True) > > > > #def OnSalir(self, event): > > # Destruimos el widget. > > #self.Destroy() > > > > > > def OnClickAceptar(self,event): > > # Calcular Resultados > > global > monto_descuento,nrocheque,nombre,apellidos,banco,monto,porcentajeinicial, > > monto_mensual, monto_xdia, monto_decuento, dias, total_a_pagar > > > > nrocheque = self.textoNrocheque.GetValue() > > banco = self.textoBanco.GetValue() > > monto = self.textoMonto.GetValue() > > nombre = self.textoNombre.GetValue() > > apellidos = self.textoApellidos.GetValue() > > porcentajeinicial = self.textoPorcentajeInicial.GetValue() > > dias = self.textoDias.GetValue() > > > > monto = float(monto) > > porcentajeinicial = float(porcentajeinicial) > > monto_mensual = float(0.00) > > monto_mensual = (monto * porcentajeinicial)/100 > > monto_xdia = float(0.00) > > monto_xdia = monto_mensual/30 > > monto_descuento = 0.0 > > dias = float(dias) > > monto_descuento = monto_xdia * dias > > > > total_a_pagar = 0.0 > > total_a_pagar = monto - monto_descuento > > > > > > VentanaResultado = VentanaResultadoDescuento(self) > > > > VentanaResultado.Show(True) > > VentanaResultado.MakeModal(True) > > > > def cerrar(self, evt): > > self.MakeModal(False) > > evt.Skip() > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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/ > -- Alexandro Colorado Apache OpenOffice Contributor http://www.openoffice.org ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jbc.develop en gmail.com Thu Aug 22 02:59:44 2013 From: jbc.develop en gmail.com (Juan BC) Date: Wed, 21 Aug 2013 21:59:44 -0300 Subject: [Python-es] determinar cual clase ha sido declarada primero Message-ID: Estoy haciendo un pequeño script que recibe otro script por parametro (osea un plugin) y lo que necesito es ordenar las clases dentro de el plugin en el orden que fueron declaradas: en un ejemplo trivial seria algo asi: # plugin.py class B(object): pass class A(object): pass # manager.py import plugin classes = [k, v for k,v in vars(plugin).items()] classes.sort() -- Juan B Cabral From fdanesse en gmail.com Thu Aug 22 03:11:08 2013 From: fdanesse en gmail.com (Flavio Danesse) Date: Wed, 21 Aug 2013 22:11:08 -0300 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: no entiendo mucho, pero capaz que lo que querés es saber el orden en que se instancian las clases en tiempo de ejecución, porque el orden de declaración es el orden en que están escritas en el archivo nada más. El 21 de agosto de 2013 21:59, Juan BC escribió: > Estoy haciendo un pequeño script que recibe otro script por parametro > (osea un plugin) y lo que necesito es ordenar las clases dentro de el > plugin en el orden que fueron declaradas: > > en un ejemplo trivial seria algo asi: > > # plugin.py > > class B(object): pass > class A(object): pass > > # manager.py > > import plugin > > classes = [k, v for k,v in vars(plugin).items()] > classes.sort() > > > > -- > Juan B Cabral > _______________________________________________ > 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: From olemis en gmail.com Thu Aug 22 05:48:32 2013 From: olemis en gmail.com (Olemis Lang) Date: Wed, 21 Aug 2013 22:48:32 -0500 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: On 8/21/13, Juan BC wrote: > Estoy haciendo un pequeño script que recibe otro script por parametro > (osea un plugin) y lo que necesito es ordenar las clases dentro de el > plugin en el orden que fueron declaradas: > > en un ejemplo trivial seria algo asi: > > # plugin.py > > class B(object): pass > class A(object): pass > > # manager.py > > import plugin > > classes = [k, v for k,v in vars(plugin).items()] > classes.sort() > Ejemplos rápidos con Python 2.x Sugerencia #1 : Solución genérica {{{#!py >>> class TimestampedType(type): ... def __init__(self, *args, **kwargs): ... super(TimestampedType, self).__init__(*args, **kwargs) ... self.__timestamp__ = datetime.now() ... >>> from datetime import datetime >>> class A: ... __metaclass__ = TimestampedType ... >>> class B: ... __metaclass__ = TimestampedType ... >>> class C: ... __metaclass__ = TimestampedType ... >>> classes = [B, A, C] >>> sorted(classes, key=lambda cls: cls.__timestamp__) [, , ] }}} Sugerencia #2 : Meta-cache (similar a ComponentMeta.cache de Trac + Bloodhound) {{{#!py >>> class PluginMeta(type): ... __cache__ = [] ... def __init__(self, *args, **kwargs): ... super(PluginMeta, self).__init__(*args, **kwargs) ... self.__cache__.append(self) ... >>> class A: ... __metaclass__ = PluginMeta ... >>> class B: ... __metaclass__ = PluginMeta ... >>> class C: ... __metaclass__ = PluginMeta ... >>> PluginMeta.__cache__ [, , ] }}} En ambos casos se puede prescindir de la meta-clase explícita utilizando herencia -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From jldalla en gmail.com Thu Aug 22 14:47:54 2013 From: jldalla en gmail.com (Jose Luis Dallapiccola) Date: Thu, 22 Aug 2013 09:47:54 -0300 Subject: [Python-es] =?iso-8859-1?q?OT=3A_Desarrollo_de_m=F3dulo_teniendo_?= =?iso-8859-1?q?gnu-health_como_base?= Message-ID: Hola, muy buen día. Necesito desarrollar un módulo específico para un mercado vertical (Veterinaria), teniendo como base gnu-health. El módulo se liberaría con alguna de las licencias libres. Les pido que los interesados en participar me contacten por privado (no hay ningún problema que sea a través de la lista, pero no quisiera llenarla de OT). Muchísimas gracias y saludos para todos! -- --- José Luis DALLAPICCOLA Neuquén Capital Patagonia Argentina ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pgsqlcol en gmail.com Thu Aug 22 15:27:03 2013 From: pgsqlcol en gmail.com (Ricardo Mendoza) Date: Thu, 22 Aug 2013 08:27:03 -0500 Subject: [Python-es] conflicto de versiones python Message-ID: Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar Blender instalado por medio de apt, en debian 7, pero al revisar veo que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para que blender arranque con la version correcta de python?. From lesthack en gmail.com Thu Aug 22 16:07:10 2013 From: lesthack en gmail.com (lesthack) Date: Thu, 22 Aug 2013 09:07:10 -0500 Subject: [Python-es] conflicto de versiones python In-Reply-To: References: Message-ID: Una forma muy sencilla de saber a que versión apunta /usr/bin/python es simplemente ejecutarlo. $ python Python 2.7.3 (default, Apr 10 2013, 05:46:21) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. En mi caso por ejemplo tengo predefinido la 2.7.3. Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un enlace simbólico a la versión que desees. ln -sf /usr/bin/python2.6 /usr/bin/python Saludos ! 2013/8/22 Ricardo Mendoza > Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar > Blender instalado por medio de apt, en debian 7, pero al revisar veo > que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para > que blender arranque con la version correcta de python?. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- ________________________________________________________ ISC. Jorge Luis Hernández C. Desarrollador de Software y Tecnologías Libres Colaborador GNU/Linux Debian México http://lesthack.com.mx http://blog.debian.mx/ @lesthack ________________________________________________________ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From reroes799 en gmail.com Thu Aug 22 16:28:13 2013 From: reroes799 en gmail.com (=?ISO-8859-1?Q?Ren=E9_Rolando_Elizalde_Solano?=) Date: Thu, 22 Aug 2013 09:28:13 -0500 Subject: [Python-es] conflicto de versiones python In-Reply-To: References: Message-ID: Usa virtualenv... es una opción. El 22 de agosto de 2013 09:07, lesthack escribió: > Una forma muy sencilla de saber a que versión apunta /usr/bin/python es > simplemente ejecutarlo. > > $ python > Python 2.7.3 (default, Apr 10 2013, 05:46:21) > [GCC 4.6.3] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > > En mi caso por ejemplo tengo predefinido la 2.7.3. > > Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un > enlace simbólico a la versión que desees. > > ln -sf /usr/bin/python2.6 /usr/bin/python > > Saludos ! > > > 2013/8/22 Ricardo Mendoza > >> Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar >> Blender instalado por medio de apt, en debian 7, pero al revisar veo >> que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para >> que blender arranque con la version correcta de python?. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > ________________________________________________________ > > ISC. Jorge Luis Hernández C. > Desarrollador de Software y Tecnologías Libres > > Colaborador GNU/Linux Debian México > http://lesthack.com.mx > http://blog.debian.mx/ > @lesthack > ________________________________________________________ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- René Rolando Elizalde Solano *Ingeniero en Sistemas* *Analista - *Programador *PYTHON, HTML, CSS, JQUERY, SQLALCHEMY* * * http://reroes79.wordpress.com http://reroes799.blogspot.com/ http://twitter.com/reroes http://www.facebook.com/reroes799 *rrelizalde en utpl.edu.ec* reroes79 en hotmail.com reroes79 en yahoo.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nachoel01 en gmail.com Thu Aug 22 16:09:41 2013 From: nachoel01 en gmail.com (=?UTF-8?Q?Ignacio_Rodr=C3=ADguez?=) Date: Thu, 22 Aug 2013 11:09:41 -0300 Subject: [Python-es] conflicto de versiones python In-Reply-To: References: Message-ID: Es más seguro: alias python="python[versionquesea]" El 22 de agosto de 2013 11:07, lesthack escribió: > Una forma muy sencilla de saber a que versión apunta /usr/bin/python es > simplemente ejecutarlo. > > $ python > Python 2.7.3 (default, Apr 10 2013, 05:46:21) > [GCC 4.6.3] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > > En mi caso por ejemplo tengo predefinido la 2.7.3. > > Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un > enlace simbólico a la versión que desees. > > ln -sf /usr/bin/python2.6 /usr/bin/python > > Saludos ! > > > 2013/8/22 Ricardo Mendoza > >> Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar >> Blender instalado por medio de apt, en debian 7, pero al revisar veo >> que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para >> que blender arranque con la version correcta de python?. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > ________________________________________________________ > > ISC. Jorge Luis Hernández C. > Desarrollador de Software y Tecnologías Libres > > Colaborador GNU/Linux Debian México > http://lesthack.com.mx > http://blog.debian.mx/ > @lesthack > ________________________________________________________ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Ignacio Rodríguez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From hfoffani en gmail.com Thu Aug 22 17:11:04 2013 From: hfoffani en gmail.com (=?iso-8859-1?Q?Hern=E1n_Foffani?=) Date: Thu, 22 Aug 2013 17:11:04 +0200 Subject: [Python-es] conflicto de versiones python In-Reply-To: References: Message-ID: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> > Usa virtualenv... > es una opción. > > > El 22 de agosto de 2013 09:07, lesthack escribió: > Una forma muy sencilla de saber a que versión apunta /usr/bin/python es simplemente ejecutarlo. > > $ python > Python 2.7.3 (default, Apr 10 2013, 05:46:21) > [GCC 4.6.3] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > > En mi caso por ejemplo tengo predefinido la 2.7.3. > > Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un enlace simbólico a la versión que desees. > > ln -sf /usr/bin/python2.6 /usr/bin/python > > Saludos ! > > > 2013/8/22 Ricardo Mendoza > Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar > Blender instalado por medio de apt, en debian 7, pero al revisar veo > que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para > que blender arranque con la version correcta de python?. > > FAQ: http://python-es-faq.wikidot.com/ Sí, yo también recomiendo virtualenv. Especialmente el wrapper: http://virtualenvwrapper.readthedocs.org/en/latest/ Le dedicas unos minutos una vez pero luego te blindas de cualquier conflicto futuro entre versiones de python y/o paquetes. -Hernán. From lesthack en gmail.com Thu Aug 22 19:57:18 2013 From: lesthack en gmail.com (lesthack) Date: Thu, 22 Aug 2013 12:57:18 -0500 Subject: [Python-es] conflicto de versiones python In-Reply-To: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> References: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> Message-ID: Si, virtualenv es una buena opción, solo tendría que indicarle a Blender donde esta la ruta de su entorno aislado. Saludos ! 2013/8/22 Hernán Foffani > > > Usa virtualenv... > > es una opción. > > > > > > El 22 de agosto de 2013 09:07, lesthack escribió: > > Una forma muy sencilla de saber a que versión apunta /usr/bin/python es > simplemente ejecutarlo. > > > > $ python > > Python 2.7.3 (default, Apr 10 2013, 05:46:21) > > [GCC 4.6.3] on linux2 > > Type "help", "copyright", "credits" or "license" for more information. > > > > En mi caso por ejemplo tengo predefinido la 2.7.3. > > > > Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un > enlace simbólico a la versión que desees. > > > > ln -sf /usr/bin/python2.6 /usr/bin/python > > > > Saludos ! > > > > > > 2013/8/22 Ricardo Mendoza > > Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar > > Blender instalado por medio de apt, en debian 7, pero al revisar veo > > que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para > > que blender arranque con la version correcta de python?. > > > > FAQ: http://python-es-faq.wikidot.com/ > > > Sí, yo también recomiendo virtualenv. Especialmente el wrapper: > http://virtualenvwrapper.readthedocs.org/en/latest/ > > Le dedicas unos minutos una vez pero luego te blindas de cualquier > conflicto > futuro entre versiones de python y/o paquetes. > > -Hernán. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- ________________________________________________________ ISC. Jorge Luis Hernández C. Desarrollador de Software y Tecnologías Libres Colaborador GNU/Linux Debian México http://lesthack.com.mx http://blog.debian.mx/ @lesthack ________________________________________________________ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From esteban en princesa.pri.sld.cu Thu Aug 22 20:03:18 2013 From: esteban en princesa.pri.sld.cu (Luis) Date: Thu, 22 Aug 2013 18:03:18 -0000 Subject: [Python-es] =?iso-8859-15?q?Instalaci=F3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: Hola Juan José, haciéndolo como me dices puedo levantarlo pero a veces se ha terminado abruptamente y me informa, esteban en mi_pc:~$ eric Violación de segmento Y qué cosa es 'eric-tray', es decir, cómo lo arranco pues por lo visto no es un paquete verdad? Me refiero a la v. 4 del repo. -- Saludos, Luis Esteban de Dios Núñez ----------------------------------- CONSULTE la Revista de Ciencias Medicas de Pinar del Rio en Internet www.revcmpinar.sld.cu -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ From jbc.develop en gmail.com Thu Aug 22 20:26:13 2013 From: jbc.develop en gmail.com (Juan BC) Date: Thu, 22 Aug 2013 15:26:13 -0300 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: gracias :) El día 22 de agosto de 2013 00:48, Olemis Lang escribió: > On 8/21/13, Juan BC wrote: >> Estoy haciendo un pequeño script que recibe otro script por parametro >> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >> plugin en el orden que fueron declaradas: >> >> en un ejemplo trivial seria algo asi: >> >> # plugin.py >> >> class B(object): pass >> class A(object): pass >> >> # manager.py >> >> import plugin >> >> classes = [k, v for k,v in vars(plugin).items()] >> classes.sort() >> > > Ejemplos rápidos con Python 2.x > > Sugerencia #1 : Solución genérica > > {{{#!py > >>>> class TimestampedType(type): > ... def __init__(self, *args, **kwargs): > ... super(TimestampedType, self).__init__(*args, **kwargs) > ... self.__timestamp__ = datetime.now() > ... >>>> from datetime import datetime >>>> class A: > ... __metaclass__ = TimestampedType > ... >>>> class B: > ... __metaclass__ = TimestampedType > ... >>>> class C: > ... __metaclass__ = TimestampedType > ... >>>> classes = [B, A, C] >>>> sorted(classes, key=lambda cls: cls.__timestamp__) > [, , ] > }}} > > Sugerencia #2 : Meta-cache (similar a ComponentMeta.cache de Trac + Bloodhound) > > {{{#!py > >>>> class PluginMeta(type): > ... __cache__ = [] > ... def __init__(self, *args, **kwargs): > ... super(PluginMeta, self).__init__(*args, **kwargs) > ... self.__cache__.append(self) > ... >>>> class A: > ... __metaclass__ = PluginMeta > ... >>>> class B: > ... __metaclass__ = PluginMeta > ... >>>> class C: > ... __metaclass__ = PluginMeta > ... >>>> PluginMeta.__cache__ > [, , ] > }}} > > En ambos casos se puede prescindir de la meta-clase explícita > utilizando herencia > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Juan B Cabral From jjgomera en gmail.com Thu Aug 22 20:34:18 2013 From: jjgomera en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_G=F3mez_Romera?=) Date: Thu, 22 Aug 2013 20:34:18 +0200 Subject: [Python-es] =?iso-8859-1?q?Instalaci=F3n_de_Eric-ide_5?= In-Reply-To: References: Message-ID: Eric trae muchas funcionalidades que se pueden ejecutar directamente jjgomera en ordenata:~$ eric4 eric4 eric4_doc eric4_pluginuninstall eric4_trpreviewer eric4_api eric4_editor eric4_qregexp eric4_uipreviewer eric4_compare eric4_iconeditor eric4_re eric4_unittest eric4_configure eric4_plugininstall eric4_sqlbrowser eric4_webbrowser eric4_diff eric4_pluginrepository eric4_tray jjgomera en ordenata:~$ eric4_tray Yo suelo iniciar primero eric4_tray y a partir de él ejecutar eric, y nunca he tenido problemas así. Por terminal nunca he tenido el problema que comentas, ni con la versión de los repos ni con la ultima versión de eric4 instalada desde su página. El 16 de abril de 2003 03:02, Luis escribió: > Hola Juan José, > > haciéndolo como me dices puedo levantarlo pero a veces se ha terminado > abruptamente y me informa, > > esteban en mi_pc:~$ eric > Violación de segmento > > Y qué cosa es 'eric-tray', es decir, cómo lo arranco pues por lo visto no > es un paquete verdad? > > Me refiero a la v. 4 del repo. > > > -- > Saludos, > > Luis Esteban de Dios Núñez > > ------------------------------**----- > CONSULTE la Revista de Ciencias Medicas > de Pinar del Rio en Internet > www.revcmpinar.sld.cu > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > ______________________________**_________________ > 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: From razpeitia en gmail.com Thu Aug 22 22:43:00 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Thu, 22 Aug 2013 15:43:00 -0500 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: Solución super simple crea una lista llamada CLASSES con tus orden que tu quieras de tus clases. Recuerda poner la lista al final de tu modulo. Ejemplo CLASSES = [B, A] El día 22 de agosto de 2013 13:26, Juan BC escribió: > gracias :) > > El día 22 de agosto de 2013 00:48, Olemis Lang escribió: >> On 8/21/13, Juan BC wrote: >>> Estoy haciendo un pequeño script que recibe otro script por parametro >>> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >>> plugin en el orden que fueron declaradas: >>> >>> en un ejemplo trivial seria algo asi: >>> >>> # plugin.py >>> >>> class B(object): pass >>> class A(object): pass >>> >>> # manager.py >>> >>> import plugin >>> >>> classes = [k, v for k,v in vars(plugin).items()] >>> classes.sort() >>> >> >> Ejemplos rápidos con Python 2.x >> >> Sugerencia #1 : Solución genérica >> >> {{{#!py >> >>>>> class TimestampedType(type): >> ... def __init__(self, *args, **kwargs): >> ... super(TimestampedType, self).__init__(*args, **kwargs) >> ... self.__timestamp__ = datetime.now() >> ... >>>>> from datetime import datetime >>>>> class A: >> ... __metaclass__ = TimestampedType >> ... >>>>> class B: >> ... __metaclass__ = TimestampedType >> ... >>>>> class C: >> ... __metaclass__ = TimestampedType >> ... >>>>> classes = [B, A, C] >>>>> sorted(classes, key=lambda cls: cls.__timestamp__) >> [, , ] >> }}} >> >> Sugerencia #2 : Meta-cache (similar a ComponentMeta.cache de Trac + Bloodhound) >> >> {{{#!py >> >>>>> class PluginMeta(type): >> ... __cache__ = [] >> ... def __init__(self, *args, **kwargs): >> ... super(PluginMeta, self).__init__(*args, **kwargs) >> ... self.__cache__.append(self) >> ... >>>>> class A: >> ... __metaclass__ = PluginMeta >> ... >>>>> class B: >> ... __metaclass__ = PluginMeta >> ... >>>>> class C: >> ... __metaclass__ = PluginMeta >> ... >>>>> PluginMeta.__cache__ >> [, , ] >> }}} >> >> En ambos casos se puede prescindir de la meta-clase explícita >> utilizando herencia >> >> -- >> Regards, >> >> Olemis - @olemislc >> >> Apache? Bloodhound contributor >> http://issues.apache.org/bloodhound >> http://blood-hound.net >> >> Blog ES: http://simelo-es.blogspot.com/ >> Blog EN: http://simelo-en.blogspot.com/ >> >> Featured article: >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > > -- > Juan B Cabral > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From hfoffani en gmail.com Fri Aug 23 10:27:00 2013 From: hfoffani en gmail.com (=?iso-8859-1?Q?Hern=E1n_Foffani?=) Date: Fri, 23 Aug 2013 10:27:00 +0200 Subject: [Python-es] conflicto de versiones python In-Reply-To: References: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> Message-ID: En virtualenv estableces el entorno haciendo "workon blender" (o como lo hayas llamado) en la línea de comandos y ya está. Hernán M. Foffani El 22/08/2013, a las 19:57, lesthack escribió: > > Si, virtualenv es una buena opción, solo tendría que indicarle a Blender donde esta la ruta de su entorno aislado. > > Saludos ! > > > 2013/8/22 Hernán Foffani > > > Usa virtualenv... > > es una opción. > > > > > > El 22 de agosto de 2013 09:07, lesthack escribió: > > Una forma muy sencilla de saber a que versión apunta /usr/bin/python es simplemente ejecutarlo. > > > > $ python > > Python 2.7.3 (default, Apr 10 2013, 05:46:21) > > [GCC 4.6.3] on linux2 > > Type "help", "copyright", "credits" or "license" for more information. > > > > En mi caso por ejemplo tengo predefinido la 2.7.3. > > > > Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un enlace simbólico a la versión que desees. > > > > ln -sf /usr/bin/python2.6 /usr/bin/python > > > > Saludos ! > > > > > > 2013/8/22 Ricardo Mendoza > > Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar > > Blender instalado por medio de apt, en debian 7, pero al revisar veo > > que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para > > que blender arranque con la version correcta de python?. > > > > FAQ: http://python-es-faq.wikidot.com/ > > > Sí, yo también recomiendo virtualenv. Especialmente el wrapper: > http://virtualenvwrapper.readthedocs.org/en/latest/ > > Le dedicas unos minutos una vez pero luego te blindas de cualquier conflicto > futuro entre versiones de python y/o paquetes. > > -Hernán. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > -- > ________________________________________________________ > > ISC. Jorge Luis Hernández C. > Desarrollador de Software y Tecnologías Libres > > Colaborador GNU/Linux Debian México > http://lesthack.com.mx > http://blog.debian.mx/ > @lesthack > ________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From pych3m4 en gmail.com Fri Aug 23 12:02:00 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 23 Aug 2013 12:02:00 +0200 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: El día 22 de agosto de 2013 02:59, Juan BC escribió: > Estoy haciendo un pequeño script que recibe otro script por parametro > (osea un plugin) y lo que necesito es ordenar las clases dentro de el > plugin en el orden que fueron declaradas: > > en un ejemplo trivial seria algo asi: > > # plugin.py > > class B(object): pass > class A(object): pass > > # manager.py > > import plugin > > classes = [k, v for k,v in vars(plugin).items()] > classes.sort() No es buena idea ésto que quieres hacer. Por ejemplo, ¿dónde dirías que se "declaran" las clases si hago ésto?: from plugin import * ¿Y si me da por hacer cosas como estas? class A: pass B = A class A: pass Hay dos clases, pero en verdad he redeclarado 'A'. Por lo que parece, estás creando una especie de API para creación de plugins y te gustaría obtener el orden de los plugins tal y como son declarados. Una solución sería usando metaclases tal como te ha sugerido Olemis Lang. Pero las metaclases son algo complejas de manejar y es posible evitar su uso en muchos casos desde que existen los decoradores de clase. Por ejemplo, puedes hacer lo siguiente: class Plugin(object): def __init__(self): self.plugins = {} def register(self, cls): if cls.__module__ not in self.plugins: self.plugins[cls.__module__] = [] self.plugins[cls.__module__].append(cls.__name__) plugin=Plugin() Y pedir a tus usuarios que "registren" sus plugins: @plugin.register class A(object): pass @plugin.register class B(object): pass Si quieres más control, puedes crear decoradores con argumentos, por ejemplo para pasar el nombre completo del plugin o el autor. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From pych3m4 en gmail.com Fri Aug 23 13:34:31 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 23 Aug 2013 13:34:31 +0200 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: El día 23 de agosto de 2013 12:02, Chema Cortes escribió: > El día 22 de agosto de 2013 02:59, Juan BC escribió: >> Estoy haciendo un pequeño script que recibe otro script por parametro >> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >> plugin en el orden que fueron declaradas: >> >> en un ejemplo trivial seria algo asi: >> >> # plugin.py >> >> class B(object): pass >> class A(object): pass >> >> # manager.py >> >> import plugin >> >> classes = [k, v for k,v in vars(plugin).items()] >> classes.sort() > > No es buena idea ésto que quieres hacer. Por ejemplo, ¿dónde dirías > que se "declaran" las clases si hago ésto?: > > from plugin import * > > ¿Y si me da por hacer cosas como estas? > > class A: pass > > B = A > > class A: pass > > Hay dos clases, pero en verdad he redeclarado 'A'. > > Por lo que parece, estás creando una especie de API para creación de > plugins y te gustaría obtener el orden de los plugins tal y como son > declarados. Una solución sería usando metaclases tal como te ha > sugerido Olemis Lang. Pero las metaclases son algo complejas de > manejar y es posible evitar su uso en muchos casos desde que existen > los decoradores de clase. > > Por ejemplo, puedes hacer lo siguiente: > > class Plugin(object): > > def __init__(self): > self.plugins = {} > > def register(self, cls): > > if cls.__module__ not in self.plugins: > self.plugins[cls.__module__] = [] > > self.plugins[cls.__module__].append(cls.__name__) Un pequeño fallo: para que funcione bien, el decorador debe devolver la clase def register(self, cls): if cls.__module__ not in self.plugins: self.plugins[cls.__module__] = [] self.plugins[cls.__module__].append(cls.__name__) return cls > > plugin=Plugin() > > Y pedir a tus usuarios que "registren" sus plugins: > > @plugin.register > class A(object): > pass > > @plugin.register > class B(object): > pass > > Si quieres más control, puedes crear decoradores con argumentos, por > ejemplo para pasar el nombre completo del plugin o el autor. > > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From olemis en gmail.com Fri Aug 23 16:31:26 2013 From: olemis en gmail.com (Olemis Lang) Date: Fri, 23 Aug 2013 09:31:26 -0500 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: On 8/23/13, Chema Cortes wrote: > El día 22 de agosto de 2013 02:59, Juan BC > escribió: >> Estoy haciendo un pequeño script que recibe otro script por parametro >> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >> plugin en el orden que fueron declaradas: >> >> en un ejemplo trivial seria algo asi: >> >> # plugin.py >> >> class B(object): pass >> class A(object): pass >> >> # manager.py >> >> import plugin >> >> classes = [k, v for k,v in vars(plugin).items()] >> classes.sort() > > No es buena idea ésto que quieres hacer. Por ejemplo, ¿dónde dirías > que se "declaran" las clases si hago ésto?: > > from plugin import * > > ¿Y si me da por hacer cosas como estas? > > class A: pass > > B = A > > class A: pass > > Hay dos clases, pero en verdad he redeclarado 'A'. > > Por lo que parece, estás creando una especie de API para creación de > plugins y te gustaría obtener el orden de los plugins tal y como son > declarados. Una solución sería usando metaclases tal como te ha > sugerido Olemis Lang. Pero las metaclases son algo complejas de > manejar y es posible evitar su uso en muchos casos desde que existen > los decoradores de clase. > La elección entre meta-clases y decoradores de clases , en este caso , puede ser a gusto de la persona en cuestión . De hecho en teoría Trac podría facilitar las dos variantes : - metaclases para el sistema d plugins ComponentMeta (Component + ComponentManager) - decoradores de clases para declara las interfaces q implementa una clase (i.e. implements) Nótese que en este caso la diferencia entre las dos variantes consiste en expresar intrínsecamente el comportamiento esperado de las clases (registrarse en orden en el cache global, añadir el comportamiento esperado del sistema d plugins e.g. implement ParametricSingleton pattern per ComponentManager, etc ...) vs el comportamiento específico d una clase en cuestión (registrarse en orden en el cache de la interface específica ...) Como se puede ver no son conceptos equivalentes . Las meta-clases participan en herencia , añaden comportamientos a los meta-objetos q representan las clases (clases) y sus instancias (objetos) ; además son tipos . Los decoradores son modificadores más puntuales ... quizás parecidos a la situación descriptores vs __getattr__ El hecho de poner __metaclass__ en el cuerpo de la clase se puede solucionar haciendo la asignación en una clase base (e.g. trac.core.Component) y ya no es necesario repetirlo en las sub-clases . De hecho , en Trac + Bloodhound el hecho d tener ComponentMeta y todo el modelo meta es transparente ... [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis en gmail.com Fri Aug 23 17:35:35 2013 From: olemis en gmail.com (Olemis Lang) Date: Fri, 23 Aug 2013 10:35:35 -0500 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: Olvidé unas precisiones ... On 8/23/13, Chema Cortes wrote: > El día 22 de agosto de 2013 02:59, Juan BC > escribió: >> Estoy haciendo un pequeño script que recibe otro script por parametro >> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >> plugin en el orden que fueron declaradas: >> >> en un ejemplo trivial seria algo asi: >> >> # plugin.py >> >> class B(object): pass >> class A(object): pass >> >> # manager.py >> >> import plugin >> >> classes = [k, v for k,v in vars(plugin).items()] >> classes.sort() > > No es buena idea ésto que quieres hacer. Sí es buena idea . Se hace en Trac + Bloodhound desde hace mucho tiempo por varias razones . > Por ejemplo, ¿dónde dirías > que se "declaran" las clases si hago ésto?: > > from plugin import * > Considerando q la petición original estaba relacionada con el órden de instanciación d las clases , no veo la problemática de este ejemplo . El import no influye en lo absoluto en la declaración de las clases , si es q se hace en el módulo plugin (q asumo q sea el caso). Si se trata del # de la línea d código ... otros $20 USD ;) > ¿Y si me da por hacer cosas como estas? > > class A: pass > > B = A > > class A: pass > No pasa absolutamente nada . Ud acaba de declarar dos clases , una después de la otra , las dos con el nombre A . B es simplemente el nombre d una variable q se registra en el namespace local . > Hay dos clases, pero en verdad he redeclarado 'A'. > No (ver más abajo) ... desde el punto d vista del modelo de plugins hay dos clases completamente diferentes con el mismo nombre ; lo cual puede traer implicaciones e.g. en Trac + Bloodhound la segunda clase nunca será configurable mediante ExtensionOption (si las dos clases están habilitadas en trac.ini ;) . Ahora este comentario no es 100% preciso pq la metaclase podría garantizar la únicidad del nombre de los plugins (clases) y remplazar la primera instancia d A en el cache con la segunda ... pero eso ya son circunstancias más sofisticadas . Anteriormente estaba hablando a temperatura y presión estándar ;) [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From pych3m4 en gmail.com Fri Aug 23 19:27:04 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 23 Aug 2013 19:27:04 +0200 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: El día 23 de agosto de 2013 16:31, Olemis Lang escribió: > On 8/23/13, Chema Cortes wrote: >> El día 22 de agosto de 2013 02:59, Juan BC >> escribió: >>> Estoy haciendo un pequeño script que recibe otro script por parametro >>> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >>> plugin en el orden que fueron declaradas: >>> >>> en un ejemplo trivial seria algo asi: >>> >>> # plugin.py >>> >>> class B(object): pass >>> class A(object): pass >>> >>> # manager.py >>> >>> import plugin >>> >>> classes = [k, v for k,v in vars(plugin).items()] >>> classes.sort() >> >> No es buena idea ésto que quieres hacer. Por ejemplo, ¿dónde dirías >> que se "declaran" las clases si hago ésto?: >> >> from plugin import * >> >> ¿Y si me da por hacer cosas como estas? >> >> class A: pass >> >> B = A >> >> class A: pass >> >> Hay dos clases, pero en verdad he redeclarado 'A'. >> >> Por lo que parece, estás creando una especie de API para creación de >> plugins y te gustaría obtener el orden de los plugins tal y como son >> declarados. Una solución sería usando metaclases tal como te ha >> sugerido Olemis Lang. Pero las metaclases son algo complejas de >> manejar y es posible evitar su uso en muchos casos desde que existen >> los decoradores de clase. >> > > La elección entre meta-clases y decoradores de clases , en este caso , > puede ser a gusto de la persona en cuestión . De hecho en teoría Trac > podría facilitar las dos variantes : > > - metaclases para el sistema d plugins ComponentMeta (Component + > ComponentManager) > - decoradores de clases para declara las interfaces q > implementa una clase (i.e. implements) > > Nótese que en este caso la diferencia entre las dos variantes consiste > en expresar intrínsecamente el comportamiento esperado de las clases > (registrarse en orden en el cache global, añadir el comportamiento > esperado del sistema d plugins e.g. implement ParametricSingleton > pattern per ComponentManager, etc ...) vs el comportamiento específico > d una clase en cuestión (registrarse en orden en el cache de la > interface específica ...) > > Como se puede ver no son conceptos equivalentes . Las meta-clases > participan en herencia , añaden comportamientos a los meta-objetos q > representan las clases (clases) y sus instancias (objetos) ; además > son tipos . Los decoradores son modificadores más puntuales ... quizás > parecidos a la situación descriptores vs __getattr__ > > El hecho de poner __metaclass__ en el cuerpo de la clase se puede > solucionar haciendo la asignación en una clase base (e.g. > trac.core.Component) y ya no es necesario repetirlo en las sub-clases > . De hecho , en Trac + Bloodhound el hecho d tener ComponentMeta y > todo el modelo meta es transparente ... No he dicho que los decoradores fueran los sustitutos de las metaclases, sino que pueden evitar tener que usarlas en determinadas situaciones. Las metaclases ofrecen la posibilidad de crear un modelo de datos bastante consistente para el problema que necesites tratar; pero, en mi opinion, tienen un verdadero problema con la herencia ya que las metaclases no tienen herencia múltiple. Si necesitas combinar dos modelos de datos distintos, cada uno con una metaclase, necesitarás crear una supermetaclase común y modificar buena parte del código. En cambio, los decoradores de clases se pueden encadenar uno tras otro sin más preocupaciones. Por otro lado, el valor de '__metaclass__' no tiene porque ser una clase, ya que podría ser cualquier "callable", incluso una función, lo que se asemejaría bastante a lo que hace un decorador. No veo que sea tanta la diferencia entre uno y otro como lo pones, con la excepción de que los decoradores son más explícitos. Y éso es bueno para según qué cosas. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From pych3m4 en gmail.com Fri Aug 23 19:57:59 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri, 23 Aug 2013 19:57:59 +0200 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: El día 23 de agosto de 2013 17:35, Olemis Lang escribió: > Olvidé unas precisiones ... > > On 8/23/13, Chema Cortes wrote: >> El día 22 de agosto de 2013 02:59, Juan BC >> escribió: >>> Estoy haciendo un pequeño script que recibe otro script por parametro >>> (osea un plugin) y lo que necesito es ordenar las clases dentro de el >>> plugin en el orden que fueron declaradas: >>> >>> en un ejemplo trivial seria algo asi: >>> >>> # plugin.py >>> >>> class B(object): pass >>> class A(object): pass >>> >>> # manager.py >>> >>> import plugin >>> >>> classes = [k, v for k,v in vars(plugin).items()] >>> classes.sort() >> >> No es buena idea ésto que quieres hacer. > > Sí es buena idea . Se hace en Trac + Bloodhound desde hace mucho > tiempo por varias razones . No me cabe duda que para seguimiento de un fichero de código se necesite saber el orden en que han sido declarados los objetos. Pero la creación de objetos se puede enmascarar de muchas formas, y era lo que pretendía ilustrar. La creación de una clase puede hacerse fuera de la línea temporal, incluso a través de metaclases que cambien un tipo por otro. > >> Por ejemplo, ¿dónde dirías >> que se "declaran" las clases si hago ésto?: >> >> from plugin import * >> > > Considerando q la petición original estaba relacionada con el órden de > instanciación d las clases , no veo la problemática de este ejemplo . > El import no influye en lo absoluto en la declaración de las clases , > si es q se hace en el módulo plugin (q asumo q sea el caso). > > Si se trata del # de la línea d código ... otros $20 USD ;) > >> ¿Y si me da por hacer cosas como estas? >> >> class A: pass >> >> B = A >> >> class A: pass >> > > No pasa absolutamente nada . Ud acaba de declarar dos clases , una > después de la otra , las dos con el nombre A . B es simplemente el > nombre d una variable q se registra en el namespace local . > >> Hay dos clases, pero en verdad he redeclarado 'A'. >> > > No (ver más abajo) ... desde el punto d vista del modelo de plugins > hay dos clases completamente diferentes con el mismo nombre ; lo cual > puede traer implicaciones e.g. en Trac + Bloodhound la segunda clase > nunca será configurable mediante ExtensionOption (si las dos clases > están habilitadas en trac.ini ;) . > > Ahora este comentario no es 100% preciso pq la metaclase podría > garantizar la únicidad del nombre de los plugins (clases) y remplazar > la primera instancia d A en el cache con la segunda ... pero eso ya > son circunstancias más sofisticadas . Anteriormente estaba hablando a > temperatura y presión estándar ;) > > [...] > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From olemis en gmail.com Fri Aug 23 21:55:44 2013 From: olemis en gmail.com (Olemis Lang) Date: Fri, 23 Aug 2013 14:55:44 -0500 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: On 8/23/13, Chema Cortes wrote: > El día 23 de agosto de 2013 16:31, Olemis Lang escribió: [...] >> >> Nótese que en este caso la diferencia entre las dos variantes consiste >> en expresar intrínsecamente el comportamiento esperado de las clases >> (registrarse en orden en el cache global, añadir el comportamiento >> esperado del sistema d plugins e.g. implement ParametricSingleton >> pattern per ComponentManager, etc ...) vs el comportamiento específico >> d una clase en cuestión (registrarse en orden en el cache de la >> interface específica ...) >> >> Como se puede ver no son conceptos equivalentes . Las meta-clases >> participan en herencia , añaden comportamientos a los meta-objetos q >> representan las clases (clases) y sus instancias (objetos) ; además >> son tipos . Los decoradores son modificadores más puntuales ... quizás >> parecidos a la situación descriptores vs __getattr__ >> >> El hecho de poner __metaclass__ en el cuerpo de la clase se puede >> solucionar haciendo la asignación en una clase base (e.g. >> trac.core.Component) y ya no es necesario repetirlo en las sub-clases >> . De hecho , en Trac + Bloodhound el hecho d tener ComponentMeta y >> todo el modelo meta es transparente ... > > No he dicho que los decoradores fueran los sustitutos de las > metaclases, sino que pueden evitar tener que usarlas en determinadas > situaciones. > No era mi intención sugerir q antes se había dicho alguna cosa . Yo solo estaba complementando los comentarios anteriores para brindar más elementos a la hora de decidir por una u otra variante ;) > Las metaclases ofrecen la posibilidad de crear un modelo de datos > bastante consistente para el problema que necesites tratar; pero, en > mi opinion, tienen un verdadero problema con la herencia ya que las > metaclases no tienen herencia múltiple. Si necesitas combinar dos > modelos de datos distintos, cada uno con una metaclase, necesitarás > crear una supermetaclase común y modificar buena parte del código. > > En cambio, los decoradores de clases se pueden encadenar uno tras otro > sin más preocupaciones. > > Por otro lado, el valor de '__metaclass__' no tiene porque ser una > clase, ya que podría ser cualquier "callable", Entonces , en buena lid , ya no sería una metaclase sino un class factory o quizás alguna otra cosa más complicada dependiendo d los detalles d implementación . La meta-clase es un concepto abstracto d la POO q va más allá del hecho d q la variable en Python se llame __metaclass__ y acepte cualquier callable . ;) > incluso una función, lo > que se asemejaría bastante a lo que hace un decorador. +1 ... la única diferencia creo q sería la propagación de la meta-clase a las sub-clases mediante herencia , q es lo q no se logra con decoradores por ser estos un artificio sintáctico del lenguaje . Quizás hay resultados q solo se logran d forma *más correcta* al nivel de las meta-clases Por ejemplo, recuerdo ahora las implementaciones del patrón Singleton (y similares e.g. ParametricSingleton como es el caso d trac.core.Component) basados en la redefinición de __call__ en la metaclase , pero no es el único caso . D hecho , un sistema d plugins q *tiende* a ser compuesto por singletons (q puede ser un caso muy frecuente según mi experiencia) frecuentemente necesita meta-clase, porque es el mecanismo más efectivo q existe en el lenguaje para controlar la creación d instancias d las clases (... ya sé, ya sé ... __new__ + __init___ => no son suficientes , y al final son el resultado d las reglas q impone type__call__ , redefiniéndolo se puede implementar un sistema completamente nuevo a partir d una meta-clase diferente e.g. invocar un método con el mismo nombre d la clase à la C# en vez d __init__) > No veo que sea > tanta la diferencia entre uno y otro como lo pones, ... dependiendo d las circunstancias puede q no tanto ... no m atrevo a profundizar más pq realmente no sabemos cuál es el caso d uso y los requisitos reales q están involucrados en la pregunta original . > con la excepción > de que los decoradores son más explícitos. > Y éso es bueno para según > qué cosas. > No hay desacuerdo ; solo q es bueno aclararlo . [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From ailurus.fulgens en hotmail.com Sat Aug 24 09:10:32 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Sat, 24 Aug 2013 02:10:32 -0500 Subject: [Python-es] Visualizador de espectro de audio Python In-Reply-To: <52020DF0.7090001@gmail.com> References: , <201308051357.12991.jsm@iaa.es>, <52020DF0.7090001@gmail.com> Message-ID: espero k no sea tarde. tal vez esto te ayude :3 al fin puede ayudar... > Date: Wed, 7 Aug 2013 11:05:52 +0200 > From: juanlu001 en gmail.com > To: python-es en python.org > Subject: Re: [Python-es] Visualizador de espectro de audio Python > > On 08/05/2013 02:57 PM, Jose Sabater Montes wrote: > > On Saturday 03 August 2013 00:10:22 Acústico Cáustico wrote: > >> Hola a todos, soy muy nuevo en python, llevo programando 6 meses y he > >> decidido aprender en este lenguaje, en este momento estoy intentando hacer > >> un visualizador de espectro de audio, es decir, trato de hacer algo como > >> esto https://www.youtube.com/watch?v=-8GwCtsGpPg > >> > >> Ya se como extraer la informacion espectral del audio, lo estoy haciendo > >> con numpy.fft, lo que no he podido descubrir es como hacer la animación, me > >> refiero a convertir los datos obtenidos a partir de la FFT para graficarlos > >> por banda de frecuencia. > > Yo le echaría un vistazo a matplotlib para empezar. > > De las funciones de pyplot (http://matplotlib.org/api/pyplot_summary.html) > > puedes mirar "bar" > > (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar) para algo > > como lo del vídeo. También le echaría un vistazo a "specgram" > > (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.specgram y > > http://matplotlib.org/examples/pylab_examples/specgram_demo.html) y a cómo > > animar las gráficas. Para esto último busca en Google "matplotlib animation" y > > aparecen varios tutoriales. > > Hablando de specgram (aunque creo que no es exactamente el efecto que > Acústico quiere conseguir), mira la última parte de este artículo: > > https://pybonacci.wordpress.com/2012/09/29/transformada-de-fourier-discreta-en-python-con-scipy/ > > (también en Pybonacci como Kiko pero esta vez el autor soy yo :P) > _______________________________________________ > 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: From pych3m4 en gmail.com Sat Aug 24 12:17:25 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Sat, 24 Aug 2013 12:17:25 +0200 Subject: [Python-es] determinar cual clase ha sido declarada primero In-Reply-To: References: Message-ID: El día 23 de agosto de 2013 21:55, Olemis Lang escribió: > On 8/23/13, Chema Cortes wrote: >> El día 23 de agosto de 2013 16:31, Olemis Lang escribió: > [...] >>> >>> Nótese que en este caso la diferencia entre las dos variantes consiste >>> en expresar intrínsecamente el comportamiento esperado de las clases >>> (registrarse en orden en el cache global, añadir el comportamiento >>> esperado del sistema d plugins e.g. implement ParametricSingleton >>> pattern per ComponentManager, etc ...) vs el comportamiento específico >>> d una clase en cuestión (registrarse en orden en el cache de la >>> interface específica ...) >>> >>> Como se puede ver no son conceptos equivalentes . Las meta-clases >>> participan en herencia , añaden comportamientos a los meta-objetos q >>> representan las clases (clases) y sus instancias (objetos) ; además >>> son tipos . Los decoradores son modificadores más puntuales ... quizás >>> parecidos a la situación descriptores vs __getattr__ >>> >>> El hecho de poner __metaclass__ en el cuerpo de la clase se puede >>> solucionar haciendo la asignación en una clase base (e.g. >>> trac.core.Component) y ya no es necesario repetirlo en las sub-clases >>> . De hecho , en Trac + Bloodhound el hecho d tener ComponentMeta y >>> todo el modelo meta es transparente ... >> >> No he dicho que los decoradores fueran los sustitutos de las >> metaclases, sino que pueden evitar tener que usarlas en determinadas >> situaciones. >> > > No era mi intención sugerir q antes se había dicho alguna cosa . Yo > solo estaba complementando los comentarios anteriores para brindar más > elementos a la hora de decidir por una u otra variante > ;) > >> Las metaclases ofrecen la posibilidad de crear un modelo de datos >> bastante consistente para el problema que necesites tratar; pero, en >> mi opinion, tienen un verdadero problema con la herencia ya que las >> metaclases no tienen herencia múltiple. Si necesitas combinar dos >> modelos de datos distintos, cada uno con una metaclase, necesitarás >> crear una supermetaclase común y modificar buena parte del código. >> >> En cambio, los decoradores de clases se pueden encadenar uno tras otro >> sin más preocupaciones. >> >> Por otro lado, el valor de '__metaclass__' no tiene porque ser una >> clase, ya que podría ser cualquier "callable", > > Entonces , en buena lid , ya no sería una metaclase sino un class > factory o quizás alguna otra cosa más complicada dependiendo d los > detalles d implementación . La meta-clase es un concepto abstracto d > la POO q va más allá del hecho d q la variable en Python se llame > __metaclass__ y acepte cualquier callable . > ;) También habría que decir que "Decorator" es un patrón de diseño de la POO y que muchos ejemplos de uso de metaclase no son más que implementaciones de este patrón. > >> incluso una función, lo >> que se asemejaría bastante a lo que hace un decorador. > > +1 ... la única diferencia creo q sería la propagación de la > meta-clase a las sub-clases mediante herencia , q es lo q no se logra > con decoradores por ser estos un artificio sintáctico del lenguaje . Desde el momento en que una subclase hereda de una clase "decorada", habría ver que más puede necesitar que no pueda adquirirse por herencia. Rizando el rizo, incluso se podría inyectar una metaclase. Nada es imposible. > > Quizás hay resultados q solo se logran d forma *más correcta* al nivel > de las meta-clases Por ejemplo, recuerdo ahora las implementaciones > del patrón Singleton (y similares e.g. ParametricSingleton como es el > caso d trac.core.Component) basados en la redefinición de __call__ en > la metaclase , pero no es el único caso . También habría otros casos donde las metaclases estarían justifiicadas como son los llamados "tipos estructurales", que en python solemos conocer por "protocolos" (eg: protocolo iterador, protocolo descriptor, etc). Es cuando necesitas que un grupo de clases que no comparten herencia tengan un comportamiento común. Este comportamiento lo declaras en una metaclase que hace de clase abstracta que cada cuál especializa según le parezca. > > D hecho , un sistema d plugins q *tiende* a ser compuesto por > singletons (q puede ser un caso muy frecuente según mi experiencia) > frecuentemente necesita meta-clase, porque es el mecanismo más > efectivo q existe en el lenguaje para controlar la creación d > instancias d las clases (... ya sé, ya sé ... __new__ + __init___ => > no son suficientes , y al final son el resultado d las reglas q impone > type__call__ , redefiniéndolo se puede implementar un sistema > completamente nuevo a partir d una meta-clase diferente e.g. invocar > un método con el mismo nombre d la clase à la C# en vez d __init__) > >> No veo que sea >> tanta la diferencia entre uno y otro como lo pones, > > ... dependiendo d las circunstancias puede q no tanto ... no m atrevo > a profundizar más pq realmente no sabemos cuál es el caso d uso y los > requisitos reales q están involucrados en la pregunta original . > >> con la excepción >> de que los decoradores son más explícitos. >> Y éso es bueno para según >> qué cosas. >> > > No hay desacuerdo ; solo q es bueno aclararlo . > > [...] > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From alfredo.riguetti en ptravel.com.uy Thu Aug 22 03:22:47 2013 From: alfredo.riguetti en ptravel.com.uy (alfredo.riguetti) Date: Wed, 21 Aug 2013 22:22:47 -0300 Subject: [Python-es] Eclipse pydev y wxpython Message-ID: Hola gracias por responder. Si he agregado al eclipse el path de wx pero quizas este mal eso... el eclipse es JUNO y el OS es un fedora 18...  El path lo puse después de buscar con find y me mostró que estaba en /usr/lib64.....wxPython2.8.... pero quizas no este bien. Lo agregue desde ventana preferencias python pydev y alli donde esta todo egregue el directorio.  Ademas el python si me autocompleta bien de bien. ... Utilice spyder como ide y si autocompleta pero no me gusto. Eclipse me parece muy bueno..... Agradezco mucho tu tiempo y tu ayuda espero lograrlo xq todavia no pude Saludos Alfredo Alfredo Riguetti Enviado desde Samsung Mobile -------- Mensaje original -------- De: Mario Lacunza Fecha: 21/08/2013 16:53 (GMT-03:00) A: python-es en python.org Asunto: Re: [Python-es] Eclipse pydev y wxpython Has agregado el path de wx al eclipse? Python autocompleta bien? xq si esta instalado de forma normal deberia ser suficiente Al menos sin saber en q OS lo corres q version de eclipse y pydev usas no te puedo ayudar mas... Saludos / Best regards Mario Lacunza Email:: mlacunza en gmail.com Personal Website:: http://www.lacunza.biz/ Hosting:: http://mlv-host.com/ Mascotas Perdidas:: http://mascotas-perdidas.com/ Google Talk / Y! messenger / Skype: mlacunzav MSN: mlacunzav en hotmail.com El 21/08/13 09:28, Alfredo Riguetti escribió: > Hoala a todos, > estoy teniendo un tema , estoy usando eclipse y pydev , y usando > wxpython para las GUI, lo que me esta pasando es que no me > autocompleta nada de las clases wx. es decir wx. y nada no da opciones > , me gustaria integrar eso a aeclipse y pydev. a > alguien me puede echar una mano? > > saludos > fefo > _______________________________________________ > Python-es mailing list > Python-es en 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: From alfredo.riguetti en ptravel.com.uy Fri Aug 23 20:58:49 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Fri, 23 Aug 2013 15:58:49 -0300 Subject: [Python-es] Convertir un texto a una fecha Message-ID: <5217B0E9.9020806@ptravel.com.uy> Hola. Tengo que convertir un texto a una fecha , es decir en un wx.TextCtrl me va a ingresar un texto asi 10/10/2010, y necesito que eso se transforme en una fecha para ingresarlo al cambio de mi mysql como date , como lo hago?, alguien puede ayudarme. saludos alfredo From euribates en gmail.com Sat Aug 24 13:21:40 2013 From: euribates en gmail.com (Juan Ignacio) Date: Sat, 24 Aug 2013 12:21:40 +0100 Subject: [Python-es] Convertir un texto a una fecha In-Reply-To: <5217B0E9.9020806@ptravel.com.uy> References: <5217B0E9.9020806@ptravel.com.uy> Message-ID: Una forma podria ser: import datetime d = datetime.datetime.strptime('25/12/1966', '%d/%m/%Y').date() 2013/8/23 Alfredo Riguetti > Hola. > Tengo que convertir un texto a una fecha , es decir en un wx.TextCtrl me > va a ingresar un texto asi 10/10/2010, y necesito que eso se transforme en > una fecha para ingresarlo al cambio de mi mysql como date , como lo hago?, > alguien puede ayudarme. > > saludos > alfredo > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > -- Juan Ignacio Rodríguez de León Móvil: 605 890514 E-Mail: euribates en gmail.com http://www.metriz.com/ http://descon2.com/ http://www.elornitorrincoenmascarado.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Sat Aug 24 13:58:58 2013 From: monobot.soft en gmail.com (monoBOT) Date: Sat, 24 Aug 2013 12:58:58 +0100 Subject: [Python-es] Convertir un texto a una fecha In-Reply-To: <5217B0E9.9020806@ptravel.com.uy> References: <5217B0E9.9020806@ptravel.com.uy> Message-ID: from datetime import date day, month, year = ('10/10/2010').split('/') fecha = date(int(year), int(month), int(day)) El 23 de agosto de 2013 19:58, Alfredo Riguetti < alfredo.riguetti en ptravel.com.uy> escribió: > Hola. > Tengo que convertir un texto a una fecha , es decir en un wx.TextCtrl me > va a ingresar un texto asi 10/10/2010, y necesito que eso se transforme en > una fecha para ingresarlo al cambio de mi mysql como date , como lo hago?, > alguien puede ayudarme. > > saludos > alfredo > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kurokysan en gmail.com Sat Aug 24 14:58:51 2013 From: kurokysan en gmail.com (Kennedy Sanchez) Date: Sat, 24 Aug 2013 08:28:51 -0430 Subject: [Python-es] Python para Sysadmin, Auditores y vulnerability research Message-ID: Buenos dias a todos, creo que el subjecto lo dice todo :) Me gustaria saber que me recomiendan para aprender python orientado a Administradores de Sistemas, Auditores o Investigadores de vulnerabilidades, Me gustaria saber si conocen fuentes como libros, foros, Git hub, todo lo posible para orientarme en esa area especifica. Desde ya, muchas gracias. -- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From s_48k en yahoo.com Sat Aug 24 15:47:03 2013 From: s_48k en yahoo.com (s_48k) Date: Sat, 24 Aug 2013 15:47:03 +0200 Subject: [Python-es] Python para Sysadmin, Auditores y vulnerability research Message-ID: <542595.39489.bm@smtp150.mail.ir2.yahoo.com> Violent python y greyhat python. -----Mensaje original----- De: Kennedy Sanchez Enviado: 24/08/2013 14:59 Para: La lista de python en castellano Asunto: [Python-es] Python para Sysadmin, Auditores y vulnerability research Buenos dias a todos, creo que el subjecto lo dice todo :) Me gustaria saber que me recomiendan para aprender python orientado a Administradores de Sistemas, Auditores o Investigadores de vulnerabilidades, Me gustaria saber si conocen fuentes como libros, foros, Git hub, todo lo posible para orientarme en esa area especifica. Desde ya, muchas gracias. -- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From sdeancos en gmail.com Sat Aug 24 15:56:02 2013 From: sdeancos en gmail.com (Samuel de Ancos) Date: Sat, 24 Aug 2013 15:56:02 +0200 Subject: [Python-es] Python para Sysadmin, Auditores y vulnerability research In-Reply-To: <542595.39489.bm@smtp150.mail.ir2.yahoo.com> References: <542595.39489.bm@smtp150.mail.ir2.yahoo.com> Message-ID: El libro Python para Administradores de Sistemas de oreilly esta bastante bien para empezar con ello. El 24/08/2013 15:49, "s_48k" escribió: > Violent python y greyhat python. > ------------------------------ > De: Kennedy Sanchez > Enviado: 24/08/2013 14:59 > Para: La lista de python en castellano > Asunto: [Python-es] Python para Sysadmin, Auditores y vulnerability > research > > Buenos dias a todos, creo que el subjecto lo dice todo :) > > Me gustaria saber que me recomiendan para aprender python orientado a > Administradores de Sistemas, Auditores o Investigadores de > vulnerabilidades, Me gustaria saber si conocen fuentes como libros, foros, > Git hub, todo lo posible para orientarme en esa area especifica. > > Desde ya, muchas gracias. > > -- > > > _______________________________________________ > 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: From carlos.zun en gmail.com Sat Aug 24 17:51:14 2013 From: carlos.zun en gmail.com (Carlos Zuniga) Date: Sat, 24 Aug 2013 10:51:14 -0500 Subject: [Python-es] creacion de graficos UML a partir de ficheros de config In-Reply-To: References: Message-ID: 2013/8/19 Jose Caballero : > Hola, > > > me gustaria saber si alguien conoce alguna herramienta en python para > generar diagramas UML a partir de ficheros de config. No busco generar > UML a partir de codigo, sino a partir de ficheros donde, con la > sintaxis que sea, se definan los objetos y sus relaciones. > > El problema es que al buscar en google con palabras clave como > 'python' y 'uml' todo lo que veo son soluciones para general uml a > partir de codigo, o a la inversa. > Pero que formato tienen tus archivos de configuración? Si buscas uml y python, es dificil que te devuelva soluciones que no involucren a python ;) Buscando uml y text me da esta pregunta en stack overflow con varias respuestas interesantes. http://stackoverflow.com/questions/194754/rendering-uml-diagrams-from-text-files Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. From jcaballero.hep en gmail.com Sat Aug 24 18:18:45 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Sat, 24 Aug 2013 12:18:45 -0400 Subject: [Python-es] creacion de graficos UML a partir de ficheros de config In-Reply-To: References: Message-ID: hola tengo que leer ese "thread" de stackoverflow. Parece ser lo que voy buscando. Muchas gracias! Jose El día 24 de agosto de 2013 11:51, Carlos Zuniga escribió: > 2013/8/19 Jose Caballero : >> Hola, >> >> >> me gustaria saber si alguien conoce alguna herramienta en python para >> generar diagramas UML a partir de ficheros de config. No busco generar >> UML a partir de codigo, sino a partir de ficheros donde, con la >> sintaxis que sea, se definan los objetos y sus relaciones. >> >> El problema es que al buscar en google con palabras clave como >> 'python' y 'uml' todo lo que veo son soluciones para general uml a >> partir de codigo, o a la inversa. >> > > Pero que formato tienen tus archivos de configuración? Si buscas uml y > python, es dificil que te devuelva soluciones que no involucren a > python ;) > > Buscando uml y text me da esta pregunta en stack overflow con varias > respuestas interesantes. > http://stackoverflow.com/questions/194754/rendering-uml-diagrams-from-text-files > > > Saludos > -- > A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos > de leer manuales. > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From ailurus.fulgens en hotmail.com Mon Aug 26 00:09:09 2013 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Sun, 25 Aug 2013 17:09:09 -0500 Subject: [Python-es] Visualizador de espectro de audio Python In-Reply-To: References: , , <201308051357.12991.jsm@iaa.es>, <52020DF0.7090001@gmail.com>, Message-ID: lo siento. olvide el enlace.http://www.swharden.com/blog/2013-05-09-realtime-fft-audio-visualization-with-python/un ejemplo de como graficar audio con fft y pyqt From: ailurus.fulgens en hotmail.com To: python-es en python.org Date: Sat, 24 Aug 2013 02:10:32 -0500 Subject: Re: [Python-es] Visualizador de espectro de audio Python espero k no sea tarde. tal vez esto te ayude :3 al fin puede ayudar... > Date: Wed, 7 Aug 2013 11:05:52 +0200 > From: juanlu001 en gmail.com > To: python-es en python.org > Subject: Re: [Python-es] Visualizador de espectro de audio Python > > On 08/05/2013 02:57 PM, Jose Sabater Montes wrote: > > On Saturday 03 August 2013 00:10:22 Acústico Cáustico wrote: > >> Hola a todos, soy muy nuevo en python, llevo programando 6 meses y he > >> decidido aprender en este lenguaje, en este momento estoy intentando hacer > >> un visualizador de espectro de audio, es decir, trato de hacer algo como > >> esto https://www.youtube.com/watch?v=-8GwCtsGpPg > >> > >> Ya se como extraer la informacion espectral del audio, lo estoy haciendo > >> con numpy.fft, lo que no he podido descubrir es como hacer la animación, me > >> refiero a convertir los datos obtenidos a partir de la FFT para graficarlos > >> por banda de frecuencia. > > Yo le echaría un vistazo a matplotlib para empezar. > > De las funciones de pyplot (http://matplotlib.org/api/pyplot_summary.html) > > puedes mirar "bar" > > (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar) para algo > > como lo del vídeo. También le echaría un vistazo a "specgram" > > (http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.specgram y > > http://matplotlib.org/examples/pylab_examples/specgram_demo.html) y a cómo > > animar las gráficas. Para esto último busca en Google "matplotlib animation" y > > aparecen varios tutoriales. > > Hablando de specgram (aunque creo que no es exactamente el efecto que > Acústico quiere conseguir), mira la última parte de este artículo: > > https://pybonacci.wordpress.com/2012/09/29/transformada-de-fourier-discreta-en-python-con-scipy/ > > (también en Pybonacci como Kiko pero esta vez el autor soy yo :P) > _______________________________________________ > Python-es mailing list > Python-es en 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: From jcaballero.hep en gmail.com Mon Aug 26 21:37:44 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 26 Aug 2013 15:37:44 -0400 Subject: [Python-es] diferencia en sys.path entre 2.4 y 2.6 ? Message-ID: Hola, estoy buscando info en la web, pero no acabo de ver nada consistente. Si alguien tiene un link con info sobre posibles diferencias en el contenido de sys.path entre versiones estare mas que agradecido. Motivacion: sys.path en 2.4 parece incluir como segundo "item" el directorio en el que estoy, mientras que en 2.6 no. Es posible? Muchas gracias por adelantado, Jose From jcaballero.hep en gmail.com Mon Aug 26 21:49:21 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 26 Aug 2013 15:49:21 -0400 Subject: [Python-es] diferencia en sys.path entre 2.4 y 2.6 ? In-Reply-To: References: Message-ID: pues me contesto a mi mismo... La respuesta es NO. Lo que ocurria es que PYTHONPATH empezaba por directorio vacio en el host con 2.4. Y sys.path agnade todas las componentes de $PYTHONPATH que no son path absoluto (incluyendo cadena vacia) como subdirectorios de $PWD Jose El día 26 de agosto de 2013 15:37, Jose Caballero escribió: > Hola, > > estoy buscando info en la web, pero no acabo de ver nada consistente. > Si alguien tiene un link con info sobre posibles diferencias en el > contenido de sys.path entre versiones estare mas que agradecido. > > Motivacion: sys.path en 2.4 parece incluir como segundo "item" el > directorio en el que estoy, mientras que en 2.6 no. Es posible? > > Muchas gracias por adelantado, > Jose From hfoffani en gmail.com Mon Aug 26 22:02:25 2013 From: hfoffani en gmail.com (=?utf-8?Q? Hern=C3=A1n_M._F. ?=) Date: Mon, 26 Aug 2013 22:02:25 +0200 Subject: [Python-es] Entrevista a GvR Message-ID: En slashdot. http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 Hernán MF S ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kurokysan en gmail.com Mon Aug 26 23:47:30 2013 From: kurokysan en gmail.com (Kennedy Sanchez) Date: Mon, 26 Aug 2013 17:47:30 -0400 Subject: [Python-es] Python para Sysadmin, Auditores y vulnerability research In-Reply-To: References: <542595.39489.bm@smtp150.mail.ir2.yahoo.com> Message-ID: OK, Muchas gracias, le hechare un vistazo. El 24 de agosto de 2013 09:56, Samuel de Ancos escribió: > El libro Python para Administradores de Sistemas de oreilly esta bastante > bien para empezar con ello. > El 24/08/2013 15:49, "s_48k" escribió: > >> Violent python y greyhat python. >> ------------------------------ >> De: Kennedy Sanchez >> Enviado: 24/08/2013 14:59 >> Para: La lista de python en castellano >> Asunto: [Python-es] Python para Sysadmin, Auditores y vulnerability >> research >> >> Buenos dias a todos, creo que el subjecto lo dice todo :) >> >> Me gustaria saber que me recomiendan para aprender python orientado a >> Administradores de Sistemas, Auditores o Investigadores de >> vulnerabilidades, Me gustaria saber si conocen fuentes como libros, foros, >> Git hub, todo lo posible para orientarme en esa area especifica. >> >> Desde ya, muchas gracias. >> >> -- >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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: From wolvelopez en gmail.com Tue Aug 27 11:13:51 2013 From: wolvelopez en gmail.com (WolveLopez) Date: Tue, 27 Aug 2013 11:13:51 +0200 Subject: [Python-es] =?utf-8?q?Imagenes_da=C3=B1adas_al_descargar_con_urll?= =?utf-8?q?ib2?= Message-ID: Hola compañeros, Estoy realizando un script el cual descaraga una monton de imágenes de un proveedor a una carpeta en local de mi equipo. Utilizo write y urllib2 para descargarlas pero las imágenes se descargan dañadas. Este es el código que empleo: Código: URL = imagen source = urllib2.urlopen(URL).read() f = open(nombre_del_archivo, "w") f.write(source) f.close() Las imágenes que voy descargando quedan de esta manera: http://subefotos.com/ver/?9e77a0892a...94fa6e8efo.jpg En linux me lo hace perfectamente, pero si ejecuto el script en windows es cuando daña las fotos. He probado en varios equipos con windows, para desestimar que fuera ese equipo en concreto. Un saludo compañeros y gracias de antemano. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Tue Aug 27 11:28:17 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Tue, 27 Aug 2013 11:28:17 +0200 Subject: [Python-es] =?iso-8859-1?q?Imagenes_da=F1adas_al_descargar_con_ur?= =?iso-8859-1?q?llib2?= In-Reply-To: References: Message-ID: 2013/8/27 WolveLopez > f = open(nombre_del_archivo, "w") Prueba a abrirlo en modo binario, "wb". Este modo es específico de Windows, por eso Linux te funciona bien. El intérprete de Python en Linux simplemente ignorará la b, por lo que puedes usar el mismo código para Windows y Linux. En el tutorial oficial: http://docs.python.org/2/tutorial/inputoutput.html ---> 7.2 David. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jsm en iaa.es Tue Aug 27 11:26:25 2013 From: jsm en iaa.es (=?iso-8859-1?Q?Jos=E9_Sabater_Montes?=) Date: Tue, 27 Aug 2013 10:26:25 +0100 Subject: [Python-es] =?iso-8859-1?q?Imagenes_da=F1adas_al_descargar_con_ur?= =?iso-8859-1?q?llib2?= In-Reply-To: References: Message-ID: <72F3D885-7B11-483F-A632-73D306693C4C@iaa.es> Hola, No uso Windows pero ¿podría ser un problema de no guardar el archivo como binario? f = open(nombre_del_archivo, "wb") Un saludo. El 27/08/2013, a las 10:13, WolveLopez escribió: > Hola compañeros, Estoy realizando un script el cual descaraga una monton de imágenes de un proveedor a una carpeta en local de mi equipo. Utilizo write y urllib2 para descargarlas pero las imágenes se descargan dañadas. Este es el código que empleo: > > Código: > URL = imagen > source = urllib2.urlopen(URL).read() > f = open(nombre_del_archivo, "w") > f.write(source) > f.close() > Las imágenes que voy descargando quedan de esta manera: http://subefotos.com/ver/?9e77a0892a...94fa6e8efo.jpg > > En linux me lo hace perfectamente, pero si ejecuto el script en windows es cuando daña las fotos. He probado en varios equipos con windows, para desestimar que fuera ese equipo en concreto. > > Un saludo compañeros y gracias de antemano. > _______________________________________________ > 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: From wolvelopez en gmail.com Tue Aug 27 11:41:37 2013 From: wolvelopez en gmail.com (WolveLopez) Date: Tue, 27 Aug 2013 11:41:37 +0200 Subject: [Python-es] =?utf-8?q?Imagenes_da=C3=B1adas_al_descargar_con_urll?= =?utf-8?q?ib2?= In-Reply-To: References: Message-ID: Ok, voy a probarlo ahora y comento. Muchas gracias El 27/08/2013 11:29, "Da?id" escribió: > > 2013/8/27 WolveLopez > >> f = open(nombre_del_archivo, "w") > > > Prueba a abrirlo en modo binario, "wb". Este modo es específico de > Windows, por eso Linux te funciona bien. El intérprete de Python en Linux > simplemente ignorará la b, por lo que puedes usar el mismo código para > Windows y Linux. > > En el tutorial oficial: > > http://docs.python.org/2/tutorial/inputoutput.html ---> 7.2 > > > David. > > _______________________________________________ > 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: From fdanesse en gmail.com Tue Aug 27 12:58:47 2013 From: fdanesse en gmail.com (Flavio Danesse) Date: Tue, 27 Aug 2013 07:58:47 -0300 Subject: [Python-es] =?iso-8859-1?q?Imagenes_da=F1adas_al_descargar_con_ur?= =?iso-8859-1?q?llib2?= In-Reply-To: References: Message-ID: En lugar de leer y guardar, porque no descargas el archivo? fileimage, headers = urllib.urlretrieve(URL, path_destino) El 27 de agosto de 2013 06:41, WolveLopez escribió: > Ok, voy a probarlo ahora y comento. Muchas gracias > El 27/08/2013 11:29, "Da?id" escribió: > >> >> 2013/8/27 WolveLopez >> >>> f = open(nombre_del_archivo, "w") >> >> >> Prueba a abrirlo en modo binario, "wb". Este modo es específico de >> Windows, por eso Linux te funciona bien. El intérprete de Python en Linux >> simplemente ignorará la b, por lo que puedes usar el mismo código para >> Windows y Linux. >> >> En el tutorial oficial: >> >> http://docs.python.org/2/tutorial/inputoutput.html ---> 7.2 >> >> >> David. >> >> _______________________________________________ >> Python-es mailing list >> Python-es en 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: From alfredo.riguetti en ptravel.com.uy Mon Aug 26 16:52:53 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Mon, 26 Aug 2013 11:52:53 -0300 Subject: [Python-es] Convertir un texto a una fecha In-Reply-To: References: <5217B0E9.9020806@ptravel.com.uy> Message-ID: <521B6BC5.1090009@ptravel.com.uy> Muchas gracias por responder , el tema es que la fecha la tengo en una variable, porque la traigo de una TxetCtrl., eso lo acepta igual? El 24/08/13 08:21, Juan Ignacio escribió: > Una forma podria ser: > > import datetime > d = datetime.datetime.strptime('25/12/1966', '%d/%m/%Y').date() > > > 2013/8/23 Alfredo Riguetti > > > Hola. > Tengo que convertir un texto a una fecha , es decir en un > wx.TextCtrl me va a ingresar un texto asi 10/10/2010, y necesito > que eso se transforme en una fecha para ingresarlo al cambio de mi > mysql como date , como lo hago?, alguien puede ayudarme. > > saludos > alfredo > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > Juan Ignacio Rodríguez de León > Móvil: 605 890514 > E-Mail: euribates en gmail.com > http://www.metriz.com/ > http://descon2.com/ > http://www.elornitorrincoenmascarado.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/ -- Alfredo Riguetti Dpto. Informatica Planet Travel HRG Uruguay Rio Negro 1320 piso 1 Montevideo - Uruguay (598) 2900-1514 planettravel en ptravel,com,uy www,planettravel,com,uy Por favor considere su responsabilidad ambiental antes de imprimir este correo - Please consider your environmental responsability before printing this e-mail From alfredo.riguetti en ptravel.com.uy Mon Aug 26 18:44:10 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Mon, 26 Aug 2013 13:44:10 -0300 Subject: [Python-es] Ayuda con fecha Message-ID: <521B85DA.3000009@ptravel.com.uy> Tengo este codigo y no puedo darme cuenta porque me imprime FechaMovb en el formato año,mes dia, quiero que sea dia mes año self.etiquetaFechaMov = wx.StaticText(id=-1,label='Fecha Mov.',name='etiquetaFechaMov', parent=self,pos=wx.Point(200,20),size=wx.Size(110, 30), style=0) self.TextoFechaMov = wx.TextCtrl(id=-1, name='TextoFechaMov',value = str(hoy),parent=self,pos=wx.Point(280,14), size=wx.Size(90, 21)) f = self.TextoFechaMov.GetValue() FechaMov = datetime.datetime.strptime(f,'%d/%m/%Y').date() print FechaMov gracias por la ayuda alfredo From alfredo.riguetti en ptravel.com.uy Mon Aug 26 20:22:55 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Mon, 26 Aug 2013 15:22:55 -0300 Subject: [Python-es] Obtener seleccion wx.combox Message-ID: <521B9CFF.2050306@ptravel.com.uy> Hola , tengo este codigo y no se como capturar el dato que me seleccionan en el combo box. lo estoy llenando con los datos de una tabla mysql y eso me funciona bien , pero quiero captiurar el dato que seleccionan. #Cliente con Combo Box self.etiquetaComboCliente = wx.StaticText(id=-1,label='Cliente',name='etiquetaComboCliente', parent=self,pos=wx.Point(16, 40),size=wx.Size(110, 30), style=0) self.cbcli=wx.ComboBox(self,-1,"Elegir Cliente",(110,40),choices=listacli) muchas gracias a toods -- Alfredo Riguetti Dpto. Informatica Planet Travel HRG Uruguay Rio Negro 1320 piso 1 Montevideo - Uruguay (598) 2900-1514 planettravel en ptravel,com,uy www,planettravel,com,uy Por favor considere su responsabilidad ambiental antes de imprimir este correo - Please consider your environmental responsability before printing this e-mail From nadaird en gmail.com Tue Aug 27 13:39:48 2013 From: nadaird en gmail.com (Guillermo Vaya) Date: Tue, 27 Aug 2013 13:39:48 +0200 Subject: [Python-es] Ayuda con fecha In-Reply-To: <521B85DA.3000009@ptravel.com.uy> References: <521B85DA.3000009@ptravel.com.uy> Message-ID: FechaMov es un objeto de tipo datetime.date y su representación por defecto es esa. Echale un ojo al metodo strftime para formatearlo 2013/8/26 Alfredo Riguetti > Tengo este codigo y no puedo darme cuenta porque me imprime FechaMovb en > el formato año,mes dia, quiero que sea dia mes año > > self.etiquetaFechaMov = wx.StaticText(id=-1,label='**Fecha > Mov.',name='etiquetaFechaMov', parent=self,pos=wx.Point(200,**20),size=wx.Size(110, > 30), style=0) > > self.TextoFechaMov = wx.TextCtrl(id=-1, name='TextoFechaMov',value > = str(hoy),parent=self,pos=wx.**Point(280,14), size=wx.Size(90, 21)) > > f = self.TextoFechaMov.GetValue() > > FechaMov = datetime.datetime.strptime(f,'**%d/%m/%Y').date() > print FechaMov > > gracias por la ayuda > alfredo > ______________________________**_________________ > 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: From euribates en gmail.com Tue Aug 27 13:49:28 2013 From: euribates en gmail.com (Juan Ignacio) Date: Tue, 27 Aug 2013 12:49:28 +0100 Subject: [Python-es] Convertir un texto a una fecha In-Reply-To: <521B6BC5.1090009@ptravel.com.uy> References: <5217B0E9.9020806@ptravel.com.uy> <521B6BC5.1090009@ptravel.com.uy> Message-ID: Si, claro, si tienes el valor en la variable v, por ejemplo, sería: import datetime d = datetime.datetime.strptime(v, '%d/%m/%Y').date() o, con la solucion de monobot: from datetime import date day, month, year = (v).split('/') fecha = date(int(year), int(month), int(day)) 2013/8/26 Alfredo Riguetti > Muchas gracias por responder , el tema es que la fecha la tengo en una > variable, porque la traigo de una TxetCtrl., eso lo acepta igual? > > > El 24/08/13 08:21, Juan Ignacio escribió: > >> Una forma podria ser: >> >> import datetime >> d = datetime.datetime.strptime('**25/12/1966', '%d/%m/%Y').date() >> >> >> 2013/8/23 Alfredo Riguetti > alfredo.riguetti@**ptravel.com.uy >> >> >> >> Hola. >> Tengo que convertir un texto a una fecha , es decir en un >> wx.TextCtrl me va a ingresar un texto asi 10/10/2010, y necesito >> que eso se transforme en una fecha para ingresarlo al cambio de mi >> mysql como date , como lo hago?, alguien puede ayudarme. >> >> saludos >> alfredo >> ______________________________**_________________ >> Python-es mailing list >> Python-es en python.org >> >> http://mail.python.org/**mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.**com/ >> >> >> >> >> -- >> Juan Ignacio Rodríguez de León >> Móvil: 605 890514 >> E-Mail: euribates en gmail.com >> >> http://www.metriz.com/ >> http://descon2.com/ >> http://www.**elornitorrincoenmascarado.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/ >> > > -- > > > > Alfredo Riguetti > Dpto. Informatica > Planet Travel > HRG Uruguay > Rio Negro 1320 piso 1 > Montevideo - Uruguay > (598) 2900-1514 > planettravel en ptravel,com,uy > www,planettravel,com,uy > > Por favor considere su responsabilidad ambiental antes de imprimir este > correo - Please consider your environmental responsability before printing > this e-mail > > > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > -- Juan Ignacio Rodríguez de León Móvil: 605 890514 E-Mail: euribates en gmail.com http://www.metriz.com/ http://descon2.com/ http://www.elornitorrincoenmascarado.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Tue Aug 27 14:10:05 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 27 Aug 2013 14:10:05 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: 2013/8/26 "Hernán M. F." : > En slashdot. > http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 No parece que haya mucha novedad. Sigue renegando de la programación funcional, a pesar de reconocer sus ventajas, y sigue con CPython como la implementación locomotora para el desarrollo del lenguaje. Al menos ya nombra scala, aunque sea para menospreciarlo como algo sólo para listos. Esperaré otro año más a ver si cambia la cosa. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From razpeitia en gmail.com Tue Aug 27 15:42:58 2013 From: razpeitia en gmail.com (Ricardo Azpeitia Pimentel) Date: Tue, 27 Aug 2013 08:42:58 -0500 Subject: [Python-es] =?iso-8859-1?q?Imagenes_da=F1adas_al_descargar_con_ur?= =?iso-8859-1?q?llib2?= In-Reply-To: References: Message-ID: Cuando doy click al link me aparece una pagina con la imagen adentro. Supón que ejecuto el script y guardo la imagen en 1.jpg lo abro y me dice que esta dañado. Entonces abro 1.jgp con mi editor de texto y es puro html (tal como lo esperaba). Cuando hago la url a la foto es la siguiente y si uso esa url si funciona http://fotos.subefotos.com/9e77a0892...94fa6e8efo.jpg Ademas no olvides usar 'wb' en lugar de 'w' al menos en esta situación. Si solo tienes que cambiar la url. El día 27 de agosto de 2013 05:58, Flavio Danesse escribió: > En lugar de leer y guardar, porque no descargas el archivo? > > fileimage, headers = urllib.urlretrieve(URL, path_destino) > > > El 27 de agosto de 2013 06:41, WolveLopez escribió: > >> Ok, voy a probarlo ahora y comento. Muchas gracias >> >> El 27/08/2013 11:29, "Da?id" escribió: >>> >>> >>> 2013/8/27 WolveLopez >>>> >>>> f = open(nombre_del_archivo, "w") >>> >>> >>> Prueba a abrirlo en modo binario, "wb". Este modo es específico de >>> Windows, por eso Linux te funciona bien. El intérprete de Python en Linux >>> simplemente ignorará la b, por lo que puedes usar el mismo código para >>> Windows y Linux. >>> >>> En el tutorial oficial: >>> >>> http://docs.python.org/2/tutorial/inputoutput.html ---> 7.2 >>> >>> >>> David. >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en 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/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From faltet en gmail.com Tue Aug 27 16:36:48 2013 From: faltet en gmail.com (Francesc Alted) Date: Tue, 27 Aug 2013 16:36:48 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: 2013/8/27 Chema Cortes > 2013/8/26 "Hernán M. F." : > > En slashdot. > > > http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 > > No parece que haya mucha novedad. Sigue renegando de la programación > funcional, a pesar de reconocer sus ventajas, y sigue con CPython como > la implementación locomotora para el desarrollo del lenguaje. > Bueno, es que el sentido común no es algo que se tenga que cambiar todos los dias. > > Al menos ya nombra scala, aunque sea para menospreciarlo como algo > sólo para listos. Esperaré otro año más a ver si cambia la cosa. > Curiosamente, la gente más inteligente que conozco son unos enamorados de los lenguajes funcionales (aunque la mayoría no pueda ganarse la vida con ellos, claro). Yo, sinceramente, me considero mucho más imperativo, y espero que la opinión de GvR no cambie mucho al respecto ;) -- Francesc Alted ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From soft.sirius en gmail.com Tue Aug 27 17:05:12 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Tue, 27 Aug 2013 17:05:12 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: Yo lo que he sacado en claro de esta entrevista es que si queremos un lenguaje a nuestro gusto, hemos de escribirlo nosotros mientras dejamos que crezca nuestra barba ;-) El 27 de agosto de 2013 16:36, Francesc Alted escribió: > 2013/8/27 Chema Cortes > >> 2013/8/26 "Hernán M. F." : >> > En slashdot. >> > >> http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 >> >> No parece que haya mucha novedad. Sigue renegando de la programación >> funcional, a pesar de reconocer sus ventajas, y sigue con CPython como >> la implementación locomotora para el desarrollo del lenguaje. >> > > Bueno, es que el sentido común no es algo que se tenga que cambiar todos > los dias. > > >> >> Al menos ya nombra scala, aunque sea para menospreciarlo como algo >> sólo para listos. Esperaré otro año más a ver si cambia la cosa. >> > > Curiosamente, la gente más inteligente que conozco son unos enamorados de > los lenguajes funcionales (aunque la mayoría no pueda ganarse la vida con > ellos, claro). Yo, sinceramente, me considero mucho más imperativo, y > espero que la opinión de GvR no cambie mucho al respecto ;) > > -- > Francesc Alted > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From wolvelopez en gmail.com Tue Aug 27 17:13:49 2013 From: wolvelopez en gmail.com (WolveLopez) Date: Tue, 27 Aug 2013 17:13:49 +0200 Subject: [Python-es] =?utf-8?q?Imagenes_da=C3=B1adas_al_descargar_con_urll?= =?utf-8?q?ib2?= In-Reply-To: References: Message-ID: Al final he ptobado la opción "wb" y va todo perfecto. Lo pongo como solucionado. Muchas gracias por ayudarme. El 27/08/2013 15:43, "Ricardo Azpeitia Pimentel" escribió: > Cuando doy click al link me aparece una pagina con la imagen adentro. > > Supón que ejecuto el script y guardo la imagen en 1.jpg lo abro y me > dice que esta dañado. Entonces abro 1.jgp con mi editor de texto y es > puro html (tal como lo esperaba). > > Cuando hago la url a la foto es la siguiente y si uso esa url si > funciona http://fotos.subefotos.com/9e77a0892...94fa6e8efo.jpg > > Ademas no olvides usar 'wb' en lugar de 'w' al menos en esta situación. > > Si solo tienes que cambiar la url. > > El día 27 de agosto de 2013 05:58, Flavio Danesse > escribió: > > En lugar de leer y guardar, porque no descargas el archivo? > > > > fileimage, headers = urllib.urlretrieve(URL, path_destino) > > > > > > El 27 de agosto de 2013 06:41, WolveLopez > escribió: > > > >> Ok, voy a probarlo ahora y comento. Muchas gracias > >> > >> El 27/08/2013 11:29, "Da?id" escribió: > >>> > >>> > >>> 2013/8/27 WolveLopez > >>>> > >>>> f = open(nombre_del_archivo, "w") > >>> > >>> > >>> Prueba a abrirlo en modo binario, "wb". Este modo es específico de > >>> Windows, por eso Linux te funciona bien. El intérprete de Python en > Linux > >>> simplemente ignorará la b, por lo que puedes usar el mismo código para > >>> Windows y Linux. > >>> > >>> En el tutorial oficial: > >>> > >>> http://docs.python.org/2/tutorial/inputoutput.html ---> 7.2 > >>> > >>> > >>> David. > >>> > >>> _______________________________________________ > >>> Python-es mailing list > >>> Python-es en 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/ > >> > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en 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: From hfoffani en gmail.com Tue Aug 27 18:57:54 2013 From: hfoffani en gmail.com (=?iso-8859-1?Q?Hern=E1n_Foffani?=) Date: Tue, 27 Aug 2013 18:57:54 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: <3A925F46-CEE8-4BE4-9746-C19439F326CA@gmail.com> El 27/08/2013, a las 14:10, Chema Cortes escribió: > 2013/8/26 "Hernán M. F." : >> En slashdot. >> http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 > > No parece que haya mucha novedad. Sigue renegando de la programación > funcional, a pesar de reconocer sus ventajas, y sigue con CPython como > la implementación locomotora para el desarrollo del lenguaje. > > Al menos ya nombra scala, aunque sea para menospreciarlo como algo > sólo para listos. Esperaré otro año más a ver si cambia la cosa. > Jajaja! Es verdad, no dice nada nuevo. La entrevista, sin embargo, puede ser útil para aquellos que conocen Python desde hace poco. Sobre todo para enterarse de cómo es el tío y qué idea tiene de su lenguaje. A propósito de Scala, cuando leí lo que decía me acordé de vos. je je je. En mi caso con los años he aprendido a esperar poquísimos cambios en el lenguaje. ¡El PEP de programación asincrónica fue como si me lo hubiera traído Santa Claus en persona! From pych3m4 en gmail.com Tue Aug 27 21:05:38 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 27 Aug 2013 21:05:38 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: El día 27 de agosto de 2013 17:05, Juan M. Puertas escribió: > Yo lo que he sacado en claro de esta entrevista es que si queremos un > lenguaje a nuestro gusto, hemos de escribirlo nosotros mientras dejamos que > crezca nuestra barba ;-) No es sólo por el lenguaje. La verdadera potencia está, hoy en día, en los compiladores, como el ghc de haskell o el de scala. La inferencia de tipos de estos compiladores han reducido mucho las ventajas de usar lenguajes dinámicos. Python3 es un buen lavado de cara del lenguaje, pero python debe evolucionar más allá de CPython si no quiere quedarse fuera de la programación de móviles y para la nube. > > > El 27 de agosto de 2013 16:36, Francesc Alted escribió: >> >> 2013/8/27 Chema Cortes >>> >>> 2013/8/26 "Hernán M. F." : >>> > En slashdot. >>> > >>> > http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 >>> >>> No parece que haya mucha novedad. Sigue renegando de la programación >>> funcional, a pesar de reconocer sus ventajas, y sigue con CPython como >>> la implementación locomotora para el desarrollo del lenguaje. >> >> >> Bueno, es que el sentido común no es algo que se tenga que cambiar todos >> los dias. >> >>> >>> >>> Al menos ya nombra scala, aunque sea para menospreciarlo como algo >>> sólo para listos. Esperaré otro año más a ver si cambia la cosa. >> >> >> Curiosamente, la gente más inteligente que conozco son unos enamorados de >> los lenguajes funcionales (aunque la mayoría no pueda ganarse la vida con >> ellos, claro). Yo, sinceramente, me considero mucho más imperativo, y >> espero que la opinión de GvR no cambie mucho al respecto ;) >> >> -- >> Francesc Alted >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje > en un tiempo. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From jcaballero.hep en gmail.com Tue Aug 27 21:10:43 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue, 27 Aug 2013 15:10:43 -0400 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: > > si no quiere quedarse fuera de la > programación de móviles y para la nube. > por nube te refieres a SaaS o a IaaS? Imagino que lo primero... pero pregunto por si acaso... Jose From asdrubal.ivan.suarez.rivera en gmail.com Tue Aug 27 21:10:33 2013 From: asdrubal.ivan.suarez.rivera en gmail.com (=?ISO-8859-1?Q?Asdr=FAbal_Iv=E1n_Su=E1rez_Rivera?=) Date: Tue, 27 Aug 2013 14:40:33 -0430 Subject: [Python-es] =?iso-8859-1?q?Patrones_de_Dise=F1o_en_Python?= Message-ID: Leyendo algunas cosas en Internet me encontré con este libro de Patrones de Diseño en Python. Está bastante interesante y además, se encuentra bajo licencia Creative Commons. El libro es en Inglés, pero creo que la mayoría de los que estamos acá no deberíamos tener problemas para entenderlo. Enlace: http://www.etnassoft.com/biblioteca/design-patterns-in-python/ Saludos -- Asdrúbal Iván Suárez Rivera *Si quieres aprender, enseña. *Marco Tulio Cicerón. * * *¿Tienes twitter?* *Sígueme: @asdrubalivan* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gabofer82 en gmail.com Tue Aug 27 21:17:06 2013 From: gabofer82 en gmail.com (gabriel fernandez) Date: Tue, 27 Aug 2013 16:17:06 -0300 Subject: [Python-es] =?iso-8859-1?q?Patrones_de_Dise=F1o_en_Python?= In-Reply-To: References: Message-ID: que organicen una traducción! El 27 de agosto de 2013 16:10, Asdrúbal Iván Suárez Rivera < asdrubal.ivan.suarez.rivera en gmail.com> escribió: > Leyendo algunas cosas en Internet me encontré con este libro de Patrones > de Diseño en Python. Está bastante interesante y además, se encuentra bajo > licencia Creative Commons. El libro es en Inglés, pero creo que la mayoría > de los que estamos acá no deberíamos tener problemas para entenderlo. > > Enlace: http://www.etnassoft.com/biblioteca/design-patterns-in-python/ > > Saludos > > -- > Asdrúbal Iván Suárez Rivera > > *Si quieres aprender, enseña. *Marco Tulio Cicerón. > * > * > *¿Tienes twitter?* > *Sígueme: @asdrubalivan* > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Gabriel Fernández Desrrollador Web www.openweb.com.uy ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Tue Aug 27 21:41:10 2013 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Tue, 27 Aug 2013 21:41:10 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: 2013/8/27 Chema Cortes > python debe > evolucionar más allá de CPython si no quiere quedarse fuera de la > programación de móviles y para la nube. > Me pregunto si es realmente necesario. En el tiempo que llevaría desarrollar y madurar un compilador adecuado para móviles, la tecnología de hardware habrá avanzado al punto en el que te puedas permitir tener un intérprete. Dicho lo cual, hay bastantes cosas montadas sobre el estándar CPython, como Shedskin, que evitan o reducen la necesidad de un intérprete; pero son cosas experimentales de las que (todavía) quizá no te puedes fiar lo suficiente como para usarlas en producción comercial. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis en gmail.com Tue Aug 27 21:52:01 2013 From: olemis en gmail.com (Olemis Lang) Date: Tue, 27 Aug 2013 14:52:01 -0500 Subject: [Python-es] =?iso-8859-1?q?Patrones_de_Dise=F1o_en_Python?= In-Reply-To: References: Message-ID: On 8/27/13, Asdrúbal Iván Suárez Rivera wrote: > Leyendo algunas cosas en Internet me encontré con este libro de Patrones de > Diseño en Python. Está bastante interesante y además, se encuentra bajo > licencia Creative Commons. El libro es en Inglés, pero creo que la mayoría > de los que estamos acá no deberíamos tener problemas para entenderlo. > > Enlace: http://www.etnassoft.com/biblioteca/design-patterns-in-python/ > También está esto ... https://github.com/olemis/python-patterns ... es un fork ;) [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From asdrubal.ivan.suarez.rivera en gmail.com Tue Aug 27 21:59:12 2013 From: asdrubal.ivan.suarez.rivera en gmail.com (=?ISO-8859-1?Q?Asdr=FAbal_Iv=E1n_Su=E1rez_Rivera?=) Date: Tue, 27 Aug 2013 15:29:12 -0430 Subject: [Python-es] =?iso-8859-1?q?Patrones_de_Dise=F1o_en_Python?= In-Reply-To: References: Message-ID: 2013/8/27 Olemis Lang > On 8/27/13, Asdrúbal Iván Suárez Rivera > wrote: > > Leyendo algunas cosas en Internet me encontré con este libro de Patrones > de > > Diseño en Python. Está bastante interesante y además, se encuentra bajo > > licencia Creative Commons. El libro es en Inglés, pero creo que la > mayoría > > de los que estamos acá no deberíamos tener problemas para entenderlo. > > > > Enlace: http://www.etnassoft.com/biblioteca/design-patterns-in-python/ > > > > También está esto ... > > https://github.com/olemis/python-patterns > > ... es un fork ;) > Sí, lo vi también mientras googleaba :) > > [...] > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Asdrúbal Iván Suárez Rivera *Si quieres aprender, enseña. *Marco Tulio Cicerón. * * *¿Tienes twitter?* *Sígueme: @asdrubalivan* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From soft.sirius en gmail.com Tue Aug 27 22:27:04 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Tue, 27 Aug 2013 22:27:04 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: ¿Qué opinión os merece Julia? un lenguaje basado parcialmente en Python. El 27 de agosto de 2013 21:41, Da?id escribió: > 2013/8/27 Chema Cortes > >> python debe >> evolucionar más allá de CPython si no quiere quedarse fuera de la >> programación de móviles y para la nube. >> > > Me pregunto si es realmente necesario. En el tiempo que llevaría > desarrollar y madurar un compilador adecuado para móviles, la tecnología de > hardware habrá avanzado al punto en el que te puedas permitir tener un > intérprete. > > Dicho lo cual, hay bastantes cosas montadas sobre el estándar CPython, > como Shedskin, que evitan o reducen la necesidad de un intérprete; pero son > cosas experimentales de las que (todavía) quizá no te puedes fiar lo > suficiente como para usarlas en producción comercial. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis en gmail.com Wed Aug 28 01:44:36 2013 From: olemis en gmail.com (Olemis Lang) Date: Tue, 27 Aug 2013 18:44:36 -0500 Subject: [Python-es] Traits en Python Message-ID: Busco una librería q implemente un mecanismo de extensión similar a los traits (self, scala, smalltalk, ...) . Lo q necesito es extender el comportamiento de clases sin herencia múltiple i.e. mixins . Si el mecanismo funciona a nivel d objetos en vez d clases puede q m sirva también . En mi corta investigación he encontrado : - https://pypi.python.org/pypi/strait : en la línea d lo q necesito hacer pero no permite redefinición (overrides) ni encadenamiento. - http://pypi.python.org/pypi/Traits : - https://pypi.python.org/pypi/simpletraits : lejanamente parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? ¡ Gracias ! -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From pych3m4 en gmail.com Wed Aug 28 10:02:49 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 28 Aug 2013 10:02:49 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: El día 27 de agosto de 2013 21:10, Jose Caballero escribió: >> >> si no quiere quedarse fuera de la >> programación de móviles y para la nube. >> > > por nube te refieres a SaaS o a IaaS? > Imagino que lo primero... pero pregunto por si acaso... En realidad pensaba más en IaaS tales como AWS, en aplicaciones de alta demanda como twitter. También incluiría otros tipo de computación distribuida como la M2M (Machine to Machine). -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From alberto en toscat.net Wed Aug 28 10:00:09 2013 From: alberto en toscat.net (Alberto Valverde) Date: Wed, 28 Aug 2013 10:00:09 +0200 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: <91A552BA-8432-47EB-9DFB-133D321160F7@toscat.net> On Aug 28, 2013, at 1:44 AM, Olemis Lang wrote: > Busco una librería q implemente un mecanismo de extensión similar a > los traits (self, scala, smalltalk, ...) . Lo q necesito es extender > el comportamiento de clases sin herencia múltiple i.e. mixins . Si el > mecanismo funciona a nivel d objetos en vez d clases puede q m sirva > también . > > En mi corta investigación he encontrado : > > - https://pypi.python.org/pypi/strait : en la línea d lo q necesito hacer > pero no permite redefinición (overrides) ni encadenamiento. > - http://pypi.python.org/pypi/Traits : > - https://pypi.python.org/pypi/simpletraits : lejanamente > parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... > > ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? > Tal vez puedas hacer algo similar con https://pypi.python.org/pypi/PEAK-Rules Alberto From pych3m4 en gmail.com Wed Aug 28 10:54:04 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 28 Aug 2013 10:54:04 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: El día 27 de agosto de 2013 22:27, Juan M. Puertas escribió: > ¿Qué opinión os merece Julia? un lenguaje basado parcialmente en Python. Hace tiempo que lo miré por encima. Aunque inspirado en python, es extensible mediante anotaciones que funcionan como si fueran macros. Se podría decir que es un metalenguaje. En su día me pareció más apropiado numba, también basado en LLVM, y blaze como mejor opción en computación distribuida que el mapreduce de julia. > > El 27 de agosto de 2013 21:41, Da?id escribió: >> >> 2013/8/27 Chema Cortes >>> >>> python debe >>> evolucionar más allá de CPython si no quiere quedarse fuera de la >>> programación de móviles y para la nube. >> >> >> Me pregunto si es realmente necesario. En el tiempo que llevaría >> desarrollar y madurar un compilador adecuado para móviles, la tecnología de >> hardware habrá avanzado al punto en el que te puedas permitir tener un >> intérprete. >> >> Dicho lo cual, hay bastantes cosas montadas sobre el estándar CPython, >> como Shedskin, que evitan o reducen la necesidad de un intérprete; pero son >> cosas experimentales de las que (todavía) quizá no te puedes fiar lo >> suficiente como para usarlas en producción comercial. >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje > en un tiempo. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From hfoffani en gmail.com Wed Aug 28 11:13:11 2013 From: hfoffani en gmail.com (=?iso-8859-1?Q?Hern=E1n_Foffani?=) Date: Wed, 28 Aug 2013 11:13:11 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: >> Yo lo que he sacado en claro de esta entrevista es que si queremos un >> lenguaje a nuestro gusto, hemos de escribirlo nosotros mientras dejamos que >> crezca nuestra barba ;-) > > No es sólo por el lenguaje. La verdadera potencia está, hoy en día, en > los compiladores, como el ghc de haskell o el de scala. La inferencia > de tipos de estos compiladores han reducido mucho las ventajas de usar > lenguajes dinámicos. > > Python3 es un buen lavado de cara del lenguaje, pero python debe > evolucionar más allá de CPython si no quiere quedarse fuera de la > programación de móviles y para la nube. > Pero algo ha cambiado en estos últimos 10 años. Antes Python *era* la implementación en CPython pero eso ya no es así, hay mas respeto por el resto de los intérpretes, específicamente jython, pypy, ironpython. En mi opinión hay otros temas que son menos "volados", mas aburridos si se quiere, que resolverlos es extraordinariamente complicado, como la dependencia de Python de la existencia de un file system. O en términos mas generales, la dependencia de la biblioteca estándar de servicios del sistema operativo. -Hernán. From hfoffani en gmail.com Wed Aug 28 11:36:09 2013 From: hfoffani en gmail.com (=?iso-8859-1?Q?Hern=E1n_Foffani?=) Date: Wed, 28 Aug 2013 11:36:09 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: > ¿Qué opinión os merece Julia? un lenguaje basado parcialmente en Python. > Mmm? No se yo? mypy (http://www.mypy-lang.org) quizás tenga algún futuro. Está dentro de la línea de pensamiento de Guido que es pesimista sobre la inferencia de tipos en Python sin ayuditas. Al menos GvR ha hecho un retweet del proyecto el mes pasado, lo que viniendo de él es todo un detalle je je. Por otro lado mi capacidad de predicción sobre el éxito futuro de los lenguajes de programación es nula. Jamás me hubiera imaginado que tarde o temprano *todos* programaríamos algo en JS. Vale que es por el navegador ¡pero es que ahora con nodejs resulta que también en el servidor! ¡Argh! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Wed Aug 28 11:36:43 2013 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 28 Aug 2013 11:36:43 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: El 28 de agosto de 2013 10:54, Chema Cortes escribió: > El día 27 de agosto de 2013 22:27, Juan M. Puertas > escribió: > > ¿Qué opinión os merece Julia? un lenguaje basado parcialmente en Python. > > Hace tiempo que lo miré por encima. Aunque inspirado en python, es > extensible mediante anotaciones que funcionan como si fueran macros. > Se podría decir que es un metalenguaje. > > En su día me pareció más apropiado numba, también basado en LLVM, y > blaze como mejor opción en computación distribuida que el mapreduce de > julia. > > El principal problema que le veo es que es un lenguaje de nicho (como matlab, octave, R, IDL,...). Python es multipropósito y además tiene muy buen soporte para ciencia. De todas formas, la relación entre el mundo scipy y el mundo Julia es muy buena por lo que entiendo que ambas comunidades se beneficiarán de ello. También, la gente de continuum están recibiendo bastantes fondos para trabajar en numba, blaze,... El tiempo dirá. Pero opino como Chema, las opiniones del BDFL son, por decirlo de alguna manera, un poco conservadoras en algunos aspectos. Renovarse o morir. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From euribates en gmail.com Wed Aug 28 11:39:10 2013 From: euribates en gmail.com (Juan Ignacio) Date: Wed, 28 Aug 2013 10:39:10 +0100 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: > Vale que es por el navegador ¡pero es que ahora con > nodejs resulta que también en el servidor! ¡Argh! Y con mongodb, ahora tambien en la base de datos. Verlo pa' creerlo. PD: A pesar de eso, mongodb mola :-) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Wed Aug 28 14:44:50 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 28 Aug 2013 14:44:50 +0200 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: El día 28 de agosto de 2013 01:44, Olemis Lang escribió: > Busco una librería q implemente un mecanismo de extensión similar a > los traits (self, scala, smalltalk, ...) . Lo q necesito es extender > el comportamiento de clases sin herencia múltiple i.e. mixins . Si el > mecanismo funciona a nivel d objetos en vez d clases puede q m sirva > también . > > En mi corta investigación he encontrado : > > - https://pypi.python.org/pypi/strait : en la línea d lo q necesito hacer > pero no permite redefinición (overrides) ni encadenamiento. > - http://pypi.python.org/pypi/Traits : > - https://pypi.python.org/pypi/simpletraits : lejanamente > parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... > > ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? Viendo estas referencias, hay quién confunde "traits" con la programación por contrato. Un trait define un comportamiento determinado mediante: - Métodos "concretos" que implementan un comportamiento determinado - Métodos "abstractos" que parametrizan un comportamiento determinado En scala, los traits son similares a las clases abstractas de java, con la excepción de que también pueden tener métodos concretos. Del mismo modo, en python puedes usar las clases abstractas base (ABC). Mediante el uso de la metaclase abc.ABCMeta se pueden crear clases abstractas virtuales que funcionen como traits. Mejor lo vemos con un ejemplo (para python3): from abc import ABCMeta, abstractmethod class Trait(ABCMeta): pass class MyTrait(metaclass=Trait): @abstractmethod def __str__(self): return "" def print(self): print(">>"+self.__str__()+"<<") Hemos definido un trait 'MyTrait' con un métodos abstracto y otro concreto. Para usarlo, empleamos la herencia múltiple: class MyClass(MyTrait): pass c=MyClass() ##ERROR: Clase abstracta no definida class MyClass(str, MyTrait): pass c=MyClass("HOLA") ##OK c.print() ## >>>HOLA<<< Supongo que ésto ya lo habías probado. Según pidés, no quieres "mixins", que equivaldría a que no quede rastro en el __mro__ . Se me ocurre complicar algo más Trait para que sea capaz de "inyectar" métodos: class Trait(ABCMeta): def __init__(self, name, bases, dic): self.__dic=dic def register(self, cls): super().register(cls) for k,v in self.__dic.items(): if not hasattr(cls,k): setattr(cls,k,v) return cls El modo de empleo de MyTrait sería como decorador: @MyTrait.register class MyClass(object): def __str__(self): return "MyTrait" assert(issubclass(MyClass, MyTrait)) assert(MyTrait not in MyClass.__mro__) c=MyClass() ##OK c.print() ## >>>MyTrait<<< El problema de este último sistema es que no tiene en cuenta los métodos abstractos ya que no está soportado añadir métodos abstractos dinámicamente. Como solución, se podría suplantar los métodos abstractos por una implementación que lanze una excepción "NotImplementedError" o similar. Supongo que se puede hacer mejor. Espero que te sirva. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From artus.lla en autistici.org Wed Aug 28 17:48:04 2013 From: artus.lla en autistici.org (=?ISO-8859-1?Q?Arturo_Llaja_Alarc=F3n?=) Date: Wed, 28 Aug 2013 10:48:04 -0500 Subject: [Python-es] conflicto de versiones python In-Reply-To: References: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> Message-ID: <521E1BB4.6080804@autistici.org> On 22/08/13 12:57, lesthack wrote: > > Si, virtualenv es una buena opción, solo tendría que indicarle a > Blender donde esta la ruta de su entorno aislado. > > Saludos ! > > > 2013/8/22 Hernán Foffani > > > > > Usa virtualenv... > > es una opción. > > > > > > El 22 de agosto de 2013 09:07, lesthack > escribió: > > Una forma muy sencilla de saber a que versión apunta > /usr/bin/python es simplemente ejecutarlo. > > > > $ python > > Python 2.7.3 (default, Apr 10 2013, 05:46:21) > > [GCC 4.6.3] on linux2 > > Type "help", "copyright", "credits" or "license" for more > information. > > > > En mi caso por ejemplo tengo predefinido la 2.7.3. > > > > Si quisieras cambiar la versión, remplaza /usr/bin/python > mediante un enlace simbólico a la versión que desees. > > > > ln -sf /usr/bin/python2.6 /usr/bin/python > > > > Saludos ! > > > > > > 2013/8/22 Ricardo Mendoza > > > Saludos, tengo un problema que se lo atribuyo a python. Intento > iniciar > > Blender instalado por medio de apt, en debian 7, pero al revisar veo > > que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo > hacer para > > que blender arranque con la version correcta de python?. > > > > FAQ: http://python-es-faq.wikidot.com/ > > > Sí, yo también recomiendo virtualenv. Especialmente el wrapper: > http://virtualenvwrapper.readthedocs.org/en/latest/ > > Le dedicas unos minutos una vez pero luego te blindas de cualquier > conflicto > futuro entre versiones de python y/o paquetes. > > -Hernán. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > ________________________________________________________ > > ISC. Jorge Luis Hernández C. > Desarrollador de Software y Tecnologías Libres > > Colaborador GNU/Linux Debian México > http://lesthack.com.mx > http://blog.debian.mx/ > @lesthack > ________________________________________________________ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ Creo que el problema no es de Python, ejecuta Blender en una terminal y verifica cual es el error ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From artus.lla en autistici.org Wed Aug 28 17:33:35 2013 From: artus.lla en autistici.org (=?ISO-8859-1?Q?Arturo_Llaja_Alarc=F3n?=) Date: Wed, 28 Aug 2013 10:33:35 -0500 Subject: [Python-es] conflicto de versiones python In-Reply-To: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> References: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> Message-ID: <521E184F.8030608@autistici.org> On 22/08/13 10:11, Hernán Foffani wrote: >> Usa virtualenv... >> es una opción. >> >> >> El 22 de agosto de 2013 09:07, lesthack escribió: >> Una forma muy sencilla de saber a que versión apunta /usr/bin/python es simplemente ejecutarlo. >> >> $ python >> Python 2.7.3 (default, Apr 10 2013, 05:46:21) >> [GCC 4.6.3] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >> En mi caso por ejemplo tengo predefinido la 2.7.3. >> >> Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un enlace simbólico a la versión que desees. >> >> ln -sf /usr/bin/python2.6 /usr/bin/python >> >> Saludos ! >> >> >> 2013/8/22 Ricardo Mendoza >> Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar >> Blender instalado por medio de apt, en debian 7, pero al revisar veo >> que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para >> que blender arranque con la version correcta de python?. >> >> FAQ: http://python-es-faq.wikidot.com/ > > Sí, yo también recomiendo virtualenv. Especialmente el wrapper: > http://virtualenvwrapper.readthedocs.org/en/latest/ > > Le dedicas unos minutos una vez pero luego te blindas de cualquier conflicto > futuro entre versiones de python y/o paquetes. > > -Hernán. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ No creo que sea un problema de Python, además Blender no esta escrito en Python, sería mejor que ejecutes Blender desde una terminal y veas cuál es el error. From artus.lla en autistici.org Wed Aug 28 17:37:25 2013 From: artus.lla en autistici.org (=?ISO-8859-1?Q?Arturo_Llaja_Alarc=F3n?=) Date: Wed, 28 Aug 2013 10:37:25 -0500 Subject: [Python-es] conflicto de versiones python In-Reply-To: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> References: <85957E15-4224-453C-85BD-7BB7C64148D5@gmail.com> Message-ID: <521E1935.3020308@autistici.org> On 22/08/13 10:11, Hernán Foffani wrote: >> Usa virtualenv... >> es una opción. >> >> >> El 22 de agosto de 2013 09:07, lesthack escribió: >> Una forma muy sencilla de saber a que versión apunta /usr/bin/python es simplemente ejecutarlo. >> >> $ python >> Python 2.7.3 (default, Apr 10 2013, 05:46:21) >> [GCC 4.6.3] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >> En mi caso por ejemplo tengo predefinido la 2.7.3. >> >> Si quisieras cambiar la versión, remplaza /usr/bin/python mediante un enlace simbólico a la versión que desees. >> >> ln -sf /usr/bin/python2.6 /usr/bin/python >> >> Saludos ! >> >> >> 2013/8/22 Ricardo Mendoza >> Saludos, tengo un problema que se lo atribuyo a python. Intento iniciar >> Blender instalado por medio de apt, en debian 7, pero al revisar veo >> que tengo tres versiones de python 2.6,2.7,3.2. ¿Como puedo hacer para >> que blender arranque con la version correcta de python?. >> >> FAQ: http://python-es-faq.wikidot.com/ > > Sí, yo también recomiendo virtualenv. Especialmente el wrapper: > http://virtualenvwrapper.readthedocs.org/en/latest/ > > Le dedicas unos minutos una vez pero luego te blindas de cualquier conflicto > futuro entre versiones de python y/o paquetes. > > -Hernán. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ No creo que sea un problema de Python, además Blender no esta escrito en Python, sería mejor que ejecutes Blender desde una terminal y veas cuál es el error. From olemis en gmail.com Thu Aug 29 08:02:07 2013 From: olemis en gmail.com (Olemis Lang) Date: Thu, 29 Aug 2013 01:02:07 -0500 Subject: [Python-es] Traits en Python In-Reply-To: <91A552BA-8432-47EB-9DFB-133D321160F7@toscat.net> References: <91A552BA-8432-47EB-9DFB-133D321160F7@toscat.net> Message-ID: On 8/28/13, Alberto Valverde wrote: > On Aug 28, 2013, at 1:44 AM, Olemis Lang wrote: > >> Busco una librería q implemente un mecanismo de extensión similar a >> los traits (self, scala, smalltalk, ...) . Lo q necesito es extender >> el comportamiento de clases sin herencia múltiple i.e. mixins . Si el >> mecanismo funciona a nivel d objetos en vez d clases puede q m sirva >> también . >> >> En mi corta investigación he encontrado : >> >> - https://pypi.python.org/pypi/strait : en la línea d lo q necesito >> hacer >> pero no permite redefinición (overrides) ni encadenamiento. >> - http://pypi.python.org/pypi/Traits : >> - https://pypi.python.org/pypi/simpletraits : lejanamente >> parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... >> >> ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? >> > > Tal vez puedas hacer algo similar con > https://pypi.python.org/pypi/PEAK-Rules > Interesante . Gracias , pero creo q no puedo tener esa librería como dependencia . :'( -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Apache? Bloodhound 0.7 listo para descarga - http://goo.gl/fb/OwzmM From olemis en gmail.com Thu Aug 29 08:24:28 2013 From: olemis en gmail.com (Olemis Lang) Date: Thu, 29 Aug 2013 01:24:28 -0500 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: On 8/28/13, Chema Cortes wrote: > El día 28 de agosto de 2013 01:44, Olemis Lang escribió: >> Busco una librería q implemente un mecanismo de extensión similar a >> los traits (self, scala, smalltalk, ...) . Lo q necesito es extender >> el comportamiento de clases sin herencia múltiple i.e. mixins . Si el >> mecanismo funciona a nivel d objetos en vez d clases puede q m sirva >> también . >> >> En mi corta investigación he encontrado : >> >> - https://pypi.python.org/pypi/strait : en la línea d lo q necesito >> hacer >> pero no permite redefinición (overrides) ni encadenamiento. >> - http://pypi.python.org/pypi/Traits : >> - https://pypi.python.org/pypi/simpletraits : lejanamente >> parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... >> >> ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? > > Viendo estas referencias, hay quién confunde "traits" con la > programación por contrato. Un trait define un comportamiento > determinado mediante: > > - Métodos "concretos" que implementan un comportamiento determinado > - Métodos "abstractos" que parametrizan un comportamiento determinado > el vocabulario técnico parece ser más rico de lo q yo esperaba ... hay un montón d cosas a las q le dicen traits sin relación alguna entre ellas ; pero bueno, estaba hablando d algo como los traits d Scala ... [...] > > Supongo que ésto ya lo habías probado. ;) > Según pidés, no quieres > "mixins", que equivaldría a que no quede rastro en el __mro__ . No es solamente por el hecho del mro , la cuestión consiste en q en el modelo q necesitaría : 1. habría **muchas** clases parciales 2. q extenderían / modificarían el comportamiento d una clase base 3. pero la composición q se necesita en un caso determinado se determina en tiempo d ejecución (o sea, se generan clases) 4. y el número d clases en cada composición puede ser grande razón por la cual estaba creyendo conveniente tener el equivalente d (Scala) new Class() with Trait1 with Trait2 with ... Trait_n{ def transform(obj: String): obj.toLower() } con una sintaxis más o menos así cls = Trait1(Trait2(... Trait_n(Class))) obj = cls() > Se me > ocurre complicar algo más Trait para que sea capaz de "inyectar" > métodos: > > class Trait(ABCMeta): > > def __init__(self, name, bases, dic): > self.__dic=dic > > def register(self, cls): > super().register(cls) > for k,v in self.__dic.items(): > if not hasattr(cls,k): > setattr(cls,k,v) > return cls > > El modo de empleo de MyTrait sería como decorador: > > @MyTrait.register > class MyClass(object): > def __str__(self): > return "MyTrait" > > assert(issubclass(MyClass, MyTrait)) > assert(MyTrait not in MyClass.__mro__) > > c=MyClass() ##OK > c.print() ## >>>MyTrait<<< > > El problema de este último sistema es que no tiene en cuenta los > métodos abstractos ya que no está soportado añadir métodos abstractos > dinámicamente. Como solución, se podría suplantar los métodos > abstractos por una implementación que lanze una excepción > "NotImplementedError" o similar. > Algo parecido a esto es lo q busco pero con resolución dinámica d nombres (i.e. sin copia) . D todas formas estaba tratando d evitar tener q hacerlo. Pensé q era algo tan común q ya debería haber algo al respecto , pero creo q no m va a quedar otro remedio q empezarlo desde cero . :'( [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Apache? Bloodhound 0.7 listo para descarga - http://goo.gl/fb/OwzmM From niwi en niwi.be Thu Aug 29 09:06:38 2013 From: niwi en niwi.be (Andrey Antukh) Date: Thu, 29 Aug 2013 09:06:38 +0200 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: Hola. No se si lo he entendido bien, pero puede que estes buscando algo asi: https://gist.github.com/niwibe/3654502 ? Obviamente esto solo es un experimento... Andrey El 29 de agosto de 2013 08:24, Olemis Lang escribió: > On 8/28/13, Chema Cortes wrote: > > El día 28 de agosto de 2013 01:44, Olemis Lang > escribió: > >> Busco una librería q implemente un mecanismo de extensión similar a > >> los traits (self, scala, smalltalk, ...) . Lo q necesito es extender > >> el comportamiento de clases sin herencia múltiple i.e. mixins . Si el > >> mecanismo funciona a nivel d objetos en vez d clases puede q m sirva > >> también . > >> > >> En mi corta investigación he encontrado : > >> > >> - https://pypi.python.org/pypi/strait : en la línea d lo q necesito > >> hacer > >> pero no permite redefinición (overrides) ni encadenamiento. > >> - http://pypi.python.org/pypi/Traits : > >> - https://pypi.python.org/pypi/simpletraits : lejanamente > >> parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... > >> > >> ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? > > > > Viendo estas referencias, hay quién confunde "traits" con la > > programación por contrato. Un trait define un comportamiento > > determinado mediante: > > > > - Métodos "concretos" que implementan un comportamiento determinado > > - Métodos "abstractos" que parametrizan un comportamiento determinado > > > > el vocabulario técnico parece ser más rico de lo q yo esperaba ... hay > un montón d cosas a las q le dicen traits sin relación alguna entre > ellas ; pero bueno, estaba hablando d algo como los traits d Scala ... > > [...] > > > > Supongo que ésto ya lo habías probado. > > ;) > > > Según pidés, no quieres > > "mixins", que equivaldría a que no quede rastro en el __mro__ . > > No es solamente por el hecho del mro , la cuestión consiste en q en el > modelo q necesitaría : > > 1. habría **muchas** clases parciales > 2. q extenderían / modificarían el comportamiento d una clase base > 3. pero la composición q se necesita en un caso determinado se > determina en tiempo d ejecución (o sea, se generan clases) > 4. y el número d clases en cada composición puede ser grande > > razón por la cual estaba creyendo conveniente tener el equivalente d > (Scala) > > new Class() with Trait1 with Trait2 with ... Trait_n{ > def transform(obj: String): obj.toLower() > } > > con una sintaxis más o menos así > > cls = Trait1(Trait2(... Trait_n(Class))) > obj = cls() > > > Se me > > ocurre complicar algo más Trait para que sea capaz de "inyectar" > > métodos: > > > > class Trait(ABCMeta): > > > > def __init__(self, name, bases, dic): > > self.__dic=dic > > > > def register(self, cls): > > super().register(cls) > > for k,v in self.__dic.items(): > > if not hasattr(cls,k): > > setattr(cls,k,v) > > return cls > > > > El modo de empleo de MyTrait sería como decorador: > > > > @MyTrait.register > > class MyClass(object): > > def __str__(self): > > return "MyTrait" > > > > assert(issubclass(MyClass, MyTrait)) > > assert(MyTrait not in MyClass.__mro__) > > > > c=MyClass() ##OK > > c.print() ## >>>MyTrait<<< > > > > El problema de este último sistema es que no tiene en cuenta los > > métodos abstractos ya que no está soportado añadir métodos abstractos > > dinámicamente. Como solución, se podría suplantar los métodos > > abstractos por una implementación que lanze una excepción > > "NotImplementedError" o similar. > > > > Algo parecido a esto es lo q busco pero con resolución dinámica d > nombres (i.e. sin copia) . D todas formas estaba tratando d evitar > tener q hacerlo. Pensé q era algo tan común q ya debería haber algo al > respecto , pero creo q no m va a quedar otro remedio q empezarlo desde > cero . > :'( > > [...] > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Apache? Bloodhound 0.7 listo para descarga - > http://goo.gl/fb/OwzmM > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Andrey Antukh - ?????? ????? - http://www.niwi.be/about.html http://www.kaleidos.net/A5694F/ "Linux is for people who hate Windows, BSD is for people who love UNIX" "Social Engineer -> Because there is no patch for human stupidity" ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Thu Aug 29 12:29:01 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 29 Aug 2013 12:29:01 +0200 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: El día 29 de agosto de 2013 08:24, Olemis Lang escribió: > On 8/28/13, Chema Cortes wrote: >> El día 28 de agosto de 2013 01:44, Olemis Lang escribió: >>> Busco una librería q implemente un mecanismo de extensión similar a >>> los traits (self, scala, smalltalk, ...) . Lo q necesito es extender >>> el comportamiento de clases sin herencia múltiple i.e. mixins . Si el >>> mecanismo funciona a nivel d objetos en vez d clases puede q m sirva >>> también . >>> >>> En mi corta investigación he encontrado : >>> >>> - https://pypi.python.org/pypi/strait : en la línea d lo q necesito >>> hacer >>> pero no permite redefinición (overrides) ni encadenamiento. >>> - http://pypi.python.org/pypi/Traits : >>> - https://pypi.python.org/pypi/simpletraits : lejanamente >>> parecido a lo q quiero hacer , creo q ni siquiera tiene q ver ... >>> >>> ¿Alguien conoce otra librería o alguna otra variante q pueda recomendar? >> >> Viendo estas referencias, hay quién confunde "traits" con la >> programación por contrato. Un trait define un comportamiento >> determinado mediante: >> >> - Métodos "concretos" que implementan un comportamiento determinado >> - Métodos "abstractos" que parametrizan un comportamiento determinado >> > > el vocabulario técnico parece ser más rico de lo q yo esperaba ... hay > un montón d cosas a las q le dicen traits sin relación alguna entre > ellas ; pero bueno, estaba hablando d algo como los traits d Scala ... > > [...] >> >> Supongo que ésto ya lo habías probado. > > ;) > >> Según pidés, no quieres >> "mixins", que equivaldría a que no quede rastro en el __mro__ . > > No es solamente por el hecho del mro , la cuestión consiste en q en el > modelo q necesitaría : > > 1. habría **muchas** clases parciales > 2. q extenderían / modificarían el comportamiento d una clase base > 3. pero la composición q se necesita en un caso determinado se > determina en tiempo d ejecución (o sea, se generan clases) > 4. y el número d clases en cada composición puede ser grande > > razón por la cual estaba creyendo conveniente tener el equivalente d (Scala) > > new Class() with Trait1 with Trait2 with ... Trait_n{ > def transform(obj: String): obj.toLower() > } > > con una sintaxis más o menos así > > cls = Trait1(Trait2(... Trait_n(Class))) > obj = cls() No entiendo bien. La versión "decorador" que te había puesto puede hacer este "encadenado": cls = Trait1.register(Trait2.register(....Trait_n.register(Class))) Si lo quieres más práctico, cambia el método register por un método __call__ Otra cosa distinta es que quieras crear clases anónimas como en scala. Pero, según Guido, éso es sólo para listos. :-P > >> Se me >> ocurre complicar algo más Trait para que sea capaz de "inyectar" >> métodos: >> >> class Trait(ABCMeta): >> >> def __init__(self, name, bases, dic): >> self.__dic=dic >> >> def register(self, cls): >> super().register(cls) >> for k,v in self.__dic.items(): >> if not hasattr(cls,k): >> setattr(cls,k,v) >> return cls >> >> El modo de empleo de MyTrait sería como decorador: >> >> @MyTrait.register >> class MyClass(object): >> def __str__(self): >> return "MyTrait" >> >> assert(issubclass(MyClass, MyTrait)) >> assert(MyTrait not in MyClass.__mro__) >> >> c=MyClass() ##OK >> c.print() ## >>>MyTrait<<< >> >> El problema de este último sistema es que no tiene en cuenta los >> métodos abstractos ya que no está soportado añadir métodos abstractos >> dinámicamente. Como solución, se podría suplantar los métodos >> abstractos por una implementación que lanze una excepción >> "NotImplementedError" o similar. >> > > Algo parecido a esto es lo q busco pero con resolución dinámica d > nombres (i.e. sin copia) . D todas formas estaba tratando d evitar > tener q hacerlo. Pensé q era algo tan común q ya debería haber algo al > respecto , pero creo q no m va a quedar otro remedio q empezarlo desde > cero . > :'( > > [...] > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Apache? Bloodhound 0.7 listo para descarga - > http://goo.gl/fb/OwzmM > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From soft.sirius en gmail.com Thu Aug 29 13:31:46 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Thu, 29 Aug 2013 13:31:46 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: Lo que no entiendo es lo de que Python no está bien preparado para la nube. He tenido que hacer una aplicación asíncrona para la web que calcula y dibuja las posiciones planetarias para una fecha, hora y lugar que determina el usuario, la he realizado en Python por que me gusta el lenguaje y sobre todo por que Python está muy mimado por la comunidad, por ejemplo a muchos lenguajes le faltan cosas como pytz, con el que puedes saber que huso horario hay en cada país en cualquier fecha y hora. Para el cálculo de posiciones planetarias existe la extensión Pyswisseph. Con otro lenguaje me las habría visto y deseado... El 28 de agosto de 2013 11:39, Juan Ignacio escribió: > > Vale que es por el navegador ¡pero es que ahora con > > nodejs resulta que también en el servidor! ¡Argh! > > Y con mongodb, ahora tambien en la base de datos. Verlo pa' creerlo. > > PD: A pesar de eso, mongodb mola :-) > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From niwi en niwi.be Thu Aug 29 14:29:17 2013 From: niwi en niwi.be (Andrey Antukh) Date: Thu, 29 Aug 2013 14:29:17 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: La verdad que no tiene mucho sentido lo que se ha dicho sobre lo de la nube... ;) Andrey El 29 de agosto de 2013 13:31, Juan M. Puertas escribió: > Lo que no entiendo es lo de que Python no está bien preparado para la nube. > He tenido que hacer una aplicación asíncrona para la web que calcula y > dibuja las posiciones planetarias para una fecha, hora y lugar que > determina el usuario, la he realizado en Python por que me gusta el > lenguaje y sobre todo por que Python está muy mimado por la comunidad, por > ejemplo a muchos lenguajes le faltan cosas como pytz, con el que puedes > saber que huso horario hay en cada país en cualquier fecha y hora. Para el > cálculo de posiciones planetarias existe la extensión Pyswisseph. Con otro > lenguaje me las habría visto y deseado... > > > El 28 de agosto de 2013 11:39, Juan Ignacio escribió: > >> > Vale que es por el navegador ¡pero es que ahora con >> > nodejs resulta que también en el servidor! ¡Argh! >> >> Y con mongodb, ahora tambien en la base de datos. Verlo pa' creerlo. >> >> PD: A pesar de eso, mongodb mola :-) >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este > mensaje en un tiempo.* > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Andrey Antukh - ?????? ????? - http://www.niwi.be/about.html http://www.kaleidos.net/A5694F/ "Linux is for people who hate Windows, BSD is for people who love UNIX" "Social Engineer -> Because there is no patch for human stupidity" ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis en gmail.com Thu Aug 29 17:10:24 2013 From: olemis en gmail.com (Olemis Lang) Date: Thu, 29 Aug 2013 10:10:24 -0500 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: On 8/29/13, Andrey Antukh wrote: > Hola. > :) > No se si lo he entendido bien, pero puede que estes buscando algo asi: > https://gist.github.com/niwibe/3654502 ? > Obviamente esto solo es un experimento... > interesante y simple . no se me había ocurrido . Gracias ! [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Twitter : Apache? Mesos se gradúa de Apache? Incubator - http://goo.gl/fb/fI4wW From olemis en gmail.com Thu Aug 29 17:12:31 2013 From: olemis en gmail.com (Olemis Lang) Date: Thu, 29 Aug 2013 10:12:31 -0500 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: On 8/29/13, Chema Cortes wrote: > El día 29 de agosto de 2013 08:24, Olemis Lang escribió: [...] >> razón por la cual estaba creyendo conveniente tener el equivalente d >> (Scala) >> >> new Class() with Trait1 with Trait2 with ... Trait_n{ >> def transform(obj: String): obj.toLower() >> } >> >> con una sintaxis más o menos así >> >> cls = Trait1(Trait2(... Trait_n(Class))) >> obj = cls() > > No entiendo bien. La versión "decorador" que te había puesto puede > hacer este "encadenado": > > cls = Trait1.register(Trait2.register(....Trait_n.register(Class))) > > Si lo quieres más práctico, cambia el método register por un método > __call__ > sí , lo q trataba d decir q el ejemplo está bastanate bien , solo q le faltaría un detalle para no copiar los atributos del trait en el namespace de la definición local de la clase , sino resolverlos dinámicamente à la MRO. ;) > Otra cosa distinta es que quieras crear clases anónimas como en scala. > Pero, según Guido, éso es sólo para listos. :-P > ¡ uso Python ! soy muy listo :P [...] -- Regards, Olemis - @olemislc Apache? Bloodhound contributor http://issues.apache.org/bloodhound http://blood-hound.net Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Google Zoo - http://goo.gl/fb/rEI8e From pych3m4 en gmail.com Thu Aug 29 19:44:45 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 29 Aug 2013 19:44:45 +0200 Subject: [Python-es] Traits en Python In-Reply-To: References: Message-ID: El día 29 de agosto de 2013 17:12, Olemis Lang escribió: > On 8/29/13, Chema Cortes wrote: >> El día 29 de agosto de 2013 08:24, Olemis Lang escribió: > [...] >>> razón por la cual estaba creyendo conveniente tener el equivalente d >>> (Scala) >>> >>> new Class() with Trait1 with Trait2 with ... Trait_n{ >>> def transform(obj: String): obj.toLower() >>> } >>> >>> con una sintaxis más o menos así >>> >>> cls = Trait1(Trait2(... Trait_n(Class))) >>> obj = cls() >> >> No entiendo bien. La versión "decorador" que te había puesto puede >> hacer este "encadenado": >> >> cls = Trait1.register(Trait2.register(....Trait_n.register(Class))) >> >> Si lo quieres más práctico, cambia el método register por un método >> __call__ >> > > sí , lo q trataba d decir q el ejemplo está bastanate bien , solo q le > faltaría un detalle para no copiar los atributos del trait en el > namespace de la definición local de la clase , sino resolverlos > dinámicamente à la MRO. > ;) Entiendo. Para lo que necesitas tendrías que hackear el método __getattribute__ responsable del funcionamiento de los descriptores. Sobrecargando este método en type.__getattribute__ (por ejemplo, desde una metaclase) podrías añadir a la cadena de búsqueda de atributos el conjunto de traits que quieres añadir. La mala noticia es que las optimizaciones del intérprete de python ignoran el método __getattribute__ cuando se trata de métodos especiales (eg: __str__, __len__, __hash__,...), que son, precisamente, los más interesantes para definir comportamientos. La única forma que veo que funcione correctamente algo así es copiando los métodos en la clase. > >> Otra cosa distinta es que quieras crear clases anónimas como en scala. >> Pero, según Guido, éso es sólo para listos. :-P >> > > ¡ uso Python ! soy muy listo :P > > [...] > > -- > Regards, > > Olemis - @olemislc > > Apache? Bloodhound contributor > http://issues.apache.org/bloodhound > http://blood-hound.net > > Blog ES: http://simelo-es.blogspot.com/ > Blog EN: http://simelo-en.blogspot.com/ > > Featured article: > Google Zoo - http://goo.gl/fb/rEI8e > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From marioencalada en gmail.com Thu Aug 29 20:18:06 2013 From: marioencalada en gmail.com (Mario Encalada Cavada) Date: Thu, 29 Aug 2013 14:18:06 -0400 Subject: [Python-es] =?iso-8859-1?q?Imagenes_da=F1adas_al_descargar_con_ur?= =?iso-8859-1?q?llib2?= In-Reply-To: References: Message-ID: <521F905E.1090703@gmail.com> On 27/08/13 05:13, WolveLopez wrote: > Hola compañeros, Estoy realizando un script el cual descaraga una > monton de imágenes de un proveedor a una carpeta en local de mi > equipo. Utilizo write y urllib2 para descargarlas pero las imágenes se > descargan dañadas. Este es el código que empleo: > > Código: > URL = imagen > source = urllib2.urlopen(URL).read() > f = open(nombre_del_archivo, "w") > f.write(source) > f.close() > Las imágenes que voy descargando quedan de esta manera: > http://subefotos.com/ver/?9e77a0892a...94fa6e8efo.jpg > > > En linux me lo hace perfectamente, pero si ejecuto el script en > windows es cuando daña las fotos. He probado en varios equipos con > windows, para desestimar que fuera ese equipo en concreto. > > Un saludo compañeros y gracias de antemano. > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ trata de usar open(nombre_del_archivo, "wb") al trabajar con ficheros Windoxxx hace diferencia entre ficheros de texto y "b"inarios. El codif¡go así funciona sin problemas en linux, ya que en este caso omite esta informacion. espero que sirva .... http://stackoverflow.com/questions/2665866/what-is-the-wb-mean-in-this-code-using-python ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From soft.sirius en gmail.com Thu Aug 29 20:54:57 2013 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Thu, 29 Aug 2013 20:54:57 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: Si lo ha dicho Chema, seguro que tiene sentido, yo lo decía por tirarle de la lengua para ver qué sabe. Guido ha declarado que ni se le ocurra a nadie hacer "compiladores" de Python a Javascript. Supongo que una idea como Dart, que cuenta además con un entorno de desarrollo fabuloso, sería ideal que existiese en Python. :-) El 29 de agosto de 2013 14:29, Andrey Antukh escribió: > La verdad que no tiene mucho sentido lo que se ha dicho sobre lo de la > nube... > > ;) > Andrey > > > > > El 29 de agosto de 2013 13:31, Juan M. Puertas escribió: > > Lo que no entiendo es lo de que Python no está bien preparado para la nube. >> He tenido que hacer una aplicación asíncrona para la web que calcula y >> dibuja las posiciones planetarias para una fecha, hora y lugar que >> determina el usuario, la he realizado en Python por que me gusta el >> lenguaje y sobre todo por que Python está muy mimado por la comunidad, por >> ejemplo a muchos lenguajes le faltan cosas como pytz, con el que puedes >> saber que huso horario hay en cada país en cualquier fecha y hora. Para el >> cálculo de posiciones planetarias existe la extensión Pyswisseph. Con otro >> lenguaje me las habría visto y deseado... >> >> >> El 28 de agosto de 2013 11:39, Juan Ignacio escribió: >> >>> > Vale que es por el navegador ¡pero es que ahora con >>> > nodejs resulta que también en el servidor! ¡Argh! >>> >>> Y con mongodb, ahora tambien en la base de datos. Verlo pa' creerlo. >>> >>> PD: A pesar de eso, mongodb mola :-) >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este >> mensaje en un tiempo.* >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Andrey Antukh - ?????? ????? - > http://www.niwi.be/about.html > http://www.kaleidos.net/A5694F/ > > "Linux is for people who hate Windows, BSD is for people who love UNIX" > "Social Engineer -> Because there is no patch for human stupidity" > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Thu Aug 29 21:05:50 2013 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 29 Aug 2013 21:05:50 +0200 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: El día 29 de agosto de 2013 13:31, Juan M. Puertas escribió: > Lo que no entiendo es lo de que Python no está bien preparado para la nube. > He tenido que hacer una aplicación asíncrona para la web que calcula y > dibuja las posiciones planetarias para una fecha, hora y lugar que determina > el usuario, la he realizado en Python por que me gusta el lenguaje y sobre > todo por que Python está muy mimado por la comunidad, por ejemplo a muchos > lenguajes le faltan cosas como pytz, con el que puedes saber que huso > horario hay en cada país en cualquier fecha y hora. Para el cálculo de > posiciones planetarias existe la extensión Pyswisseph. Con otro lenguaje me > las habría visto y deseado... Creo que no tenemos el mismo concepto de "nube". Puedes contar con el mejor sistema de alta disponibilidad y las mejores comunicaciones y todavía no estar preparado para la nube. Es necesario, para poder desviar la demanda de un nodo a otro, que se puedan suspender y restauras tareas rápidamente, incluidos sus datos. Y CPython, a mi entender, no está preparado para esta escalabilidad en alta demanda. También es verdad que no todo lo que se usa en python está programado en python, pero lo estaríamos convirtiendo en mero lenguaje instrumental. Y es aquí donde veo el peligro, que algún día alguien se pregunte para qué usar python si se puede hacer lo mismo creando un DSL con los mismos lenguajes que se usan para el resto de la aplicación. Sólo por dejarlo claro: ni he dicho que python desaparecerá ni que no se puedan hacer aplicaciones web maravillosas. De hecho, creo que el uso de python crecerá durante los próximos años. > > > El 28 de agosto de 2013 11:39, Juan Ignacio escribió: >> >> > Vale que es por el navegador ¡pero es que ahora con >> > nodejs resulta que también en el servidor! ¡Argh! >> >> Y con mongodb, ahora tambien en la base de datos. Verlo pa' creerlo. >> >> PD: A pesar de eso, mongodb mola :-) >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje > en un tiempo. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es From josecalderoncelis en gmail.com Fri Aug 30 08:32:20 2013 From: josecalderoncelis en gmail.com (Jose Calderon-Celis) Date: Fri, 30 Aug 2013 01:32:20 -0500 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: Al leer me acordaba de esos sistemas que son cautivos por sus creadores, pues ellos son los unicos que conocen como funcionan y claro son sistemas que cumplen los requerimientos(algunos) o sirven para determinadas cosas, pero si queres ampliarlos y/o corregirlos (recien entiendes lo que es cautivo) y en algun momento se reescriben, --- Jose Calderon-Celis 2013/8/26 "Hernán M. F." > En slashdot. > > http://developers.slashdot.org/firehose.pl?op=view&type=story&sid=13/08/25/2115204 > > > Hernán MF S > > _______________________________________________ > 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: From francois.dion en gmail.com Fri Aug 30 14:49:33 2013 From: francois.dion en gmail.com (Francois Dion) Date: Fri, 30 Aug 2013 08:49:33 -0400 Subject: [Python-es] Entrevista a GvR In-Reply-To: References: Message-ID: Estoy utilizando brython (http://brython.info) por desarrollar apps web (y móviles). Brython es un transpiler de python 3 a javascript. Funciona. A veces, la practica es mas que la teoría. Para mi, python en el navigador es una realidad. Francois --- www.pyptug.org - raspberry-python.blogspot.com - @f_dion 2013/8/29 Juan M. Puertas > Si lo ha dicho Chema, seguro que tiene sentido, yo lo decía por tirarle > de la lengua para ver qué sabe. > Guido ha declarado que ni se le ocurra a nadie hacer "compiladores" de > Python a Javascript. > Supongo que una idea como Dart, que cuenta además con un entorno de > desarrollo fabuloso, sería ideal que existiese en Python. :-) > > > El 29 de agosto de 2013 14:29, Andrey Antukh escribió: > > La verdad que no tiene mucho sentido lo que se ha dicho sobre lo de la >> nube... >> >> ;) >> Andrey >> >> >> >> >> El 29 de agosto de 2013 13:31, Juan M. Puertas escribió: >> >> Lo que no entiendo es lo de que Python no está bien preparado para la >>> nube. >>> He tenido que hacer una aplicación asíncrona para la web que calcula y >>> dibuja las posiciones planetarias para una fecha, hora y lugar que >>> determina el usuario, la he realizado en Python por que me gusta el >>> lenguaje y sobre todo por que Python está muy mimado por la comunidad, por >>> ejemplo a muchos lenguajes le faltan cosas como pytz, con el que puedes >>> saber que huso horario hay en cada país en cualquier fecha y hora. Para el >>> cálculo de posiciones planetarias existe la extensión Pyswisseph. Con otro >>> lenguaje me las habría visto y deseado... >>> >>> >>> El 28 de agosto de 2013 11:39, Juan Ignacio escribió: >>> >>>> > Vale que es por el navegador ¡pero es que ahora con >>>> > nodejs resulta que también en el servidor! ¡Argh! >>>> >>>> Y con mongodb, ahora tambien en la base de datos. Verlo pa' creerlo. >>>> >>>> PD: A pesar de eso, mongodb mola :-) >>>> >>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> >>> -- >>> *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este >>> mensaje en un tiempo.* >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> -- >> Andrey Antukh - ?????? ????? - >> http://www.niwi.be/about.html >> http://www.kaleidos.net/A5694F/ >> >> "Linux is for people who hate Windows, BSD is for people who love UNIX" >> "Social Engineer -> Because there is no patch for human stupidity" >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este > mensaje en un tiempo.* > > _______________________________________________ > 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: From esteban en princesa.pri.sld.cu Fri Aug 30 09:06:26 2013 From: esteban en princesa.pri.sld.cu (Luis) Date: Fri, 30 Aug 2013 09:06:26 +0200 Subject: [Python-es] De listas a variables Message-ID: Hola, :) Necesito pasar un conjunto de pares 'clave:valor' a una función. He estado probado con los diccionarios pero resulta que a la hora de trabajar con los pares no me conviene el orden en que salen, ni tampoco ordenarlos, más bien me interesa el orden en que los introduje, y no salen así. He pensado entonces en pasar una lista con solo los nombres de las variables pero necesitaría poder convertir esos elementos de la lista en variables independientes. Me explico con un ejemplo, >>> x=1 >>> y=2 >>> z=3 >>> list=[x,y,z] >>> def mostrar(list): ... for var in list: ... print '%s: %2d'%(var,var) ... >>> mostrar(list) 1: 1 2: 2 3: 3 Aquí está la cosa, necesito que en la primera columna aparezcan x,y,z y no sus respectivos valores. Con los diccionarios he probado de varias maneras: 1. Pasando el diccionario y luego volviendo a escribir las mismas variables dentro de la función para así poder establecer mi orden. Este método no tiene gracia. 2. Pasando el diccionario y una lista con las mismas variables para poder imponer el orden pues las listas no alteran dicho orden. Este método tampoco tiene gracia. 3. Pasando una lista con todas las variables entrecomilladas y también sin comillas(como variables). Igualmente de absurdo. Debería de poder lograrlo pasando los nombres de variables una sola vez. Si pudiera trabajar la línea de la función 'print' tal vez pudiera lograrlo, pero cómo? Les estaré muy agradecido :) -- Saludos, Luis Esteban de Dios Núñez ----------------------------------- CONSULTE la Revista de Ciencias Medicas de Pinar del Rio en Internet www.revcmpinar.sld.cu -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/ From sney2002 en gmail.com Fri Aug 30 15:32:09 2013 From: sney2002 en gmail.com (Jhonatan Sneider Salguero Villa) Date: Fri, 30 Aug 2013 08:32:09 -0500 Subject: [Python-es] De listas a variables In-Reply-To: References: Message-ID: Hola, intenta con una lista de tuplas [("x", 1), ("y", 2)] y en el loop las desempaquetas for nombre, valor in list: .... Saludos. El 30/08/2013 08:13, "Luis" escribió: > Hola, :) > > Necesito pasar un conjunto de pares 'clave:valor' a una función. He estado > probado con los diccionarios pero resulta que a la hora de trabajar con los > pares no me conviene el orden en que salen, ni tampoco ordenarlos, más bien > me interesa el orden en que los introduje, y no salen así. > > He pensado entonces en pasar una lista con solo los nombres de las > variables pero necesitaría poder convertir esos elementos de la lista en > variables independientes. > > Me explico con un ejemplo, > > x=1 >>>> y=2 >>>> z=3 >>>> list=[x,y,z] >>>> def mostrar(list): >>>> >>> ... for var in list: > ... print '%s: %2d'%(var,var) > ... > >> mostrar(list) >>>> >>> 1: 1 > 2: 2 > 3: 3 > > Aquí está la cosa, necesito que en la primera columna aparezcan x,y,z y no > sus respectivos valores. > > Con los diccionarios he probado de varias maneras: > > 1. Pasando el diccionario y luego volviendo a escribir las mismas > variables dentro de la función para así poder establecer mi orden. Este > método no tiene gracia. > > 2. Pasando el diccionario y una lista con las mismas variables para poder > imponer el orden pues las listas no alteran dicho orden. Este método > tampoco tiene gracia. > > 3. Pasando una lista con todas las variables entrecomilladas y también sin > comillas(como variables). Igualmente de absurdo. Debería de poder lograrlo > pasando los nombres de variables una sola vez. > > Si pudiera trabajar la línea de la función 'print' tal vez pudiera > lograrlo, pero cómo? > > Les estaré muy agradecido :) > > -- > Saludos, > > Luis Esteban de Dios Núñez > > ------------------------------**----- > CONSULTE la Revista de Ciencias Medicas > de Pinar del Rio en Internet > www.revcmpinar.sld.cu > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > ______________________________**_________________ > 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: From jsm en iaa.es Fri Aug 30 15:40:34 2013 From: jsm en iaa.es (=?iso-8859-1?Q?Jos=E9_Sabater_Montes?=) Date: Fri, 30 Aug 2013 14:40:34 +0100 Subject: [Python-es] De listas a variables In-Reply-To: References: Message-ID: <69D2089C-8E73-435B-A880-613221CD9BF9@iaa.es> Hola, El 30/08/2013, a las 08:06, Luis escribió: > Hola, :) > > Necesito pasar un conjunto de pares 'clave:valor' a una función. He estado probado con los diccionarios pero resulta que a la hora de trabajar con los pares no me conviene el orden en que salen, ni tampoco ordenarlos, más bien me interesa el orden en que los introduje, y no salen así. > > También puedes probar con un OrderedDict que hace lo que parece que quieres. Si usas Python 2.7 o superior mira esto: http://docs.python.org/2/library/collections.html#collections.OrderedDict Si usas Python entre 2.4 y 2.6 puedes usar esta receta: http://code.activestate.com/recipes/576693/ Un saludo. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rapto en arrakis.es Fri Aug 30 15:34:21 2013 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Fri, 30 Aug 2013 15:34:21 +0200 Subject: [Python-es] De listas a variables In-Reply-To: References: Message-ID: <52209F5D.9020106@arrakis.es> ¿Te vale collections.OrderedDict ? http://docs.python.org/2/library/collections.html#collections.OrderedDict El 30/08/13 09:06, Luis escribió: > Hola, :) > > Necesito pasar un conjunto de pares 'clave:valor' a una función. He > estado probado con los diccionarios pero resulta que a la hora de > trabajar con los pares no me conviene el orden en que salen, ni > tampoco ordenarlos, más bien me interesa el orden en que los > introduje, y no salen así. > > He pensado entonces en pasar una lista con solo los nombres de las > variables pero necesitaría poder convertir esos elementos de la lista > en variables independientes. > > Me explico con un ejemplo, > >>>> x=1 >>>> y=2 >>>> z=3 >>>> list=[x,y,z] >>>> def mostrar(list): > ... for var in list: > ... print '%s: %2d'%(var,var) > ... >>>> mostrar(list) > 1: 1 > 2: 2 > 3: 3 > > Aquí está la cosa, necesito que en la primera columna aparezcan x,y,z > y no sus respectivos valores. > > Con los diccionarios he probado de varias maneras: > > 1. Pasando el diccionario y luego volviendo a escribir las mismas > variables dentro de la función para así poder establecer mi orden. > Este método no tiene gracia. > > 2. Pasando el diccionario y una lista con las mismas variables para > poder imponer el orden pues las listas no alteran dicho orden. Este > método tampoco tiene gracia. > > 3. Pasando una lista con todas las variables entrecomilladas y también > sin comillas(como variables). Igualmente de absurdo. Debería de poder > lograrlo pasando los nombres de variables una sola vez. > > Si pudiera trabajar la línea de la función 'print' tal vez pudiera > lograrlo, pero cómo? > > Les estaré muy agradecido :) > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From maengora en gmail.com Fri Aug 30 23:12:39 2013 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Fri, 30 Aug 2013 16:12:39 -0500 Subject: [Python-es] Conectar a Oracle Message-ID: Buenas tardes a tod en s, Necesito hacer unas pruebas para graficar los resultados de unas consultas generadas con una base de datos Oracle. He buscado en internet una librería que me permita conecta a Python con Oracle y todo parece indicar que la librería es la denominada cx_Oracle pero creo que no está disponible. Ya la he buscado en varios lugares y nada. Alguien conoce otra librería que me permita conectar con Oracle usando Python? O alguien tiene la esta librería de cx_Oracle? El Oracle que estoy utilizando es la 11g Muchas gracias. -- Manuel Enrique González Ramírez http://maengora.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Sat Aug 31 00:23:59 2013 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Sat, 31 Aug 2013 00:23:59 +0200 Subject: [Python-es] Conectar a Oracle In-Reply-To: References: Message-ID: a que te refieres exactamente con "no esta disponible"??? El día 30 de agosto de 2013 23:12, Manuel Enrique González Ramírez escribió: > Buenas tardes a tod en s, > > Necesito hacer unas pruebas para graficar los resultados de unas consultas > generadas con una base de datos Oracle. > > He buscado en internet una librería que me permita conecta a Python con > Oracle y todo parece indicar que la librería es la denominada cx_Oracle pero > creo que no está disponible. Ya la he buscado en varios lugares y nada. > > Alguien conoce otra librería que me permita conectar con Oracle usando > Python? > > O alguien tiene la esta librería de cx_Oracle? > > El Oracle que estoy utilizando es la 11g > > Muchas gracias. > > > -- > Manuel Enrique González Ramírez > http://maengora.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/ > From nadaird en gmail.com Sat Aug 31 00:29:57 2013 From: nadaird en gmail.com (Guillermo Vaya) Date: Sat, 31 Aug 2013 00:29:57 +0200 Subject: [Python-es] Conectar a Oracle In-Reply-To: References: Message-ID: pues así rapidamente diria que si esta disponible: $ pip search cx_oracle cx_Oracle - Python interface to Oracle django-oraclepool - django database backend that uses cx_Oracle session pooling for connections gocept.cxoracle - zc.buildout recipe for installing cx_Oracle cx_OracleTools - Tools for managing Oracle data and source code. cx_OracleDBATools - Tools for managing Oracle databases 2013/8/30 Manuel Enrique González Ramírez > Buenas tardes a tod en s, > > Necesito hacer unas pruebas para graficar los resultados de unas consultas > generadas con una base de datos Oracle. > > He buscado en internet una librería que me permita conecta a Python con > Oracle y todo parece indicar que la librería es la denominada cx_Oracle > pero creo que no está disponible. Ya la he buscado en varios lugares y > nada. > > Alguien conoce otra librería que me permita conectar con Oracle usando > Python? > > O alguien tiene la esta librería de cx_Oracle? > > El Oracle que estoy utilizando es la 11g > > Muchas gracias. > > > -- > Manuel Enrique González Ramírez > http://maengora.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: From maengora en gmail.com Sat Aug 31 00:37:25 2013 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Fri, 30 Aug 2013 17:37:25 -0500 Subject: [Python-es] Conectar a Oracle In-Reply-To: References: Message-ID: mmm, Gracias por tu respuesta Jose, me hizo validar con los compañeros de comunicaciones y ocurría que tenían bloqueada esa web. Ya tengo acceso a la web de descarga y de hecho ya la descargue. Muchas gracias a todos, se puede dar por cerrado este hilo ;) El 30 de agosto de 2013 17:23, Jose Caballero escribió: > a que te refieres exactamente con "no esta disponible"??? > > El día 30 de agosto de 2013 23:12, Manuel Enrique González Ramírez > escribió: > > Buenas tardes a tod en s, > > > > Necesito hacer unas pruebas para graficar los resultados de unas > consultas > > generadas con una base de datos Oracle. > > > > He buscado en internet una librería que me permita conecta a Python con > > Oracle y todo parece indicar que la librería es la denominada cx_Oracle > pero > > creo que no está disponible. Ya la he buscado en varios lugares y nada. > > > > Alguien conoce otra librería que me permita conectar con Oracle usando > > Python? > > > > O alguien tiene la esta librería de cx_Oracle? > > > > El Oracle que estoy utilizando es la 11g > > > > Muchas gracias. > > > > > > -- > > Manuel Enrique González Ramírez > > http://maengora.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/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Manuel Enrique González Ramírez http://maengora.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alfredo.riguetti en ptravel.com.uy Thu Aug 29 22:25:53 2013 From: alfredo.riguetti en ptravel.com.uy (Alfredo Riguetti) Date: Thu, 29 Aug 2013 17:25:53 -0300 Subject: [Python-es] Instalar apli .py en windows Message-ID: <521FAE51.5010901@ptravel.com.uy> Hola a todos, hice una pequeña aplciacion en python con wxpython y mysql, ahroa no tengo idea como hacer para que corra sobre un windows alguien puede decirme que proceso debo seguir. muchas gracias From monobot.soft en gmail.com Sat Aug 31 23:39:25 2013 From: monobot.soft en gmail.com (monoBOT) Date: Sat, 31 Aug 2013 22:39:25 +0100 Subject: [Python-es] Instalar apli .py en windows In-Reply-To: <521FAE51.5010901@ptravel.com.uy> References: <521FAE51.5010901@ptravel.com.uy> Message-ID: La aplicación debería de correr perfectamente sobre windows...haz la prueba de instalar tanto la misma version de python como de wx. El 29 de agosto de 2013 21:25, Alfredo Riguetti < alfredo.riguetti en ptravel.com.uy> escribió: > Hola a todos, hice una pequeña aplciacion en python con wxpython y mysql, > ahroa no tengo idea como hacer para que corra sobre un windows > alguien puede decirme que proceso debo seguir. > > muchas gracias > > > > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: