From juliocarlosc en gmail.com Sun May 1 06:46:30 2005 From: juliocarlosc en gmail.com (Julio Carlos Canaviri) Date: Sun, 1 May 2005 00:46:30 -0400 Subject: =?iso-8859-1?q?Diveintopython_5=2E4_en_espa=F1ol?= Message-ID: Hola. Me gustaria que alguien que tenga la version de Diveintopython 5.4 en español me la pueda enviar a mi correo personal, intente bajarlos de su pagina pero no funcioana ningun enlace. Muchas gracias de antemano. Julio e-mail: juliocarlosc en gmail.com From necudeco en yahoo.es Sun May 1 06:55:47 2005 From: necudeco en yahoo.es (NeCuDeCo) Date: Sat, 30 Apr 2005 23:55:47 -0500 Subject: Diveintopython 5.4 en =?ISO-8859-1?Q?espa=F1ol?= In-Reply-To: References: Message-ID: <1114923347.16079.12.camel@kelthuzad> No has probado buscarlo en alguna red p2p? El dom, 01-05-2005 a las 00:46 -0400, Julio Carlos Canaviri escribió: > me la pueda enviar a mi correo personal, intente bajarlos de su pagina > pero no > funcioana ningun enlace. > > Muchas gracias de antemano. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From sordotone en gmail.com Sun May 1 14:34:44 2005 From: sordotone en gmail.com (KARLOS) Date: Sun, 1 May 2005 13:34:44 +0100 Subject: =?ISO-8859-1?Q?Re:__Diveintopython_5.4_en_espa=F1ol?= In-Reply-To: References: Message-ID: <26a2ffc4050501053430fc2287@mail.gmail.com> Hola si no lo hice mal aqui lo tienes http://s28.yousendit.com/d.aspx?id=0KVN2XKZ4XQT70WW1QXH7BEFRY Un saludo El 1/05/05, Julio Carlos Canaviri escribió: > Hola. > > Me gustaria que alguien que tenga la version de Diveintopython 5.4 en español > me la pueda enviar a mi correo personal, intente bajarlos de su pagina pero no > funcioana ningun enlace. > > Muchas gracias de antemano. > > Julio > > e-mail: juliocarlosc en gmail.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From rvr en infoastro.com Sun May 1 23:16:39 2005 From: rvr en infoastro.com (=?iso-8859-15?q?V=EDctor_R=2E?= Ruiz) Date: Sun, 1 May 2005 22:16:39 +0100 Subject: Diveintopython 5.4 en =?iso-8859-15?q?espa=F1ol?= In-Reply-To: <1114923347.16079.12.camel@kelthuzad> References: <1114923347.16079.12.camel@kelthuzad> Message-ID: <200505012216.39946.rvr@infoastro.com> Hola: El Domingo 01 Mayo 2005 05:55, NeCuDeCo tecleó: > No has probado buscarlo en alguna red p2p? Los documentos y programas libres, generalmente no están en redes P2P -ni falta que hace ;) La página para descargarse el Dive Into Python 5.4 es: http://www.gulic.org/static/diveintopython-5.4-es/toc/ Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From juanmosquera en puj.edu.co Mon May 2 04:16:54 2005 From: juanmosquera en puj.edu.co (Juan Francisco Mosquera Hurtado) Date: Sun, 1 May 2005 21:16:54 -0500 Subject: contrato de algunas fuciones en python Message-ID: hola muchachos gracias por la accesoria que siempre me brindan en esta lista les escribo para saber como usar foldr map lambda map foldl apply todas las use en scheme están definidas en python como las uso y con que las puedo usar listas tuplas cadenas cuales me permiten pasarle una función como en scheme lambda((x) x*x/6 ) donde x son listas muchas gracias Juan francisco ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From luis.iglesias en vigo.org Mon May 2 13:43:13 2005 From: luis.iglesias en vigo.org (Luis Iglesias) Date: Mon, 02 May 2005 13:43:13 +0200 Subject: Agregar una "linea" a una matriz In-Reply-To: <4272834C.8060103@yahoo.com.ar> References: <4272834C.8060103@yahoo.com.ar> Message-ID: <42761251.1080104@vigo.org> Ariel Nardelli escribió: > Hola! > > Tengo una matriz (Tabla o Lista) como quieran llamarlo :) que es con > varias columnas... que seria asi.. > > totales = ["totales 1ra linea",100,10] > > Quiero agregarle otra linea para que despues pueda taner.... > > totales[0] = ["totales 1ra linea",100,10] > totales[1] = ["totales 2da linea",500,60] > > y asi tener varias "lineas" totales con todos esos datos adentro... > > Originalmente la defino como arriba o sea con una sola linea, pero > despues en determinados casos tengo que agregar xx lineas que eso es > variable pueden ser 5 lineas o ninguna... > > Alguien puede decirme como hacerlo? vi el append pero me agrega una > "columna" no una linea... Para facilitar el acceso a esa lista independientemente de que sea una sola línea o varias yo crearía la primera linea con: totales = [["totales 1ra linea",100,10]] Siempre tendrías que acceder a esta linea con totales[0], que te devolvería ["totales 1ra linea",100,10] Para añadir nuevas líneas harías: totales.append(["totales 2da linea",500,60]) Las listas tienen el método "extend" para añadir listas, pero en este caso creo que no te vale. From py en ls-l.org Mon May 2 14:57:17 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 2 May 2005 14:57:17 +0200 Subject: DUDAS PYTHON In-Reply-To: <3da61ab705042913306d79131@mail.gmail.com> References: <3da61ab705042913306d79131@mail.gmail.com> Message-ID: <200505021457.17883.py@ls-l.org> El Viernes 29 Abril 2005 22:30, Martha Lucía Gallego López escribió: > HOLA A TODA LA COMUNIDAD, ENVIO UNAS CUANTAS INQUIETUDES QUE TENGO > ACERCA DE PYTHON Y CON SU AYUDA PODRE RESOLVERLAS, GRACIAS POR SU > ATENCION. Lo primero es que no utilices mayúsculas en los mensajes. Es considerado como si estuvieras gritando, y éso es de mala educación. ;-) > HE INSTALADO PYTHON 2.4 SOBRE EL SISTEMA OPERATIVO WINDOWS 98 COMO > TAMBIEN WINDOWS XP, LAS DUDAS SON: > > 1.¿COMO UBICO EN PANTALLA CON LA INTERFAZ TKINTER POSICIONES DE LABEL, > ENTRY, BOTONES SIN QUE TENGA QUE UTILIZAR LAS POSICIONES DE FILAS Y > COLUMNAS, SINO QUE EN VEZ DE ELLO YO LE PUEDA DAR CON DETERMINADA > FUNCION LA POSICION DIRECTA EN PANTALLA, SI EXISTE LA FUNCION QUE HAGA > ESO, PODRIAN DECIRME POR FAVOR COMO LA UTILIZO? El tkinter tiene tres métodos para colocar elementos en una ventana ("layout managers"). Las recomendables son 'pack' y 'grid', y te sugiero que te esfuerces en usarlas. Por la que tú preguntas sería 'place'. > 2. UNA VEZ PUESTOS LOS ENTRY, COMO HAGO YO PARA VALIDAR LOS DATOS QUE > SE ESCRIBEN ALLI, ES DECIR COMO LOS GUARDO O ALMACENO? A los entries puedes asignarles funciones "command" para que validen las entradas. Sobre cómo almacenarlos, te recomiendo que uses "variables" de Tkinter. Son objetos que conservan su valor aunque se haya cerrado las ventanas donde se hayan modificado, y además pueden producir eventos cuando se modifican sus valores. > 3. UNA VEZ ALMACENADOS LOS DATOS COMO HAGO YO PARA VOLVERLOS A MOSTRAR > EN PANTALLA? Ummm! ¿Actualizando el widget? El objeto Variable creo que se encarga de avisar al widget, pero ahora no estoy seguro. > 4. CUANDO YO HAGO UN LLAMADO A OTRA VENTANA UTILIZO LA FUNCION IMPORT > EL PROBLEMA QUE SURGE ES QUE CUANDO VUELVO A LLAMAR A LA MISMA VENTANA > NO LA VUELVE A INVOCAR, ES DECIR NO ME VUELVE A MOSTRAR LA VENTANA > ¿QUE DEBO HACER EN ESTE CASO? ¡No uses el import para llamar código python! Como ves, el sistema python está optimizado para no cargar dos veces el mísmo módulo. En lugar de lo que haces, agrupa el código que abre la ventana en una función y llama la función del módulo. > 5. COMO HAGO PARA GENERAR A TRAVES DE PROCESOS ESTADISTICOS GRAFICOS, > EN ESTE CASO LOS GRAFICOS DEBEN MOSTRAR LOS CAMBIOS DE MOVIMIENTO EN > UN VOLCAN, DE ACUERDO AL TRABAJO DE CAMPO QUE SE TOMA EN EL VOLCAN, ES > DECIR, INFORMACION QUE SE SUMINISTRA DEL VOLCAN? No tengo claro si los gráficos son "estadísticos" o son de tipo "cartográfico" (GIS). Existen varios módulos para tkinter para crear gráficos de todo tipo. Mírate el PMW (Python Mega Widgets) que tiene gráficos estadísticos y el proyecto scipy (www.scipy.org). Espero que te sirva con lo dicho. Siento no poder ser más precisa ya que en estos momentos estoy lejos de mi trabajo y de todo lo que suene a python. :-) From py en ls-l.org Mon May 2 15:04:10 2005 From: py en ls-l.org (Chema Cortes) Date: Mon, 2 May 2005 15:04:10 +0200 Subject: =?iso-8859-1?q?Ara=F1a_web_en?= python In-Reply-To: <20050429000111.4c811eed@casiopea.mariaonline.org> References: <42708D94.1090809@ls-l.org> <20050429000111.4c811eed@casiopea.mariaonline.org> Message-ID: <200505021504.10879.py@ls-l.org> El Viernes 29 Abril 2005 01:01, Dr Bobus escribió: > El Thu, 28 Apr 2005 09:15:32 +0200 > > Chema Cortes dijo: > > No todo el mundo puede usar wget y aget > > Porqué ??? Bueno, igual me he precipitado en esta afirmación. No es algo que haya comprobado. From soda en 3dgames.com.ar Mon May 2 16:35:39 2005 From: soda en 3dgames.com.ar (=?ISO-8859-1?Q?Nicol=E1s_Alejo_Reynoso?=) Date: Mon, 02 May 2005 11:35:39 -0300 Subject: Diveintopython 5.4 en =?ISO-8859-1?Q?espa=F1ol?= In-Reply-To: <200505012216.39946.rvr@infoastro.com> References: <1114923347.16079.12.camel@kelthuzad> <200505012216.39946.rvr@infoastro.com> Message-ID: <42763ABB.5080202@3dgames.com.ar> Víctor R. Ruiz wrote: > Hola: > > El Domingo 01 Mayo 2005 05:55, NeCuDeCo tecleó: > >>No has probado buscarlo en alguna red p2p? > > > Los documentos y programas libres, generalmente no están en redes P2P -ni > falta que hace ;) La página para descargarse el Dive Into Python 5.4 es: > http://www.gulic.org/static/diveintopython-5.4-es/toc/ > > Saludetes, > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es El problema con esa página es que los enlaces para descargar los files están rotos. Solo se puede ver desde la web lo cual es incómodo. Lo mismo al descargar todo el contenido HTML al rígido. Yo envié un mail al admin hace unos meses para pedirle si podía repararlos y me contestó que no había problemas y demás pero se ve que nunca lo hizo. Ahora voy a buscar el mail y se lo voy a forwardear para ver si está vez lo puede hacer. From soda en 3dgames.com.ar Mon May 2 16:36:51 2005 From: soda en 3dgames.com.ar (=?ISO-8859-1?Q?Nicol=E1s_Alejo_Reynoso?=) Date: Mon, 02 May 2005 11:36:51 -0300 Subject: Diveintopython 5.4 en =?ISO-8859-1?Q?espa=F1ol?= In-Reply-To: <26a2ffc4050501053430fc2287@mail.gmail.com> References: <26a2ffc4050501053430fc2287@mail.gmail.com> Message-ID: <42763B03.9060203@3dgames.com.ar> KARLOS wrote: > Hola si no lo hice mal aqui lo tienes > http://s28.yousendit.com/d.aspx?id=0KVN2XKZ4XQT70WW1QXH7BEFRY > Un saludo > > El 1/05/05, Julio Carlos Canaviri escribió: > >>Hola. >> >>Me gustaria que alguien que tenga la version de Diveintopython 5.4 en español >>me la pueda enviar a mi correo personal, intente bajarlos de su pagina pero no >>funcioana ningun enlace. >> >>Muchas gracias de antemano. >> >>Julio >> >>e-mail: juliocarlosc en gmail.com >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> Gracias! Yo también lo estuve buscando hace algún tiempo pero no lo encontraba por ningún lado (al menos no esta versión en español). From Facundo.Batista en telefonicamoviles.com.ar Mon May 2 17:54:44 2005 From: Facundo.Batista en telefonicamoviles.com.ar (Batista, Facundo) Date: Mon, 2 May 2005 12:54:44 -0300 Subject: PyMoney Message-ID: Gente: Me orgullezco en anunciar el arranque del proyecto PyMoney: http://sourceforge.net/projects/pymoney El objetivo es producir un módulo Money para Python. Si quieren participar, comiencen leyendo el archivo pep.txt, el cual es el resultado de dos Sesiones Abiertas en PyCon2005 mezclado con intentos previos de Money. Slds. . Facundo Bitcora De Vuelo: http://www.taniquetil.com.ar/plog PyAr - Python Argentina: http://www.python.org/ar/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From sordotone en gmail.com Mon May 2 23:06:11 2005 From: sordotone en gmail.com (KARLOS) Date: Mon, 2 May 2005 22:06:11 +0100 Subject: =?ISO-8859-1?Q?Re:__Diveintopython_5.4_en_espa=F1ol?= In-Reply-To: References: Message-ID: <26a2ffc405050214062494fd70@mail.gmail.com> No te funciono el link que te proporcione? El 1/05/05, Julio Carlos Canaviri escribió: > Hola. > > Me gustaria que alguien que tenga la version de Diveintopython 5.4 en español > me la pueda enviar a mi correo personal, intente bajarlos de su pagina pero no > funcioana ningun enlace. > > Muchas gracias de antemano. > > Julio > > e-mail: juliocarlosc en gmail.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From curruleuvu1 en yahoo.com.ar Mon May 2 23:27:24 2005 From: curruleuvu1 en yahoo.com.ar (curruleuvu1) Date: Mon, 2 May 2005 18:27:24 -0300 (ART) Subject: inicio muyyy inicial Message-ID: <20050502212724.56606.qmail@web31312.mail.mud.yahoo.com> Estimados colisteros: Hace tiempo me incluì en esta lista, y leo casi todos los correos... así y todo no he logrado todavía resolver los primeros pasos.- Sobre plataforma Linux deseo dibujar un cuadro y dentro de el un texto (títulos) màs abajo dentro de otro cuadro, recibir datos del operador.- Alguien serà tan amable de indicarme la forma más sencilla de obtener esto ?? (Hasta ahora he trabajado clipper.-) Gracias anticipadas y saludos a todos ustedes.- Gustavo Patagonia Argentina __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar From horaciod en gmail.com Mon May 2 23:31:38 2005 From: horaciod en gmail.com (Horacio Degiorgi) Date: Mon, 2 May 2005 18:31:38 -0300 Subject: inicio muyyy inicial In-Reply-To: <20050502212724.56606.qmail@web31312.mail.mud.yahoo.com> References: <20050502212724.56606.qmail@web31312.mail.mud.yahoo.com> Message-ID: podes usar http://pythondialog.sourceforge.net/ o ncurses. El día 2/05/05, curruleuvu1 escribió: > > Estimados colisteros: Hace tiempo me incluì en esta > lista, y leo casi todos los correos... así y todo no > he logrado todavía resolver los primeros pasos.- > Sobre plataforma Linux deseo dibujar un cuadro y > dentro de el un texto (títulos) > màs abajo dentro de otro cuadro, recibir datos del > operador.- > Alguien serà tan amable de indicarme la forma más > sencilla de obtener esto ?? > (Hasta ahora he trabajado clipper.-) > Gracias anticipadas y saludos a todos ustedes.- > Gustavo > Patagonia Argentina > > __________________________________________________ > Correo Yahoo! > Espacio para todos tus mensajes, antivirus y antispam ¡gratis! > ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Horacio Degiorgi http://blog.codigophp.com From javier en querysoft.es Tue May 3 09:55:04 2005 From: javier en querysoft.es (javier) Date: Tue, 03 May 2005 09:55:04 +0200 Subject: Formateo de String Message-ID: <42772E58.4030605@querysoft.es> Hola a Tod en s: Habría algun modulo o utilidad para el formateo de Strings. Por ejemplo: a la string "300" quiero formatearla a "0000300", es decir, rellenar con cuatro ceros a la izquierda. Lo digo por si hay algo ya implementado al respecto o hay que hacerlo uno mismo. Gracias anticipadas. From py en topmusic.ch Tue May 3 10:14:58 2005 From: py en topmusic.ch (=?iso-8859-1?Q?Fran=E7ois?=) Date: Tue, 3 May 2005 10:14:58 +0200 Subject: Formateo de String In-Reply-To: <42772E58.4030605@querysoft.es> References: <42772E58.4030605@querysoft.es> Message-ID: > Habría algun modulo o utilidad para el formateo de Strings. Por > ejemplo: a la string "300" quiero formatearla a "0000300", es decir, > rellenar con cuatro ceros a la izquierda. Lo digo por si hay algo ya > implementado al respecto o hay que hacerlo uno mismo. >>> a = "300" >>> print ("00000000"+a)[-8:] "00000300" >>> print "%08d" % int(a) 00000300 François From morillas en posta.unizar.es Tue May 3 10:21:34 2005 From: morillas en posta.unizar.es (luis miguel morillas) Date: Tue, 3 May 2005 10:21:34 +0200 Subject: Formateo de String In-Reply-To: <42772E58.4030605@querysoft.es> References: <42772E58.4030605@querysoft.es> Message-ID: <20050503082134.GA1193@marmota> Asunto: [Python-es] Formateo de String Fecha: mar, may 03, 2005 at 09:55:04 +0200 Citando a javier (javier en querysoft.es): > Hola a Tod en s: > > Habría algun modulo o utilidad para el formateo de Strings. Por > ejemplo: a la string "300" quiero formatearla a "0000300", es decir, > rellenar con cuatro ceros a la izquierda. Lo digo por si hay algo ya > implementado al respecto o hay que hacerlo uno mismo. > No sé si te entiendo bien, pero >>> print "%07d" % 300 0000300 >>> print "%07d" % int('3000') 0003000 -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From py en ls-l.org Tue May 3 11:43:34 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 03 May 2005 11:43:34 +0200 Subject: Formateo de String In-Reply-To: <20050503082134.GA1193@marmota> References: <42772E58.4030605@querysoft.es> <20050503082134.GA1193@marmota> Message-ID: <427747C6.7010104@ls-l.org> luis miguel morillas escribió: >> Habría algun modulo o utilidad para el formateo de Strings. Por >>ejemplo: a la string "300" quiero formatearla a "0000300", es decir, >>rellenar con cuatro ceros a la izquierda. Lo digo por si hay algo ya >>implementado al respecto o hay que hacerlo uno mismo. > >>>>print "%07d" % 300 > > 0000300 > >>>>print "%07d" % int('3000') > > 0003000 No es que esté mal, pero usando el método .zfill() no haría falta una conversión de tipos: >>> print "300".zfill(7) 0000300 From mjmami2000 en hotmail.com Tue May 3 14:10:22 2005 From: mjmami2000 en hotmail.com (mjesus mmm ccc) Date: Tue, 03 May 2005 12:10:22 +0000 Subject: (sin asunto) Message-ID: estare suscrito, pero desde hace mucho tiempo no recibo nada _________________________________________________________________ Descubre la descarga digital con MSN Music. Más de medio millón de canciones. http://music.msn.es/ From cescd en yahoo.com.mx Tue May 3 18:00:55 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Tue, 3 May 2005 11:00:55 -0500 (CDT) Subject: contrato de algunas fuciones en python In-Reply-To: References: Message-ID: <20050503160055.55122.qmail@web50404.mail.yahoo.com> Existen algunos manuales que a pesar de estar en inglés seguro te serviran, pues lo importante son los ejemplos http://scott.andstuff.org/FunctionalPython http://www-106.ibm.com/developerworks/linux/library/l-prog.html http://www-106.ibm.com/developerworks/linux/library/l-prog2.html http://www.xoltar.org/ --- Juan Francisco Mosquera Hurtado escribió: > hola muchachos > gracias por la accesoria que siempre me brindan en > esta lista > les escribo para saber como > usar > foldr > map > lambda > map > foldl > apply > todas las use en scheme están definidas en python > como las uso y con que las > puedo usar listas tuplas cadenas cuales me permiten > pasarle una función como en scheme > lambda((x) x*x/6 ) > donde x son listas > muchas gracias Juan francisco > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From machucao4 en yahoo.es Tue May 3 18:49:17 2005 From: machucao4 en yahoo.es (Manuel Labra) Date: Tue, 3 May 2005 18:49:17 +0200 (CEST) Subject: Efecto liquido en imagen_boton Message-ID: <20050503164918.37248.qmail@web26204.mail.ukl.yahoo.com> Hola a todos, Estoy trabajando una interfaz con wxpython ( ayudado con wxglade), y para reproducir sonidos ocupe pygame, esta ultima traia un ejemplo de hacer un efecto liquido a una imagen. Mi pregunta es: Puedo a mi boton-imagen hacerle ese efecto liquido? De poder hacerse como podría hacerlo? Mi duda se basa en que eso se hacer sobre una imagen y lo que tengo yo es un boton con una imagen. Efecto Liquido= se mueve la imagen al ritmo del agua. Nota si no han visto pygame haganlo lo antes posible, es muy entretenida y al parecer se pueden realizar muchas cosas. (aunque aun no la manejo bien) --------------------------------- Estamos renovando el Correo Yahoo! ¡Comprueba las novedades! http://correo.yahoo.es From py en ls-l.org Tue May 3 19:50:52 2005 From: py en ls-l.org (Chema Cortes) Date: Tue, 3 May 2005 17:50:52 +0000 (UTC) Subject: contrato de algunas fuciones en python References: Message-ID: Juan Francisco Mosquera Hurtado puj.edu.co> writes: > > hola muchachos > gracias por la accesoria que siempre me brindan en esta lista > les escribo para saber como > usar > foldr > map > lambda > map > foldl > apply > todas las use en scheme están definidas en python como las uso y con que las > puedo usar listas tuplas cadenas cuales me permiten pasarle una función como en scheme > lambda((x) x*x/6 ) > donde x son listas > muchas gracias Juan francisco Efectívamente, en python encontrarás algunas de estas funciones; lo que ocurre es que no se suelen utilizar mucho. Se está recomendado pasar a utilizar lo que se conoce como "compresiones" de listas. En cuanto a las funciones lambda se vuelve innecesarias e incluso se desaconsejan utilizarlas, ya que puedes emplear en su lugar cualquier función definida. Por ejemplo, algunas equivalencias entre scheme y python: (foldl f x lst) --> reduce(f, lst, x) (foldr f x lst) --> reduce(f, lst[::-1], x) (apply f args) --> f(*args) (map f lst1 lst2 ...) --> map(f,lst1,lst2,...) (map f lst) --> [f(x) for x in lst] (filter f lst) --> filter(f,lst) (apply g (filter f lst)) --> [g(x) for x in lst if f(x)] Además tienes las funciones zip y enumerate que seguro te valdrán para muchas cosas. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mauroka en gmail.com Tue May 3 22:14:23 2005 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Tue, 3 May 2005 17:14:23 -0300 Subject: =?ISO-8859-1?Q?Re:__Diveintopython_5.4_en_espa=F1ol?= In-Reply-To: <26a2ffc405050214062494fd70@mail.gmail.com> References: <26a2ffc405050214062494fd70@mail.gmail.com> Message-ID: <3c924a25050503131422d61102@mail.gmail.com> Me fijé en esta página: http://www.gulic.org/static/diveintopython-5.4-es/toc/ y los links para descargarlo no funcionan. On 5/2/05, KARLOS wrote: > > No te funciono el link que te proporcione? > > El 1/05/05, Julio Carlos Canaviri escribió: > > Hola. > > > > Me gustaria que alguien que tenga la version de Diveintopython 5.4 en > español > > me la pueda enviar a mi correo personal, intente bajarlos de su pagina > pero no > > funcioana ningun enlace. > > > > Muchas gracias de antemano. > > > > Julio > > > > e-mail: juliocarlosc en gmail.com > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From reykja en unsaac.edu.pe Tue May 3 23:47:17 2005 From: reykja en unsaac.edu.pe (Reykjavil Nina Paravecino) Date: Tue, 3 May 2005 16:47:17 -0500 (PET) Subject: pc conectados a un switch Message-ID: <2681.10.0.0.200.1115156837.squirrel@10.0.0.200> Hola a todos bueno la verdad sigo aprendiendo mas sobre python y me parece muy interesante... Lo que pretendo hacer es determinar cuantas pcs estan conectadas a un Switch y en que puertos no se si se podra hacer eso en python??? Gracias y saludos cordiales.. -- Atentamente Reykjavil Nina Paravecino Ing. Informático y de Sistemas RCU-UNSAAC 084-238173 From joepc74 en gmail.com Wed May 4 08:56:43 2005 From: joepc74 en gmail.com (JoePC) Date: Wed, 4 May 2005 08:56:43 +0200 Subject: Base de datos Message-ID: <54af49c10505032356105155d5@mail.gmail.com> Existe algun modulo multisistema de bases de datos que sea facil de distribuir? Necesito incluirlo en un programa mio que necesita tratar muchos datos y lo mas practico es una base de datos, pero usar mysql o similar me implicaria que el que lo utilizase instalase mysql en su sistema, y buscaba algo mas simple y mas facil de distribuir. Gracias. From py en ls-l.org Wed May 4 09:01:48 2005 From: py en ls-l.org (Chema Cortes) Date: Wed, 04 May 2005 09:01:48 +0200 Subject: Base de datos In-Reply-To: <54af49c10505032356105155d5@mail.gmail.com> References: <54af49c10505032356105155d5@mail.gmail.com> Message-ID: <4278735C.2090705@ls-l.org> JoePC escribió: > Existe algun modulo multisistema de bases de datos que sea facil de distribuir? > Necesito incluirlo en un programa mio que necesita tratar muchos datos > y lo mas practico es una base de datos, pero usar mysql o similar me > implicaria que el que lo utilizase instalase mysql en su sistema, y > buscaba algo mas simple y mas facil de distribuir. http://sqlite.org http://pysqlite.org PD: habría que hacer un FAQ para estas preguntas que se repiten tanto From py en topmusic.ch Wed May 4 09:34:24 2005 From: py en topmusic.ch (=?iso-8859-1?Q?Fran=E7ois?=) Date: Wed, 4 May 2005 09:34:24 +0200 Subject: pc conectados a un switch In-Reply-To: <2681.10.0.0.200.1115156837.squirrel@10.0.0.200> References: <2681.10.0.0.200.1115156837.squirrel@10.0.0.200> Message-ID: > bueno la verdad sigo aprendiendo mas sobre python y me parece muy > interesante... Lo que pretendo hacer es determinar cuantas pcs estan > conectadas a un Switch y en que puertos no se si se podra hacer eso > en python??? Gracias y saludos cordiales.. Si no digo tonterias, me parece dificil. Un switch es 'transparente' en la red. Quizas lo unico que podras hacer es conocer cuantos PC contestan a un ping... François From hernan en orgmf.com.ar Wed May 4 11:10:59 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Wed, 4 May 2005 11:10:59 +0200 Subject: pc conectados a un switch In-Reply-To: References: Message-ID: >> bueno la verdad sigo aprendiendo mas sobre python y me parece muy >> interesante... Lo que pretendo hacer es determinar cuantas pcs estan >> conectadas a un Switch y en que puertos no se si se podra hacer eso >> en python??? Gracias y saludos cordiales.. > > Si no digo tonterias, me parece dificil. Un switch es 'transparente' > en la red. Quizas lo unico que podras hacer es conocer cuantos PC > contestan a un ping... No, no dices tonterías. Sin embargo, si el switch es relativamente moderno, es probable que tenga compatibilidad con SNMP (o algún otro protocolo sea abierto o propietario) y quizás pueda obtenerse esos datos de allí. Eso debería estar en los manuales del apartejo. -H. From py en topmusic.ch Wed May 4 13:00:52 2005 From: py en topmusic.ch (=?iso-8859-1?Q?Fran=E7ois?=) Date: Wed, 4 May 2005 13:00:52 +0200 Subject: [cherrypy-devel] Re: Announcing CP? In-Reply-To: <42789D48.6060803@cherrypy.org> References: <42789D48.6060803@cherrypy.org> Message-ID: > If you think of other sites/lists, let me know... French (python en aful.org) and spanish (python-es en aditel.org) python mailing lists ? François From joepc74 en gmail.com Wed May 4 13:58:03 2005 From: joepc74 en gmail.com (JoePC) Date: Wed, 4 May 2005 13:58:03 +0200 Subject: Crear distribucion Message-ID: <54af49c105050404581a1c946c@mail.gmail.com> Como puedo crear una distribucion de un paquete? Es decir, saber que paquetes debo incluir para distribuir para que el que lo reciba no tenga que descargar anda? El py2exe veo que hace algo parecido, mira que se necesita y lo empaqueta todo en un zip, yo quiero hacer algo parcido para distribuir. Gracias. From i92fredy en hotmail.com Thu May 5 18:03:25 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Thu, 05 May 2005 18:03:25 +0200 Subject: Python y XML Message-ID: Hola a toda la lista!! Tengo un problemilla. Estoy usando xml.dom.minidom, y recibo un archivo xml cualquiera. Lo que pretendo es poder leer una lista de todos los atributos xmlns que tenga dicho archivo, los de la cabecera, del nodo raiz. Para obtener este nodo raiz uso: d = minidom.parse(ficheroXml) raiz = d.documentElement From ceritium en gmail.com Thu May 5 18:26:41 2005 From: ceritium en gmail.com (Ceritium) Date: Thu, 5 May 2005 18:26:41 +0200 Subject: Manejando archivos Message-ID: Buenas acabo de empezar con python y mi primer objetivo es hacer un script que "optimice" el tamaño de las imagenes, pero lo primero seria conseguir listar todos los archivos de imagen de un directorio o varios, probe con la funcion glob.glob(....*.jpg) pero ahora busco algo mas generico y que muestre todos sus archivos de imagen independientemente de su extension. De paso si podeis me explicais como meto cada archivo en un array. -- http://ceritium.blogsome.com From niobezion en yahoo.com.mx Fri May 6 01:31:17 2005 From: niobezion en yahoo.com.mx (Niobe Zion) Date: Thu, 5 May 2005 18:31:17 -0500 (CDT) Subject: Problamas con Python y PosgreSQL Message-ID: <20050505233118.15798.qmail@web54008.mail.yahoo.com> Hola A todo: tengo un problema con la programacion de una base de datos, esto es, no puedo conectarme a la base de datos desde python utilizando window$ XP, dentro de linux no tengo problema, me envia el siguente mensaje: >>> Traceback (most recent call last): File "C:\Documents and Settings\daniela\Proyectos\registro.py", line 335, in OnAceptarButton conecta=pg.connect(database="agencia",host="10.158.52.148",user="fnavarro",password="") NameError: global name 'pg' is not defined >>> ya tengo instalado Python 2.4, wxPython 2.5, pyPgSQL-2.4.win32-py2.4. Alguno de ustedes me podria ayudar solucionar esto? Saludos Francisco Navarro _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From al3xmor3no en gmail.com Fri May 6 07:39:43 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Fri, 6 May 2005 07:39:43 +0200 Subject: Problamas con Python y PosgreSQL In-Reply-To: <20050505233118.15798.qmail@web54008.mail.yahoo.com> References: <20050505233118.15798.qmail@web54008.mail.yahoo.com> Message-ID: <31b57125050505223915028bd7@mail.gmail.com> On 5/6/05, Niobe Zion wrote: > Hola A todo: > > tengo un problema con la programacion de una base de > datos, esto es, no puedo conectarme a la base de datos > desde python utilizando window$ XP, dentro de linux no > tengo problema, me envia el siguente mensaje: > > >>> > > Traceback (most recent call last): > File "C:\Documents and > Settings\daniela\Proyectos\registro.py", line 335, in > OnAceptarButton > > conecta=pg.connect(database="agencia",host="10.158.52.148",user="fnavarro",password="") > NameError: global name 'pg' is not defined > >>> Esto a mi me suena a que no has hecho el import adecuado o que no has instanciado el objeto pg. Desde win te funciona el MISMO código???? Donde declaras pg? si es en la misma clase prueba a hacer: conecta = self.pg.connect(......) Saludos From o.merchan en bussitel.es Fri May 6 09:46:54 2005 From: o.merchan en bussitel.es (Oscar Merchan) Date: Fri, 06 May 2005 09:46:54 +0200 Subject: Montaje en python Message-ID: <1115365614.8084.8.camel@localhost.localdomain> Buenos días lista. Quería haceros una pregunta, a ver si a alguien le ha pasado o lo ha hecho. Mi cuestión es, que quiero montar unas particiones bajo python, me esplico, te un programa hecho, el cual en un momento dado monta dos particiones. Hasta ahí todo correcto, utilizo el comando popen3, para recoger la salida y así comprobar si el mount me suelta algún error. El problema que tengo, que por ejemplo al montar una partición en EXT3, el mount suelta un mensaje, el cual me sale por pantalla, por mas que intento ocultar ese mensaje no ahí manera, siempre me sale en medio de la pantalla, lo cual hace que la presentación de datos que hago por pantalla se descuadre y es una molestia para mi y para el usuario. Por eso quería saber si alguien lo ha hecho, al montaje de particiones bajo python, y como consiguió evitar esos mensajes. Saludos, Oscar Merchan. P.D .- Espero haberme expresado bien. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dlopez en aditel.org Fri May 6 10:40:45 2005 From: dlopez en aditel.org (Darío López Llueca) Date: Fri, 6 May 2005 10:40:45 +0200 Subject: Montaje en python In-Reply-To: <1115365614.8084.8.camel@localhost.localdomain> References: <1115365614.8084.8.camel@localhost.localdomain> Message-ID: <20050506084045.GA7035@aditel.org> On Fri, May 06, 2005 at 09:46:54AM +0200, Oscar Merchan wrote: > Buenos días lista. > > Quería haceros una pregunta, a ver si a alguien le ha pasado o lo ha > hecho. > > Mi cuestión es, que quiero montar unas particiones bajo python, me > esplico, te un programa hecho, el cual en un momento dado monta dos > particiones. Hasta ahí todo correcto, utilizo el comando popen3, para > recoger la salida y así comprobar si el mount me suelta algún error. > > El problema que tengo, que por ejemplo al montar una partición en EXT3, > el mount suelta un mensaje, el cual me sale por pantalla, por mas que > intento ocultar ese mensaje no ahí manera, siempre me sale en medio de > la pantalla, lo cual hace que la presentación de datos que hago por > pantalla se descuadre y es una molestia para mi y para el usuario. > Supongo que estaras refiriendo a mensajes a los mensajes que se envian a la salida error (stderr). En principio, con hacer algo asi se deberia solucionar tu problema: mount ... 2> /dev/null con esto estarias redirigiendo la salida de error a /dev/null (si no me equivoco :) con lo que ya no te apareceria por pantalla. Aunque si quieres guardar un log con los "errores" del programa, tambien podrias hacer lo siguiente mount ... 2>> miprogrma.log Como ves todo esto no son soluciones propiamente python, pero creo que solventan tu problema :) > Por eso quería saber si alguien lo ha hecho, al montaje de particiones > bajo python, y como consiguió evitar esos mensajes. > > Saludos, Oscar Merchan. > P.D .- Espero haberme expresado bien. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Customer: "My palmtop won't turn on." Tech Support: "Did the battery run out, maybe?" Customer: "No, it doesn't use batteries. It's Windows powered." From dlopez en aditel.org Fri May 6 10:44:58 2005 From: dlopez en aditel.org (Darío López Llueca) Date: Fri, 6 May 2005 10:44:58 +0200 Subject: Problamas con Python y PosgreSQL In-Reply-To: <31b57125050505223915028bd7@mail.gmail.com> References: <20050505233118.15798.qmail@web54008.mail.yahoo.com> <31b57125050505223915028bd7@mail.gmail.com> Message-ID: <20050506084458.GB7035@aditel.org> On Fri, May 06, 2005 at 07:39:43AM +0200, Alex Moreno wrote: > On 5/6/05, Niobe Zion wrote: > > Hola A todo: > > > > tengo un problema con la programacion de una base de > > datos, esto es, no puedo conectarme a la base de datos > > desde python utilizando window$ XP, dentro de linux no > > tengo problema, me envia el siguente mensaje: > > > > >>> > > > > Traceback (most recent call last): > > File "C:\Documents and > > Settings\daniela\Proyectos\registro.py", line 335, in > > OnAceptarButton > > > > conecta=pg.connect(database="agencia",host="10.158.52.148",user="fnavarro",password="") > > NameError: global name 'pg' is not defined > > >>> > > Esto a mi me suena a que no has hecho el import adecuado o que no has > instanciado el objeto pg. Desde win te funciona el MISMO código???? > Donde declaras pg? si es en la misma clase prueba a hacer: > > conecta = self.pg.connect(......) > Pues a mi me suena a que el archivo pg_hba.conf no responde a sus exigencias. Estas segura que tienes una entrada en el pg_hba.conf que responda a la conexion que pretendes hacer? > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Customer: "My palmtop won't turn on." Tech Support: "Did the battery run out, maybe?" Customer: "No, it doesn't use batteries. It's Windows powered." From dvilla en gmx.net Fri May 6 10:47:05 2005 From: dvilla en gmx.net (David Villa) Date: Fri, 06 May 2005 10:47:05 +0200 Subject: Obtener IP dinamicamente In-Reply-To: References: Message-ID: <1115369225.6533.9.camel@amy> Hola: Yo he visto cachos de código de gente que parsea el fichero /proc/net/dev (creo que es ese). Esto no es muy portable que digamos. Para eso mejor ejecutar ifconfig. Otra solución es pedirle a un socket abierto que te diga qué IP está usando. Como ves, ninguna solución es la panacea. Me sigo quedando con scapy (pero claro, tampoco es algo estándar) Saludos El vie, 29-04-2005 a las 12:50 -0300, Batista, Facundo escribió: > [hernan en orgmf.com.ar] > > #- Y ni aun así: una interfaz puede tener mas de una dirección IP. > #- Que además pueden variar. El concepto de "la IP" solo tiene > #- sentido *dentro* de una comunicación. > > ¿Y cómo averiguamos estas IPs? > > . Facundo > > Bitácora De Vuelo: http://www.taniquetil.com.ar/plog > PyAr - Python Argentina: http://www.python.org/ar/ > > > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . . . . . . . . . . > ADVERTENCIA. > > La información contenida en este mensaje y cualquier archivo anexo al mismo, > son para uso exclusivo del destinatario y pueden contener información > confidencial o propietaria, cuya divulgación es sancionada por la ley. > Si Ud. No es uno de los destinatarios consignados o la persona responsable > de hacer llegar este mensaje a los destinatarios consignados, no está > autorizado a divulgar, copiar, distribuir o retener información (o parte de > ella) contenida en este mensaje. Por favor notifíquenos respondiendo al > remitente, borre el mensaje original y borre las copias (impresas o grabadas > en cualquier medio magnético) que pueda haber realizado del mismo. > Todas las opiniones contenidas en este mail son propias del autor del > mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones > Personales S.A. o alguna empresa asociada. > Los mensajes electrónicos pueden ser alterados, motivo por el cual > Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación > cualquiera sea el resultante de este mensaje. > Muchas Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From i92fredy en hotmail.com Fri May 6 10:59:51 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Fri, 06 May 2005 10:59:51 +0200 Subject: PyGTK y UIManager Message-ID: Hola a tod en s!!! Estoy trabajando con PyGTK, y me ha surgido un problemilla. Al crear el menú (Tipo File, Preferences, Help) sólo consigo llamar a funciones que no reciben pareámetros. Ejemplo: actiongroup.add_actions([ ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, self.print_hello), ... def print_hello(self, w): print "Hola_Mundo" Esto si me funciona, pero a la hora de pasarle parámetros no sé como hacerlo. Si alguien pudiera decírmelo o mandarme algún ejemplillo sería de gran ayuda. Gracias a tod en s From dvilla en gmx.net Fri May 6 11:02:10 2005 From: dvilla en gmx.net (David Villa) Date: Fri, 06 May 2005 11:02:10 +0200 Subject: Manejando archivos In-Reply-To: References: Message-ID: <1115370131.6533.19.camel@amy> El jue, 05-05-2005 a las 18:26 +0200, Ceritium escribió: > Buenas acabo de empezar con python y mi primer objetivo es hacer un > script que "optimice" el tamaño de las imagenes, pero lo primero seria > conseguir listar todos los archivos de imagen de un directorio o > varios, probe con la funcion glob.glob(....*.jpg) pero ahora busco > algo mas generico y que muestre todos sus archivos de imagen > independientemente de su extension. ¿Te vale algo así? formatos = ['.gif','.jpg'] [x for x in os.listdir('.') if os.path.splitext(x)[1] in formatos] > De paso si podeis me explicais como meto cada archivo en un array. ¿Te refieres a un array.array() o a una lista normal? Saludos From o.merchan en bussitel.es Fri May 6 11:13:03 2005 From: o.merchan en bussitel.es (Oscar Merchan) Date: Fri, 06 May 2005 11:13:03 +0200 Subject: Montaje en python In-Reply-To: <20050506084045.GA7035@aditel.org> References: <1115365614.8084.8.camel@localhost.localdomain> <20050506084045.GA7035@aditel.org> Message-ID: <1115370783.8084.15.camel@localhost.localdomain> Buenas. > > > Supongo que estaras refiriendo a mensajes a los mensajes que se envian a > la salida error (stderr). En principio, con hacer algo asi se deberia > solucionar tu problema: > > mount ... 2> /dev/null > El problema que no es un mensaje de error, si no de información del tipo de partición que esta en EXT3. El tema de redirigir las salidas ya lo probé, y no ahí forma, el mensaje sigue apareciendo. He probado ..: mount ..... 2> /dev/null mount ..... > /dev/null 2> /dev/null Incluso si fuera erro, el popen3 recoge esa salida, ya que lo tengo ...: recoge, entrada, error = popen3(comando) Por lo que en teoría recojo los mensaje que pueda soltar el mount. No obstante los mensajitos que aparecen cuando montas una EXT3 o una Reiser no ahi formas de quitarlos, como si fueran propios del sistema. No se que hacer para que no aparezcan. Empiezo a estar un poco desesperado. Saludos, Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dlopez en aditel.org Fri May 6 12:17:26 2005 From: dlopez en aditel.org (Darío López Llueca) Date: Fri, 6 May 2005 12:17:26 +0200 Subject: Montaje en python In-Reply-To: <1115370783.8084.15.camel@localhost.localdomain> References: <1115365614.8084.8.camel@localhost.localdomain> <20050506084045.GA7035@aditel.org> <1115370783.8084.15.camel@localhost.localdomain> Message-ID: <20050506101726.GA3811@aditel.org> On Fri, May 06, 2005 at 11:13:03AM +0200, Oscar Merchan wrote: > Buenas. > > > > > > > Supongo que estaras refiriendo a mensajes a los mensajes que se envian a > > la salida error (stderr). En principio, con hacer algo asi se deberia > > solucionar tu problema: > > > > mount ... 2> /dev/null > > > > El problema que no es un mensaje de error, si no de información del tipo > de partición que esta en EXT3. > El tema de redirigir las salidas ya lo probé, y no ahí forma, el mensaje > sigue apareciendo. > He probado ..: > > mount ..... 2> /dev/null > mount ..... > /dev/null 2> /dev/null > > Incluso si fuera erro, el popen3 recoge esa salida, ya que lo tengo ...: > > recoge, entrada, error = popen3(comando) > > Por lo que en teoría recojo los mensaje que pueda soltar el mount. > No obstante los mensajitos que aparecen cuando montas una EXT3 o una > Reiser no ahi formas de quitarlos, como si fueran propios del sistema. > > No se que hacer para que no aparezcan. > > Empiezo a estar un poco desesperado. Por no nos copias el mensaje del que hablas aqui? > > Saludos, Oscar Merchan. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Customer: "My palmtop won't turn on." Tech Support: "Did the battery run out, maybe?" Customer: "No, it doesn't use batteries. It's Windows powered." From hernan en orgmf.com.ar Fri May 6 12:22:53 2005 From: hernan en orgmf.com.ar (=?UTF-8?Q?Hern=C3=A1n_Mart=C3=ADnez_Foffani?=) Date: Fri, 6 May 2005 12:22:53 +0200 Subject: Montaje en python In-Reply-To: <1115370783.8084.15.camel@localhost.localdomain> References: <1115370783.8084.15.camel@localhost.localdomain> Message-ID: > El tema de redirigir las salidas ya lo probé, y no ahí forma, el > mensaje sigue apareciendo. > He probado ..: > > mount ..... 2> /dev/null > mount ..... > /dev/null 2> /dev/null Si eso lo has probado en la linea de comandos y aun te sale el mensaje entonces el mount está escribiendo los mensajes a /dev/tty o quizás a /dev/console (o como se llamen en tu *nix) ¿No estarás ejecutando tu programa en la consola, no? Normalmente se deja la consola siempre libre(tm) para auditoría. Un truquito de pobres para confirmar si está mandando a console es ejecutar el comando desde otra PC via telnet y/o en forma remota por rsh y/o desde otra consola virtual. > No se que hacer para que no aparezcan. > > Empiezo a estar un poco desesperado. Para esos casos quizás no te quede otra que usar el "expect". Creo que hay un modulo de python que lo adapta o lo imita (no se muy bien porque nunca lo use.) -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From o.merchan en bussitel.es Fri May 6 12:35:11 2005 From: o.merchan en bussitel.es (Oscar Merchan) Date: Fri, 06 May 2005 12:35:11 +0200 Subject: Montaje en python In-Reply-To: References: Message-ID: <1115375711.10378.4.camel@localhost.localdomain> Buenas de nuevo. > Si eso lo has probado en la linea de comandos y aun te > sale el mensaje entonces el mount está escribiendo los mensajes > a /dev/tty o quizás a /dev/console (o como se llamen en tu *nix) > ¿No estarás ejecutando tu programa en la consola, no? > Normalmente se deja la consola siempre libre(tm) para auditoría. > Lo mismo creo yo, lo malo es que la consola no la puedo dejar libre, ya que el programa es en modo consola, y se ejecuta nada mas arrancar la maquina, o sea que no dejo hacer nada al usuario. > Un truquito de pobres para confirmar si está mandando a console > es ejecutar el comando desde otra PC via telnet y/o en forma remota > por rsh y/o desde otra consola virtual. > No puedo probarlo por que la maquina no tiene ni red, su funcion es muy especifica, y para lo que va a hacer no necesita ni red, ni las X ni mas pomposidades. > Para esos casos quizás no te quede otra que usar el "expect". > Creo que hay un modulo de python que lo adapta o lo imita > (no se muy bien porque nunca lo use.) > EL "expect", me puedes esplicar mas, soy todo orejas. Saludos, Oscar Merchan. P.D .- El mensaje que me suelta es el siguiente kjournal starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,7), internal journal EXT3-fs: mounted filesystem with ordered data mode ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Fri May 6 12:55:51 2005 From: hernan en orgmf.com.ar (=?UTF-8?Q?Hern=C3=A1n_Mart=C3=ADnez_Foffani?=) Date: Fri, 6 May 2005 12:55:51 +0200 Subject: Montaje en python In-Reply-To: <1115375711.10378.4.camel@localhost.localdomain> References: <1115375711.10378.4.camel@localhost.localdomain> Message-ID: >> Si eso lo has probado en la linea de comandos y aun te >> sale el mensaje entonces el mount está escribiendo los mensajes >> a /dev/tty o quizás a /dev/console (o como se llamen en tu *nix) >> ¿No estarás ejecutando tu programa en la consola, no? >> Normalmente se deja la consola siempre libre(tm) para auditoría. >> > > Lo mismo creo yo, lo malo es que la consola no la puedo dejar libre, > ya que el programa es en modo consola, y se ejecuta nada mas arrancar > la maquina, o sea que no dejo hacer nada al usuario. Entonces tendrás mas problemas que ese. ¿Como vas a evitar el resto de los mensajes de consola que tira el kernel? Los mensajes no solo aparecen en el encendido, tambien los tendras en infinidad de casos luego del init (comando su, llenado de la tabla de inodos y mogollon de casos mas) Me parece que la solución no está en python sino en ver como puedes configurar el S.O. para que no mande mensajes a tu consola (o que los redireccione a un archivo, etc. etc) >> Un truquito de pobres para confirmar si está mandando a console >> es ejecutar el comando desde otra PC via telnet y/o en forma remota >> por rsh y/o desde otra consola virtual. >> > > No puedo probarlo por que la maquina no tiene ni red, su funcion > es muy especifica, y para lo que va a hacer no necesita ni red, ni > las X ni mas pomposidades. ¿No tienes un *nix similar donde probar? ¿Donde estás desarrollando? Solo tienes que correr el comando mount y ver donde salen los msgs. >> Para esos casos quizás no te quede otra que usar el "expect". >> Creo que hay un modulo de python que lo adapta o lo imita >> (no se muy bien porque nunca lo use.) >> > > EL "expect", me puedes esplicar mas, soy todo orejas. Es como una especie de popen con esteroides. Servía para atrapar la salida de programas tipo grafico (bah.. curses) entre otras cosas. Pero como te comenté, no lo use nunca, asi que mucho mas no te puedo decir. > P.D .- El mensaje que me suelta es el siguiente > > kjournal starting. Commit interval 5 seconds > EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,7), internal journal > EXT3-fs: mounted filesystem with ordered data mode parece que es mensaje de consola nomas, especificamente del file system que estás montando. -H ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From o.merchan en bussitel.es Fri May 6 13:20:54 2005 From: o.merchan en bussitel.es (Oscar Merchan) Date: Fri, 06 May 2005 13:20:54 +0200 Subject: Montaje en python In-Reply-To: References: Message-ID: <1115378454.11137.3.camel@localhost.localdomain> EL pesado vuelve :-D > Entonces tendrás mas problemas que ese. ¿Como vas a evitar el resto > de los mensajes de consola que tira el kernel? Los mensajes no solo > aparecen en el encendido, tambien los tendras en infinidad de casos > luego del init (comando su, llenado de la tabla de inodos y mogollon > de casos mas) > Me parece que la solución no está en python sino en ver como puedes > configurar el S.O. para que no mande mensajes a tu consola (o que > los redireccione a un archivo, etc. etc) > Eso lo tengo solucionado enviando todos los mensajes al tty11 y al tty12 y los otros a log's, todo configurado en el /etc/syslog.conf > Es como una especie de popen con esteroides. Servía para atrapar > la salida de programas tipo grafico (bah.. curses) entre otras > cosas. Pero como te comenté, no lo use nunca, asi que mucho mas no > te puedo decir. Mirare a ver si encuentro info sobre ello > parece que es mensaje de consola nomas, especificamente del > file system que estás montando. > Algo asi me imaginaba, el problema es quitarme el dichoso mensaje de encima, que parece que me quiere mucho y no se quiere despegar de mi. Saludos, Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ceritium en gmail.com Fri May 6 14:32:50 2005 From: ceritium en gmail.com (Ceritium) Date: Fri, 6 May 2005 14:32:50 +0200 Subject: Python y juegos In-Reply-To: <427B3AAF.2090604@hispasec.com> References: <427B3AAF.2090604@hispasec.com> Message-ID: creo ke se te ha olvidado la pregunta :S On 5/6/05, Julio Canto wrote: > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From lordzealon en ono.com Fri May 6 15:03:20 2005 From: lordzealon en ono.com (Lord_ZealoN) Date: Fri, 06 May 2005 15:03:20 +0200 Subject: Python y juegos In-Reply-To: References: <427B3AAF.2090604@hispasec.com> Message-ID: <427B6B18.7080501@ono.com> XDDDDD Ceritium escribió: >creo ke se te ha olvidado la pregunta :S > > >On 5/6/05, Julio Canto wrote: > > >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > -- Giuseppe Luigi Punzi Linux User: #370919 Murcia / España From ceritium en gmail.com Fri May 6 15:32:38 2005 From: ceritium en gmail.com (Ceritium) Date: Fri, 6 May 2005 15:32:38 +0200 Subject: Manejando archivos In-Reply-To: <1115370131.6533.19.camel@amy> References: <1115370131.6533.19.camel@amy> Message-ID: perdona esque vengo de php y en un array englobo muchas cosas, pero creo que a lo que me refiero es a lista, una sucesion de nombres. Gracias por la ayuda. On 5/6/05, David Villa wrote: > El jue, 05-05-2005 a las 18:26 +0200, Ceritium escribió: > > Buenas acabo de empezar con python y mi primer objetivo es hacer un > > script que "optimice" el tamaño de las imagenes, pero lo primero seria > > conseguir listar todos los archivos de imagen de un directorio o > > varios, probe con la funcion glob.glob(....*.jpg) pero ahora busco > > algo mas generico y que muestre todos sus archivos de imagen > > independientemente de su extension. > > ¿Te vale algo así? > > formatos = ['.gif','.jpg'] > [x for x in os.listdir('.') if os.path.splitext(x)[1] in formatos] > > > > De paso si podeis me explicais como meto cada archivo en un array. > > ¿Te refieres a un array.array() o a una lista normal? > > Saludos > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From jcanto en hispasec.com Fri May 6 15:37:45 2005 From: jcanto en hispasec.com (Julio Canto) Date: Fri, 06 May 2005 15:37:45 +0200 Subject: Python y juegos In-Reply-To: References: <427B3AAF.2090604@hispasec.com> Message-ID: <427B7329.80601@hispasec.com> Ceritium wrote: >creo ke se te ha olvidado la pregunta :S > > Si, tiene toda la pinta :) Solo queria comentar algo que me parecia curioso. El nuevo Civilization (que saldra a finales de año) soporta ampliaciones/modificaciones mediante python y xml :) Un saludo, JC From josu.oyng en gmail.com Fri May 6 15:47:58 2005 From: josu.oyng en gmail.com (Josu Oyanguren) Date: Fri, 6 May 2005 15:47:58 +0200 Subject: Montaje en python In-Reply-To: <1115378454.11137.3.camel@localhost.localdomain> References: <1115378454.11137.3.camel@localhost.localdomain> Message-ID: <77dbe5bb0505060647117d9e9f@mail.gmail.com> El 6/05/05, Oscar Merchan escribió: > > Es como una especie de popen con esteroides. Servía para atrapar > > la salida de programas tipo grafico (bah.. curses) entre otras > > cosas. Pero como te comenté, no lo use nunca, asi que mucho mas no > > te puedo decir. > > Mirare a ver si encuentro info sobre ello > http://pexpect.sourceforge.net/ From erny en sicem.biz Fri May 6 15:53:24 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 06 May 2005 15:53:24 +0200 Subject: PyGTK y UIManager In-Reply-To: References: Message-ID: <427B76D4.80803@sicem.biz> Hola, explícate mejor, porfa. Si quieres decir, que se manden parámetros a la función puedes hacer: def funcionTemporal(self, w): # si quieres usar w en print_hello, lo pones, de lo contrario lo quitas self.print_hello(w, 'param1','param2, ...) ... actiongroup.add_actions([ ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, functionTemporal), ... que es semánticamente casi lo mismo para tu caso que: ... actiongroup.add_actions([ ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, lambda w: self.print_hello(w,'param1','param2',...)), ... Erny Alfredo Cañadas escribió: > Hola a tod en s!!! > Estoy trabajando con PyGTK, y me ha surgido un problemilla. Al > crear el menú (Tipo File, Preferences, Help) sólo consigo llamar a > funciones que no reciben pareámetros. > Ejemplo: > actiongroup.add_actions([ > ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', > None, None, self.print_hello), > ... > def print_hello(self, w): > print "Hola_Mundo" > > Esto si me funciona, pero a la hora de pasarle parámetros no sé > como hacerlo. Si alguien pudiera decírmelo o mandarme algún ejemplillo > sería de gran ayuda. Gracias a tod en s > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0518-3, 04/05/2005 Comprobado en: 06/05/2005 15:53:26 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From erny en sicem.biz Fri May 6 16:01:22 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 06 May 2005 16:01:22 +0200 Subject: Montaje en python In-Reply-To: <1115378454.11137.3.camel@localhost.localdomain> References: <1115378454.11137.3.camel@localhost.localdomain> Message-ID: <427B78B2.7060704@sicem.biz> Una idea: cuando arranca el ordenador, no puedes conmuta a otro terminal virtual programáticamente (lo que en modo no gráfico se hace con alt-nº, o ctrl-alt nº ? Con eso mantendrías la consola para mensajes administrativos y te sería más fácil controlar el sistema sin hacer piruetas. He visto que ciertas distribuciones como Guadalinex escriben sobre framebuffer para ocultar todos esos mensajes iniciales. Erny Oscar Merchan escribió: >EL pesado vuelve :-D > > > > >>Entonces tendrás mas problemas que ese. ¿Como vas a evitar el resto >>de los mensajes de consola que tira el kernel? Los mensajes no solo >>aparecen en el encendido, tambien los tendras en infinidad de casos >>luego del init (comando su, llenado de la tabla de inodos y mogollon >>de casos mas) >>Me parece que la solución no está en python sino en ver como puedes >>configurar el S.O. para que no mande mensajes a tu consola (o que >>los redireccione a un archivo, etc. etc) >> >> >> > > >Eso lo tengo solucionado enviando todos los mensajes al tty11 y al tty12 >y los otros a log's, todo configurado en el /etc/syslog.conf > > > > >>Es como una especie de popen con esteroides. Servía para atrapar >>la salida de programas tipo grafico (bah.. curses) entre otras >>cosas. Pero como te comenté, no lo use nunca, asi que mucho mas no >>te puedo decir. >> >> > >Mirare a ver si encuentro info sobre ello > > > >>parece que es mensaje de consola nomas, especificamente del >>file system que estás montando. >> >> >> > >Algo asi me imaginaba, el problema es quitarme el dichoso mensaje de >encima, que parece que me quiere mucho y no se quiere despegar de mi. > >Saludos, Oscar Merchan. > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0518-3, 04/05/2005 Comprobado en: 06/05/2005 16:01:24 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From selkfoster en gmail.com Fri May 6 20:52:29 2005 From: selkfoster en gmail.com (Selkfoster) Date: Fri, 06 May 2005 15:52:29 -0300 Subject: Consulta de novatillo Message-ID: <427BBCED.7090506@gmail.com> Buenas a todos, me he suscripto hace poco a la lista con interes de aprender python, a mi me interesaria trabajar con python y la parte grafica, he leido por ahi que por ejemplo, se necesitan las PyKDE para trabajar con KDE y QtDesigner y con respecto a Gnome se necesitan las PyGTK y Glade, es esto correcto? podria tranquilamente trabajar con PyKDE y Qtdesigner o acaso debo recurrir a otra aplicacion? desde ya gracias y saludos a todos, desde aqui, argentina. From maramsis en gmail.com Fri May 6 23:22:29 2005 From: maramsis en gmail.com (maram) Date: Fri, 6 May 2005 18:22:29 -0300 Subject: La libreria Qt es de licencia "libre" en Windows? Message-ID: Queria saber si ya hay una licencia libre para las librerias qt en windows... cual es? -- Marcelo Ametller From cescd en yahoo.com.mx Sat May 7 00:07:51 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 6 May 2005 17:07:51 -0500 (CDT) Subject: La libreria Qt es de licencia "libre" en Windows? In-Reply-To: 6667 Message-ID: <20050506220751.94373.qmail@web50401.mail.yahoo.com> Es una licencia "dual", tal como ellos la explican: http://www.trolltech.com/developer/faqs/duallicense.html?cid=20#q12 Si produces software libre, las Qt son gratuitas; si produces software comercial, debes pagar... y sí, ya aplica también para Windows. Saludos --- maram escribió: > Queria saber si ya hay una licencia libre para las > librerias qt en windows... > cual es? > > -- > Marcelo Ametller > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From ceritium en gmail.com Sat May 7 15:31:06 2005 From: ceritium en gmail.com (Ceritium) Date: Sat, 7 May 2005 15:31:06 +0200 Subject: Manejando archivos In-Reply-To: References: <1115370131.6533.19.camel@amy> Message-ID: Bueno tengo esto ahora, muy poco pero para mi un gran avance xD http://pegar.solusan.com/index.php?id=1115472445 Lo que pretendo en la ultima linea es solo aceptar los que sean archivos de imagen, intenté hacer algo con lo que tu me dió David Villa pero no lo consigo aun, y no encontré informacion de os.path.splitext, tan solo encotnré algunos ejemplos pero que no logré comprender. On 5/6/05, Ceritium wrote: > perdona esque vengo de php y en un array englobo muchas cosas, pero > creo que a lo que me refiero es a lista, una sucesion de nombres. > Gracias por la ayuda. > > On 5/6/05, David Villa wrote: > > El jue, 05-05-2005 a las 18:26 +0200, Ceritium escribió: > > > Buenas acabo de empezar con python y mi primer objetivo es hacer un > > > script que "optimice" el tamaño de las imagenes, pero lo primero seria > > > conseguir listar todos los archivos de imagen de un directorio o > > > varios, probe con la funcion glob.glob(....*.jpg) pero ahora busco > > > algo mas generico y que muestre todos sus archivos de imagen > > > independientemente de su extension. > > > > ¿Te vale algo así? > > > > formatos = ['.gif','.jpg'] > > [x for x in os.listdir('.') if os.path.splitext(x)[1] in formatos] > > > > > > > De paso si podeis me explicais como meto cada archivo en un array. > > > > ¿Te refieres a un array.array() o a una lista normal? > > > > Saludos > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > -- > http://ceritium.blogsome.com > -- http://ceritium.blogsome.com From juanmosquera en puj.edu.co Sat May 7 18:43:02 2005 From: juanmosquera en puj.edu.co (Juan Francisco Mosquera Hurtado) Date: Sat, 7 May 2005 11:43:02 -0500 Subject: como retorna una estructurad de datos Message-ID: hola muchachos como podría retorna de "5 886544# > > < -* / + " como sacarlo los operadores para realizar operaciones con ellos por ejemplo necesito el + * ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ceritium en gmail.com Sat May 7 18:48:01 2005 From: ceritium en gmail.com (Ceritium) Date: Sat, 7 May 2005 18:48:01 +0200 Subject: Comprimir jpg Message-ID: Quisiera saber si alguno conoce alguna funcion para guardar una imagen en jpg indicandole la compresión y si puede ser con mas opciones. Si tambien hay para otros formatos mejor que mejor :D -- http://ceritium.blogsome.com From sespindola en gmail.com Sat May 7 18:56:23 2005 From: sespindola en gmail.com (Sebastian A. Espindola) Date: Sat, 7 May 2005 13:56:23 -0300 Subject: Comprimir jpg In-Reply-To: References: Message-ID: Te conviene usar la Python Imaging Library. Este es el link a la documentación. http://www.pythonware.com/library/pil/handbook/index.htm Saludos. Sebastián A. Espíndola On 5/7/05, Ceritium wrote: > Quisiera saber si alguno conoce alguna funcion para guardar una imagen > en jpg indicandole la compresión y si puede ser con mas opciones. Si > tambien hay para otros formatos mejor que mejor :D > -- > http://ceritium.blogsome.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From jfhg79 en gmail.com Sat May 7 19:13:02 2005 From: jfhg79 en gmail.com (Juan Francisco Hernandez Gonzalez) Date: Sat, 7 May 2005 13:13:02 -0400 Subject: Consulta Message-ID: <73f0bd0e050507101363115ee1@mail.gmail.com> Saludos Estoy Intersado en conocer y manejar este lenguaje pero estoy empezando quisiera saber donde puedo conseguir ejemplos sencillos para empesar que manejen datos y conq ue manejador de base de datos se trabajaria gracias From ceritium en gmail.com Sat May 7 19:40:10 2005 From: ceritium en gmail.com (Ceritium) Date: Sat, 7 May 2005 19:40:10 +0200 Subject: Comprimir jpg In-Reply-To: References: Message-ID: Vale gracias ya vi y creo que tengo lo que necesito, pero no consigo usar bien la funcion tal vez porque no la entendí. Aqui teneis lo que intento hacer y no me sale :S Codigo Coloreado: http://pegar.solusan.com/index.php?id=1115487545 import os import Image archivos=os.listdir(".") for imagen in archivos: im=Image.open(imagen) im=im.transform(200, QUAD,"By Ceritium") #Devuelve esto # Traceback (most recent call last): # File "", line 3, in ? # NameError: name 'QUAD' is not defined On 5/7/05, Sebastian A. Espindola wrote: > Te conviene usar la Python Imaging Library. > > Este es el link a la documentación. > > http://www.pythonware.com/library/pil/handbook/index.htm > > Saludos. > Sebastián A. Espíndola > > On 5/7/05, Ceritium wrote: > > Quisiera saber si alguno conoce alguna funcion para guardar una imagen > > en jpg indicandole la compresión y si puede ser con mas opciones. Si > > tambien hay para otros formatos mejor que mejor :D > > -- > > http://ceritium.blogsome.com > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From qualopec en gmail.com Sat May 7 20:18:46 2005 From: qualopec en gmail.com (Javier Santana) Date: Sat, 07 May 2005 20:18:46 +0200 Subject: Python y juegos In-Reply-To: <427B7329.80601@hispasec.com> References: <427B3AAF.2090604@hispasec.com> <427B7329.80601@hispasec.com> Message-ID: <427D0686.2080102@gmail.com> Julio Canto wrote: > Ceritium wrote: > >> creo ke se te ha olvidado la pregunta :S >> >> > Si, tiene toda la pinta :) > Solo queria comentar algo que me parecia curioso. El nuevo > Civilization (que saldra a finales de año) soporta > ampliaciones/modificaciones mediante python y xml :) Ya el blade (juego español) lo soportaba. Si teneis el juego y lo instalais, vereis entre las carpetas archivos .py. Python no es el lenguaje preferido como lenguaje de script, habitualmente se usa LUA (www.lua.org), aunque sí hay algunos juegos y aplicaciones que lo usan como lenguaje de script, como por ejemplo blender (www.blender.org) > Un saludo, > JC > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From amphora en escomposlinux.org Sat May 7 21:36:26 2005 From: amphora en escomposlinux.org (Israel Gutierrez) Date: Sat, 07 May 2005 21:36:26 +0200 Subject: Comprimir jpg In-Reply-To: References: Message-ID: <1115494587.6217.2.camel@localhost.localdomain> On sáb, 2005-05-07 at 19:40 +0200, Ceritium wrote: > im=im.transform(200, QUAD,"By Ceritium") > > #Devuelve esto > > # Traceback (most recent call last): > # File "", line 3, in ? > # NameError: name 'QUAD' is not defined No conozco la función, pero ¿QUAD no debería ir entre comillas? Si es que no, estás llamando a una función/metodo, lista u otra clase de objeto sin que esté definido. -- BOFH excuse #256: You need to install an RTFM interface. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From juanmosquera en puj.edu.co Sun May 8 17:44:46 2005 From: juanmosquera en puj.edu.co (Juan Francisco Mosquera Hurtado) Date: Sun, 8 May 2005 10:44:46 -0500 Subject: Consulta Message-ID: winkipedia y de alli a winkibooks amdemas en google busca manual de python en español y usa el divepython busca esto en googgle winkibooks en de winkipedia y python chao ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ceritium en gmail.com Sun May 8 18:22:33 2005 From: ceritium en gmail.com (Ceritium) Date: Sun, 8 May 2005 18:22:33 +0200 Subject: Comprimir jpg In-Reply-To: <1115494587.6217.2.camel@localhost.localdomain> References: <1115494587.6217.2.camel@localhost.localdomain> Message-ID: Bueno, encontré por la red un ejemplo por casualidad, para futuros interesados la cosa es así: im.save("archivo.jpg", quality=75) On 5/7/05, Israel Gutierrez wrote: > On sáb, 2005-05-07 at 19:40 +0200, Ceritium wrote: > > > im=im.transform(200, QUAD,"By Ceritium") > > > > #Devuelve esto > > > > # Traceback (most recent call last): > > # File "", line 3, in ? > > # NameError: name 'QUAD' is not defined > > No conozco la función, pero ¿QUAD no debería ir entre comillas? > Si es que no, estás llamando a una función/metodo, lista u otra clase de > objeto sin que esté definido. > > -- > BOFH excuse #256: You need to install an RTFM interface. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > > -- http://ceritium.blogsome.com From acurro en wanadoo.es Sun May 8 18:38:11 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Sun, 08 May 2005 18:38:11 +0200 Subject: Python y juegos In-Reply-To: <427D0686.2080102@gmail.com> References: <427B3AAF.2090604@hispasec.com> <427B7329.80601@hispasec.com> <427D0686.2080102@gmail.com> Message-ID: <427E4073.4070601@wanadoo.es> > > Ya el blade (juego español) lo soportaba. Si teneis el juego y lo > instalais, vereis entre las carpetas archivos .py. Python no es el > lenguaje preferido como lenguaje de script, habitualmente se usa LUA > (www.lua.org), aunque sí hay algunos juegos y aplicaciones que lo usan > como lenguaje de script, como por ejemplo blender (www.blender.org) Blade hacía mucho más que soportarlo. Todo el juego "visible" (fases, niveles, etc.) estaba escrito en Python y embebieron el intérprete Python (de hecho, una versión Light, creo que no era la completa) en el propio juego. El motor de representación y los motores críticos en recursos estaban programados en Assembler y C/C++, pero el resto era Python. Era muy fácil modificar niveles, características de personajes o incluso personalizar el juego todo lo que quisieras. Otra cosa es que no tuvo mucho éxito entre jugones "profesionales", que son los que más modifican o se mueven para poner el juego a tope de sus posibilidades. Pero yo hice algún que otro pinito en el juego a nivel de modificación, y debo decir que era muy fácil. LUA ofrece potencia con un framework muy potente, pero a la hora de hacer scripting sobre aplicaciones o juegos, yo sigo prefieriendo Python :). Salu2 From dortega en polinux.upv.es Sun May 8 22:20:03 2005 From: dortega en polinux.upv.es (David Ortega =?ISO-8859-1?Q?Berd=FAn?=) Date: Sun, 08 May 2005 22:20:03 +0200 Subject: Consulta In-Reply-To: References: Message-ID: <1115583604.8177.1.camel@Gondor> El dom, 08-05-2005 a las 10:44 -0500, Juan Francisco Mosquera Hurtado escribió: > winkipedia > y de alli a winkibooks > amdemas en google > busca manual de python en español > y usa el divepython > busca esto en googgle > winkibooks en de winkipedia y python > chao > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Te lo traduzco para que te funcione: wikipedia y de allí a wikibooks ademas en google busca manual de python en español y busca diveintopython busca esto en google y en la wikipedia y wikibooks busca python ciao -- David Ortega Berdún Encargado de Infraestructuras y CoAdministrador en PoLinux Obtén mi clave pública de: http://www.polinux.upv.es/~dortega/dortega.gpg ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From i92fredy en hotmail.com Mon May 9 10:36:46 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Mon, 09 May 2005 10:36:46 +0200 Subject: PyGTK y UIManager In-Reply-To: <427B76D4.80803@sicem.biz> References: <427B76D4.80803@sicem.biz> Message-ID: Gracias a lalista, en especial a Ernesto, la solución la tenía en el lambda w >From: Ernesto Revilla >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] PyGTK y UIManager >Date: Fri, 06 May 2005 15:53:24 +0200 > >Hola, explícate mejor, porfa. > >Si quieres decir, que se manden parámetros a la función puedes hacer: > > def funcionTemporal(self, w): > # si quieres usar w en print_hello, lo pones, de lo contrario lo >quitas > self.print_hello(w, 'param1','param2, ...) > ... > actiongroup.add_actions([ ('AbrirArchivo', gtk.STOCK_OPEN, >'_Abrir un archivo', None, None, functionTemporal), > ... > >que es semánticamente casi lo mismo para tu caso que: > > ... > actiongroup.add_actions([ > ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, >None, lambda w: self.print_hello(w,'param1','param2',...)), > ... > > >Erny > >Alfredo Cañadas escribió: > >> Hola a tod en s!!! >> Estoy trabajando con PyGTK, y me ha surgido un problemilla. Al >>crear el menú (Tipo File, Preferences, Help) sólo consigo llamar a >>funciones que no reciben pareámetros. >> Ejemplo: >> actiongroup.add_actions([ >> ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, >>None, self.print_hello), >> ... >> def print_hello(self, w): >> print "Hola_Mundo" >> >> Esto si me funciona, pero a la hora de pasarle parámetros no sé >>como hacerlo. Si alguien pudiera decírmelo o mandarme algún ejemplillo >>sería de gran ayuda. Gracias a tod en s >> >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> > > >-- >========================================= > NO A LAS PATENTES DE SOFTWARE > http://proinnova.hispalinux.es >========================================= > >Ernesto Revilla >sicem sl >Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 >18220 Albolote >http://www.sicem.biz >Tel: 637 716189 >MSN: aerd en mx3.redestb.es >ICQ: 163888521 > > > >--- >avast! Antivirus: Saliente mensaje limpio. >Base de datos de Virus (VPS): 0518-3, 04/05/2005 >Comprobado en: 06/05/2005 15:53:26 >avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >http://www.avast.com > > > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Mon May 9 16:35:33 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 9 May 2005 09:35:33 -0500 (CDT) Subject: como retorna una estructurad de datos In-Reply-To: References: Message-ID: <20050509143533.90584.qmail@web50404.mail.yahoo.com> Creo que deberías volver a plantear tu pregunta de una manera más clara, pues no se entiende. --- Juan Francisco Mosquera Hurtado escribió: > > hola muchachos > como podría retorna > de "5 886544# > > < -* / + > " > como sacarlo los operadores para realizar > operaciones > con ellos por ejemplo necesito el + > > * > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From cgarciaf en lucent.com Mon May 9 17:32:01 2005 From: cgarciaf en lucent.com (Carlos Garcia) Date: Mon, 9 May 2005 17:32:01 +0200 Subject: problemas con la memoria Message-ID: <075b01c554ac$3eb58a00$ba565887@1068801y07c0j> Hola, Tengo un memory leak en una aplicacion que ejecuta multiples veces Python.exec() , puedo comprobar en el jprobleque se acumulan instancias de clases org.python.pycode._pyx* y org.python.proxies.* estas clases se crean dinamicamente por python, Alguna idea? Gracias, ========================================================== Carlos García Phone : +34 91 714 8796 Lucent Technologies e-mail : cgarciaf en lucent.com Avenida de Bruselas , 8 - 28108 Alcobendas (Madrid) ========================================================== From joepc74 en gmail.com Mon May 9 17:50:01 2005 From: joepc74 en gmail.com (JoePC) Date: Mon, 9 May 2005 17:50:01 +0200 Subject: Imagen en Tkinter Message-ID: <54af49c1050509085059aa5b85@mail.gmail.com> Me podia alguien ayudar para saber como mostrar una imagen en una ventana mediante tkinter? Muchas gracias. From i92fredy en hotmail.com Mon May 9 19:24:41 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Mon, 09 May 2005 19:24:41 +0200 Subject: PyGTK y lambda w: actiongroup Message-ID: Saludos a la lista!! Tengo un problema para ejecutar un actiongroup. Antes no conseguía ejecutarlo, pero gracias a la lista ya lo solucionamos. Ahora mi problema es ejecutar 2 funciones de forma secuencial. Tengo: Funcion1: ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, lambda w: self.obtenerArchivo("Juan", self.nombreArchivo)), ('AbrirArchivo2', gtk.STOCK_SAVE, '_Guardar un archivo', None, None, lambda w: self.abrirArchivo("Hola", textbuffer, self.nombreArchivo.get_text())), Y quiero que se ejecuten de una sola vez. Alguna ayudita? From josep.torrens en gmail.com Mon May 9 18:01:20 2005 From: josep.torrens en gmail.com (Toram) Date: Mon, 9 May 2005 18:01:20 +0200 Subject: como retorna una estructurad de datos In-Reply-To: References: Message-ID: <5c81228b05050909014c9bce88@mail.gmail.com> On 5/7/05, Juan Francisco Mosquera Hurtado wrote: > > hola muchachos > como podría retorna > de "5 886544# > > < -* / + > " > como sacarlo los operadores para realizar operaciones > con ellos por ejemplo necesito el + > Te refieres a esto? >>> a =" 5 886544# > > < -* / +" >>> b = a.split(" ") >>> b ['', '5', '886544#', '>', '>', '<', '-*', '/', '+'] >>> b[-1] '+' ¿? Saludos, -- Josep http://bloc.toram.net * I tu, encara uses Explorer i Outlook? -- http://breu.bulma.net/?l3541 * No accept arxius en format WORD: http://breu.bulma.net/?l3192 From Facundo.Batista en telefonicamoviles.com.ar Mon May 9 22:18:45 2005 From: Facundo.Batista en telefonicamoviles.com.ar (Batista, Facundo) Date: Mon, 9 May 2005 17:18:45 -0300 Subject: =?iso-8859-1?q?Octava__reuni=F3n_de_PyAr_-_Python_Ar?= =?iso-8859-1?q?gentina=2C_este_Jueves?= Message-ID: El Grupo de Usuarios de Python en Argentina, PyAr, celebrará su octava reunión este Jueves, 12 de Mayo, a las 19:00 hs. Agenda ------ Si bien nuestra agenda es bastante abierta, en esta oportunidad pretendemos conversar sobre los siguientes puntos: - Ver finalmente tema de remeras y otro "merchandising". - Analizar el futuro punto de reunión. Dónde ----- Nos reunimos en el bar Hip, Hipólito Yirigoyen 640, Ciudad de Buenos Aires, comenzando a las 19hs. Estaremos en la parte de atrás, por lo que pregúntenle al barman por nosotros. Sobre PyAr ---------- Para saber mas sobre nosotros, te invitamos a visitar nuestro portal [http://pyar.decode.com.ar], y/o a suscribirte a nuestra lista de correo (instrucciones en http://pyar.decode.com.ar/Members/ltorre/listademail). Nos reunimos el segundo jueves de cada mes. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA. La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. From cescd en yahoo.com.mx Mon May 9 22:47:32 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 9 May 2005 15:47:32 -0500 (CDT) Subject: Imagen en Tkinter In-Reply-To: 6667 Message-ID: <20050509204732.7882.qmail@web50403.mail.yahoo.com> El siguiente código lo he tomado de: http://mail.python.org/pipermail/python-list/2001-May/043483.html import Tkinter tk=Tkinter root=tk.Tk() root.title("Alpha Space Station") myCanvas = tk.Canvas(root, width=500, height=500) photo = tk.PhotoImage(file="Alpha.gif") myCanvas.create_image(250,250, image=photo) myCanvas.pack() root.mainloop() --- JoePC escribió: > Me podia alguien ayudar para saber como mostrar una > imagen en una > ventana mediante tkinter? > > Muchas gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From o.merchan en bussitel.es Tue May 10 10:16:22 2005 From: o.merchan en bussitel.es (Oscar Merchan) Date: Tue, 10 May 2005 10:16:22 +0200 Subject: Montaje en python In-Reply-To: <1115365614.8084.8.camel@localhost.localdomain> References: <1115365614.8084.8.camel@localhost.localdomain> Message-ID: <1115712982.8518.4.camel@localhost.localdomain> Buenas a todos. Ante todo muchas gracias a todos, por el interés mostrado. He probado todas las soluciones que me habéis ido indicando. Pero al final un amigo mio me hizo ver la luz al final del túnel, por lo que os la pongo aquí por si algún día alguien quiere hacer lo mismo que yo pretendía que no se tope con el mismo problema. La solución era bien simple, añadir al Lilo la siguiente linea ..: append = "ext3=mount quiet" Con eso conseguimos que el kernel solo nos informe de los errores del mount, y evitamos los mensajes de información del sistema para que no estorben. Saludos, Óscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Tue May 10 18:15:02 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 10 May 2005 18:15:02 +0200 Subject: PyGTK y lambda w: actiongroup In-Reply-To: References: Message-ID: <4280DE06.5080503@sicem.biz> Móntate una función para eso. Poner todo eso en un lambda lo hace muy inlegible. Erny Alfredo Cañadas escribió: > Saludos a la lista!! > Tengo un problema para ejecutar un actiongroup. Antes no > conseguía ejecutarlo, pero gracias a la lista ya lo solucionamos. > Ahora mi problema es ejecutar 2 funciones de forma secuencial. Tengo: > Funcion1: > ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, > None, lambda w: > self.obtenerArchivo("Juan", self.nombreArchivo)), > ('AbrirArchivo2', gtk.STOCK_SAVE, '_Guardar un archivo', None, > None, lambda w: > self.abrirArchivo("Hola", textbuffer, > self.nombreArchivo.get_text())), > > Y quiero que se ejecuten de una sola vez. Alguna ayudita? > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0519-1, 10/05/2005 Comprobado en: 10/05/2005 18:15:03 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From i92fredy en hotmail.com Tue May 10 20:54:36 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 10 May 2005 20:54:36 +0200 Subject: PyGTK y lambda w: actiongroup In-Reply-To: <4280DE06.5080503@sicem.biz> References: <4280DE06.5080503@sicem.biz> Message-ID: El problema es que en la segunda función utilizo datos de la primera: modifico una cosa que uso en la segunda. Y eso con botones (connect y eso) si sé hacerlo, pero no con estos actiongroup y con lambda. Alguna idea? >From: Ernesto Revilla >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] PyGTK y lambda w: actiongroup >Date: Tue, 10 May 2005 18:15:02 +0200 > > >Móntate una función para eso. Poner todo eso en un lambda lo hace muy >inlegible. > >Erny > > >Alfredo Cañadas escribió: > >> Saludos a la lista!! >> Tengo un problema para ejecutar un actiongroup. Antes no conseguía >>ejecutarlo, pero gracias a la lista ya lo solucionamos. Ahora mi problema >>es ejecutar 2 funciones de forma secuencial. Tengo: >> Funcion1: >> ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, >>lambda w: >> self.obtenerArchivo("Juan", self.nombreArchivo)), >> ('AbrirArchivo2', gtk.STOCK_SAVE, '_Guardar un archivo', None, >>None, lambda w: >> self.abrirArchivo("Hola", textbuffer, >>self.nombreArchivo.get_text())), >> >> Y quiero que se ejecuten de una sola vez. Alguna ayudita? >> >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> > > >-- >========================================= > NO A LAS PATENTES DE SOFTWARE > http://proinnova.hispalinux.es >========================================= > >Ernesto Revilla >sicem sl >Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 >18220 Albolote >http://www.sicem.biz >Tel: 637 716189 >MSN: aerd en mx3.redestb.es >ICQ: 163888521 > > > >--- >avast! Antivirus: Saliente mensaje limpio. >Base de datos de Virus (VPS): 0519-1, 10/05/2005 >Comprobado en: 10/05/2005 18:15:03 >avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >http://www.avast.com > > > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From ceritium en gmail.com Tue May 10 21:15:06 2005 From: ceritium en gmail.com (Ceritium) Date: Tue, 10 May 2005 21:15:06 +0200 Subject: create_point y demas Message-ID: Buenas, siguiendo un manual de python me dice que en el entorno pythonG puedo usar comandos como create_point y demas pero trabajo en linux y lo unico que eso es el interprete o un editor de texto. Lo instento desde estos y me dice: NameError: name 'create_point' is not defined El manual es el "Introducción a la programacion con Python" por andres marzal y Isabel garcia. gracias por adelantado. -- http://ceritium.blogsome.com From pan_python en yahoo.com.ar Tue May 10 21:42:32 2005 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Tue, 10 May 2005 16:42:32 -0300 Subject: exportar grid a sxc (Openoffice) Message-ID: <42810EA8.6050003@yahoo.com.ar> Gente... TEngo un grid cargado con mucha informacion que tengo que exportar hacia una planilla de calculo, en mi caso sxc o sea Openoffice. Alguien me pude dar info de modulos o donde buscar los datos? esta semana estoy sin internet (para navegar solo mail) asi que estoy sin mi mejor amigo google :) Gracias! -- Saludos Panflin NO al limite de adsl de TELECOM Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el limite del ADSL, la direccion es: http://peticionbandaancha.com/ www.reconquista.com.ar From acurro en wanadoo.es Tue May 10 21:58:50 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Tue, 10 May 2005 21:58:50 +0200 Subject: exportar grid a sxc (Openoffice) In-Reply-To: <42810EA8.6050003@yahoo.com.ar> References: <42810EA8.6050003@yahoo.com.ar> Message-ID: <4281127A.4050409@wanadoo.es> Ariel Nardelli escribió: > Gente... > > TEngo un grid cargado con mucha informacion que tengo que exportar > hacia una planilla de calculo, en mi caso sxc o sea Openoffice. > > Alguien me pude dar info de modulos o donde buscar los datos? esta > semana estoy sin internet (para navegar solo mail) asi que estoy sin > mi mejor amigo google :) > > Gracias! > Hola, el formato de OpenOffice y StarOffice es XML; es un error común pensar que esto es igual que en excel y word. Los documentos son todos un mismo formato estándar, el OpenOffice.org, pero que tú delimitas a la hora de guardar el fichero el dominio (aplicación) al que pertenece. Es abierto y disponible, pero dado que comentas que no tienes acceso a internet así de forma directa, te copio links a varias páginas de ayuda del formato para cuando puedas. Lo siento, no te lo copio porque son bastante grandes y no quiero saturar la lista :) http://books.evc-cit.info/ch01.php#inside-file-section (página de ayuda muy buena) http://xml.openoffice.org/general.html (referencia oficial de OpenOffice.org) http://longsleep.org/presentations/ep2003 Sobre todo el último link te ayudará, es una presentación de una conferencia de desarrolladores que indica como integrar en ZOPE (y Python, claro :)) el formato OpenOffice.org. De todos modos, una segunda opción que tienes es usar el modulo UNO Python. Yo he hecho ciertos pinitos y es interesante, aunque no sé tus necesidades / requerimientos, por lo que sólo te lo comento como alternativa. SAlu2 From erny en sicem.biz Wed May 11 01:03:39 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 11 May 2005 01:03:39 +0200 Subject: PyGTK y lambda w: actiongroup In-Reply-To: References: Message-ID: <42813DCB.9040603@sicem.biz> Si tienes una clase, lo mejor montas tus métodos concretos de clase: class MiClase: .... def funcion1(self,w): ... def funcion2(self,w): ... def crearInterfaz(self,....): .... actiongroup=.... # crear actiongroup actiongroup.add_actions=([ ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, lambda w: (self.funcion1, self.funcion2), ]) .... Si el Actiongroup en pygtk ignora el vacalor de los funciones que llama al activar una acción, podrías especificar la acción como tupla: lambda w: (self.obtenerArchivo("Juan", self.nombreArchivo), self.otraAccion(...)) De lo contrario, puedes hacer una cosa algo más complicada... justo delante del .add_actions escribes una función temporal dentro de la misma función: def crearInterfaz(self,....): .... actiongroup=.... # crear actiongroup def funcionTemporal(self,w): ... # lo que sea aqui actiongroup.add_actions=([ ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, None, lambda w, self=self: funcionTemporal(self,w)), ]) .... Dado que funcionTemporal no es método ligado a una instancio (Bound InstanceMethod), sino simplemente una función, le tenemos que dar la instanstancia como primer argumento en el momento de invocarla. Para ello fijo el segundo argumento de la expresión lambda (self=self) que obtiene su valor en el momento de evaluar la expresión lambda devolviendo una función (sin nombre). Erny Alfredo Cañadas escribió: > El problema es que en la segunda función utilizo datos de la primera: > modifico una cosa que uso en la segunda. Y eso con botones (connect y > eso) si sé hacerlo, pero no con estos actiongroup y con lambda. Alguna > idea? > >> From: Ernesto Revilla >> Reply-To: La lista de python en castellano >> To: La lista de python en castellano >> Subject: Re: [Python-es] PyGTK y lambda w: actiongroup >> Date: Tue, 10 May 2005 18:15:02 +0200 >> >> >> Móntate una función para eso. Poner todo eso en un lambda lo hace muy >> inlegible. >> >> Erny >> >> >> Alfredo Cañadas escribió: >> >>> Saludos a la lista!! >>> Tengo un problema para ejecutar un actiongroup. Antes no >>> conseguía ejecutarlo, pero gracias a la lista ya lo solucionamos. >>> Ahora mi problema es ejecutar 2 funciones de forma secuencial. Tengo: >>> Funcion1: >>> ('AbrirArchivo', gtk.STOCK_OPEN, '_Abrir un archivo', None, >>> None, lambda w: >>> self.obtenerArchivo("Juan", self.nombreArchivo)), >>> ('AbrirArchivo2', gtk.STOCK_SAVE, '_Guardar un archivo', >>> None, None, lambda w: >>> self.abrirArchivo("Hola", textbuffer, >>> self.nombreArchivo.get_text())), >>> >>> Y quiero que se ejecuten de una sola vez. Alguna ayudita? >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >>> >> >> >> -- >> ========================================= >> NO A LAS PATENTES DE SOFTWARE >> http://proinnova.hispalinux.es >> ========================================= >> >> Ernesto Revilla >> sicem sl >> Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 >> 18220 Albolote >> http://www.sicem.biz >> Tel: 637 716189 >> MSN: aerd en mx3.redestb.es >> ICQ: 163888521 >> >> >> >> --- >> avast! Antivirus: Saliente mensaje limpio. >> Base de datos de Virus (VPS): 0519-1, 10/05/2005 >> Comprobado en: 10/05/2005 18:15:03 >> avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >> http://www.avast.com >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0519-1, 10/05/2005 Comprobado en: 11/05/2005 1:03:40 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From morigowi en gmail.com Wed May 11 06:10:29 2005 From: morigowi en gmail.com (wilson rivera) Date: Tue, 10 May 2005 23:10:29 -0500 Subject: como compilar Message-ID: tengan todos ustedes muchos exitos necesito el favor que me indiquen como compilar en python ademas necesito informacion concreta de como es el codigo fuente para programacion orientado a objetos y librerias para utilizar graficos el python que yo tengo es el 2.4 From adame6 en hotmail.com Tue May 10 22:38:16 2005 From: adame6 en hotmail.com (Antonio Adame) Date: Tue, 10 May 2005 15:38:16 -0500 Subject: graficos Message-ID: Buen dia a todos soy nuevon en phyton y se me hace muy atractivo y para esto deseo realizar una monografia referente a programacion y manipulacion de graficos con phyton e implementarlo en plataforma linux cualquir aportacion le estare agradecido ya ke no encuentro mucha informacion, con atencion Antonio espero respuestas. From necudeco en yahoo.es Wed May 11 12:46:54 2005 From: necudeco en yahoo.es (NeCuDeCo) Date: Wed, 11 May 2005 05:46:54 -0500 Subject: como compilar In-Reply-To: References: Message-ID: <20050511054654.6ffd7d3c.necudeco@yahoo.es> python miprograma.py esote ejecuta el program, pero tamb te deja un archivo ya compilado para la proxima ocacion On Tue, 10 May 2005 23:10:29 -0500 wilson rivera wrote: > tengan todos ustedes muchos exitos > > necesito el favor que me indiquen como compilar en python ademas > necesito informacion concreta de como es el codigo fuente para > programacion orientado a objetos y librerias para utilizar graficos > el python que yo tengo es el 2.4 > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ceritium en gmail.com Wed May 11 14:20:23 2005 From: ceritium en gmail.com (Ceritium) Date: Wed, 11 May 2005 14:20:23 +0200 Subject: graficos In-Reply-To: References: Message-ID: Hola y bienvenido, para trabajar con graficos necesitaras PIL (Python Imaging Library o algo así) http://www.pythonware.com/products/pil/ Yo tambien acabo de empezar y lo primero que hice fue un programita que coge todos los jpg de una carpeta y los vuelve a guardar al 50% lo que supone un ahorro de espacio(en webs y cosas asi sobretodo). On 5/10/05, Antonio Adame wrote: > Buen dia a todos soy nuevon en phyton y se me hace muy atractivo y para esto deseo realizar una monografia referente a programacion y manipulacion de graficos con phyton e implementarlo en plataforma linux cualquir aportacion le estare agradecido ya ke no encuentro mucha informacion, con atencion Antonio espero respuestas. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From cabrerachaparro en gmail.com Wed May 11 16:33:31 2005 From: cabrerachaparro en gmail.com (Daniel cabrera) Date: Wed, 11 May 2005 16:33:31 +0200 Subject: wxglade Message-ID: <8565ad90505110733448fa218@mail.gmail.com> Hola, acabo de generar una GUI hecha con wxGlade, pero solo me genera el codigo, como hago para poder levantarlo? Muchas gracias, -- Daniel Cabrera Chaparro From cescd en yahoo.com.mx Wed May 11 16:48:56 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Wed, 11 May 2005 09:48:56 -0500 (CDT) Subject: como compilar In-Reply-To: <20050511054654.6ffd7d3c.necudeco@yahoo.es> References: <20050511054654.6ffd7d3c.necudeco@yahoo.es> Message-ID: <20050511144856.1103.qmail@web50406.mail.yahoo.com> Para mayor referencia, puedes correrlo de la siguiente forma: En windows Si ya tienes el ejecutable de python en el path: python c:\ruta\a\miprograma.py si no: c:\Python24\python c:\ruta\a\miprograma.py En Casi cualquier unix, si tienes python en el path $ python /home/foolano/miprograma.py --- NeCuDeCo escribió: > > python miprograma.py > > esote ejecuta el program, pero tamb te deja un > archivo ya compilado para la proxima ocacion > > On Tue, 10 May 2005 23:10:29 -0500 > wilson rivera wrote: > > > tengan todos ustedes muchos exitos > > > > necesito el favor que me indiquen como compilar en > python ademas > > necesito informacion concreta de como es el codigo > fuente para > > programacion orientado a objetos y librerias para > utilizar graficos > > el python que yo tengo es el 2.4 > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From cescd en yahoo.com.mx Wed May 11 16:50:30 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Wed, 11 May 2005 09:50:30 -0500 (CDT) Subject: como compilar In-Reply-To: 6667 Message-ID: <20050511145030.62524.qmail@web50401.mail.yahoo.com> Acerca de las librerías de imagenes, la mas importante es PIL http://www.pythonware.com/products/pil/ --- wilson rivera escribió: > tengan todos ustedes muchos exitos > > necesito el favor que me indiquen como compilar en > python ademas > necesito informacion concreta de como es el codigo > fuente para > programacion orientado a objetos y librerias para > utilizar graficos > el python que yo tengo es el 2.4 > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From cescd en yahoo.com.mx Wed May 11 16:57:40 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Wed, 11 May 2005 09:57:40 -0500 (CDT) Subject: [FAQ | Fork] de la lista? Message-ID: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Hola amigos listeros. Recientemente he podido observar con agrado cómo ha aumentado el número de mensajes enviados a esta lista por parte de personas que apenas empiezan a aprender a programar Python. Han surgido preguntas rutinarias una y vez, por lo que propongo dos soluciones que dejo a su criterio: A) Crear una página de FAQs a donde podamos enviar rápidamente cualquier pregunta de ese tipo. B) Crear una nueva lista para novatos que también sería atendida por los amables programadores de Python que luchamos por que se extienda este lenguaje. Saludos desde México César P.D. Programadores de Python de México, uníos. _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From morigowi en gmail.com Wed May 11 17:05:11 2005 From: morigowi en gmail.com (wilson rivera) Date: Wed, 11 May 2005 10:05:11 -0500 Subject: ejemplos Message-ID: hola lista mi problema es que recien adquiri el sofware, soy estudiante de sistemas y necesito ver ejemplo de como manejar este interpretador, mi interes es porque necesito bases para realizar un concentrese. From cescd en yahoo.com.mx Wed May 11 17:12:29 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Wed, 11 May 2005 10:12:29 -0500 (CDT) Subject: ejemplos In-Reply-To: 6667 Message-ID: <20050511151230.11393.qmail@web50406.mail.yahoo.com> http://www.freenetpages.co.uk/hp/alan.gauld/spanish/ http://pyspanishdoc.sourceforge.net/tut/tut.html http://usuarios.lycos.es/arturosa/ --- wilson rivera escribió: > hola lista > > mi problema es que recien adquiri el sofware, soy > estudiante de > sistemas y necesito ver ejemplo de como manejar este > interpretador, > mi interes es porque necesito bases para realizar un > concentrese. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From ceritium en gmail.com Wed May 11 17:43:44 2005 From: ceritium en gmail.com (Ceritium) Date: Wed, 11 May 2005 17:43:44 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <20050511145740.65607.qmail@web50401.mail.yahoo.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Message-ID: yo pienso que es mucho mejor la idea del faq pues sino en la lista nueva siempre se estarian haciendo las mismas preguntas, o tal vez crear algun metodo para poder consultar todos los mensajes de la lsita con algun buscador o algo. On 5/11/05, Cesar Cardenas Desales wrote: > Hola amigos listeros. > > Recientemente he podido observar con agrado cómo ha > aumentado el número de mensajes enviados a esta lista > por parte de personas que apenas empiezan a aprender a > programar Python. Han surgido preguntas rutinarias una > y vez, por lo que propongo dos soluciones que dejo a > su criterio: > > A) Crear una página de FAQs a donde podamos enviar > rápidamente cualquier pregunta de ese tipo. > > B) Crear una nueva lista para novatos que también > sería atendida por los amables programadores de Python > que luchamos por que se extienda este lenguaje. > > Saludos desde México > > César > > P.D. Programadores de Python de México, uníos. > > _________________________________________________________ > Do You Yahoo!? > La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From ceritium en gmail.com Wed May 11 17:46:50 2005 From: ceritium en gmail.com (Ceritium) Date: Wed, 11 May 2005 17:46:50 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Message-ID: Perdon por enviar dos mensajes tan seguidos, incluso mejor que un faq un wiki - faq On 5/11/05, Ceritium wrote: > yo pienso que es mucho mejor la idea del faq pues sino en la lista > nueva siempre se estarian haciendo las mismas preguntas, o tal vez > crear algun metodo para poder consultar todos los mensajes de la lsita > con algun buscador o algo. > > On 5/11/05, Cesar Cardenas Desales wrote: > > Hola amigos listeros. > > > > Recientemente he podido observar con agrado cómo ha > > aumentado el número de mensajes enviados a esta lista > > por parte de personas que apenas empiezan a aprender a > > programar Python. Han surgido preguntas rutinarias una > > y vez, por lo que propongo dos soluciones que dejo a > > su criterio: > > > > A) Crear una página de FAQs a donde podamos enviar > > rápidamente cualquier pregunta de ese tipo. > > > > B) Crear una nueva lista para novatos que también > > sería atendida por los amables programadores de Python > > que luchamos por que se extienda este lenguaje. > > > > Saludos desde México > > > > César > > > > P.D. Programadores de Python de México, uníos. > > > > _________________________________________________________ > > Do You Yahoo!? > > La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > -- > http://ceritium.blogsome.com > -- http://ceritium.blogsome.com From pachi en mmn-arquitectos.com Wed May 11 17:52:23 2005 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Wed, 11 May 2005 17:52:23 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Message-ID: <42822A37.6060707@mmn-arquitectos.com> Ceritium wrote: >Perdon por enviar dos mensajes tan seguidos, incluso mejor que un faq >un wiki - faq > > ¿Y hacer algo dentro de pythonhispano.org o hispapython.org?. Creo que reforzar los puntos de información existentes es más productivo que abrir algo nuevo aparte. Por otro lado, me parece muy bien la idea del wiki-faq o de un faq, y, sobre todo, de la idea de que haya gente dispuesta a hacer el esfuerzo. Personalmente intentaré ayudar en lo que pueda :). Saludos, Pachi From gumerco en yahoo.es Wed May 11 17:59:40 2005 From: gumerco en yahoo.es (Gumer Coronel =?ISO-8859-1?Q?P=E9rez?=) Date: Wed, 11 May 2005 17:59:40 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <42822A37.6060707@mmn-arquitectos.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <42822A37.6060707@mmn-arquitectos.com> Message-ID: <1115827180.10879.2.camel@localhost.localdomain> > Por otro lado, me parece muy bien la idea del wiki-faq o de un faq, y, > sobre todo, de la idea de que haya gente dispuesta a hacer el esfuerzo. > Personalmente intentaré ayudar en lo que pueda :). Me uno a la idea de montar una wiki. Intentaré ayudar también. -- Gumer Coronel Pérez. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Wed May 11 18:35:44 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Wed, 11 May 2005 18:35:44 +0200 (CEST) Subject: [FAQ | Fork] de la lista? In-Reply-To: <20050511145740.65607.qmail@web50401.mail.yahoo.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Message-ID: On Wed, 11 May 2005, Cesar Cardenas Desales wrote: > Hola amigos listeros. > > Recientemente he podido observar con agrado cómo ha > aumentado el número de mensajes enviados a esta lista > por parte de personas que apenas empiezan a aprender a > programar Python. Han surgido preguntas rutinarias una > y vez, por lo que propongo dos soluciones que dejo a > su criterio: > > A) Crear una página de FAQs a donde podamos enviar > rápidamente cualquier pregunta de ese tipo. > > B) Crear una nueva lista para novatos que también > sería atendida por los amables programadores de Python > que luchamos por que se extienda este lenguaje. > > Saludos desde México > > César Hay listas con mucho tráfico que funcionan bastante bien. Yo creo que las listas para novatos tienen dos problemas. 1) Los novatos no las usan. Quizás porque prefieren preguntar en una lista donde hay gente mas experta. 2) Los expertos no las usan. Encuentran mas satisfactorio responder a preguntas bien planteadas por gente que ya tiene una cierta idea. Eso les permite ayudar mucho, sin perder tiempo contestando trivialidades, o preguntas mal planteadas. Los primerso pasos son dificiles. Lo mejor es una sola lista donde los novatos demuestren poner esfuerzo de su parte y los menos novatos sean respetuosos y o bien concedan el beneficio de la duda ante preguntas que parecen excesivamente triviales, o bien no contesten porque nadie está obligado a hacerlo. Por otra parte dar referencias educadas de donde se puede obtener la información solicitada no cuesta nada y los novatos debrían agradecer este tipo de respuestas si realmente están dispuestos a poner de su parte. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From carlos.cruz en speedy.com.pe Wed May 11 17:59:00 2005 From: carlos.cruz en speedy.com.pe (carlos.cruz en speedy.com.pe) Date: Wed, 11 May 2005 10:59:00 -0500 Subject: (sin asunto) Message-ID: <1115827140.42822bc42b353@correo.speedy.com.pe> ¿alguien esta trabajando con SimPy? From jileon en parcan.es Wed May 11 18:35:48 2005 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Wed, 11 May 2005 17:35:48 +0100 Subject: [FAQ | Fork] de la lista? In-Reply-To: <20050511145740.65607.qmail@web50401.mail.yahoo.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Message-ID: <42823464.9060903@parcan.es> Cesar Cardenas Desales wrote: >Recientemente he podido observar con agrado cómo ha >aumentado el número de mensajes enviados a esta lista >por parte de personas que apenas empiezan a aprender a >programar Python. Han surgido preguntas rutinarias una >y vez, por lo que propongo dos soluciones que dejo a >su criterio: > >A) Crear una página de FAQs a donde podamos enviar >rápidamente cualquier pregunta de ese tipo. > >B) Crear una nueva lista para novatos que también >sería atendida por los amables programadores de Python >que luchamos por que se extienda este lenguaje. > > Me parece una muy buena idea, porque ya tambien he comprobado que en la lista han empezado a repetirse muchas preguntas. Me parece mejor la opción A). Un saludo a todos From al3xmor3no en gmail.com Wed May 11 19:04:25 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Wed, 11 May 2005 19:04:25 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <42823464.9060903@parcan.es> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <42823464.9060903@parcan.es> Message-ID: <31b571250505111004202d4909@mail.gmail.com> Yo opino que la creación del wiki/faq sería lo más correcto. Sobre todo en formato wiki para dejar colaborar a tanta gente como sea posible. En mi opinión no existe un volumen de tráfico suficiente como para justificar hacer un fork. Saludos. On 5/11/05, Juan Ignacio Rodriguez de Leon wrote: > Cesar Cardenas Desales wrote: > > >Recientemente he podido observar con agrado cómo ha > >aumentado el número de mensajes enviados a esta lista > >por parte de personas que apenas empiezan a aprender a > >programar Python. Han surgido preguntas rutinarias una > >y vez, por lo que propongo dos soluciones que dejo a > >su criterio: > > > >A) Crear una página de FAQs a donde podamos enviar > >rápidamente cualquier pregunta de ese tipo. > > > >B) Crear una nueva lista para novatos que también > >sería atendida por los amables programadores de Python > >que luchamos por que se extienda este lenguaje. > > > > > > Me parece una muy buena idea, porque ya tambien he comprobado > que en la lista han empezado a repetirse muchas preguntas. Me parece > mejor la opción A). Un saludo a todos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ceritium en gmail.com Wed May 11 20:48:04 2005 From: ceritium en gmail.com (Ceritium) Date: Wed, 11 May 2005 20:48:04 +0200 Subject: (sin asunto) In-Reply-To: <1115827140.42822bc42b353@correo.speedy.com.pe> References: <1115827140.42822bc42b353@correo.speedy.com.pe> Message-ID: Por favor, para algunas personas el asunto es muy importante para organizar nuestros mails, vuelve a enviar este mensaje con asunto por favor. On 5/11/05, carlos.cruz en speedy.com.pe wrote: > ¿alguien esta trabajando con SimPy? > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From ceritium en gmail.com Wed May 11 20:53:29 2005 From: ceritium en gmail.com (Ceritium) Date: Wed, 11 May 2005 20:53:29 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <31b571250505111004202d4909@mail.gmail.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <42823464.9060903@parcan.es> <31b571250505111004202d4909@mail.gmail.com> Message-ID: Bien creo que la opcion de la wiki es lo mejor, y la mejor manera de llevarlo es que aparte de los mas beteranos escribir las preguntas mas comunes, si yo formula una pregunta, comprometerme a rellenar la wiki, como minimo con la info que consiga aquí. Yo pensaba hacer algo asi en mi blog, ir poniendo lo qua iva aprendiendo, pero de momento se tan poco que no hay mucho que poner :P. La cuestion es, concual de las dos comunidades colaborar, para no romper en dos los esfuerzos de la lista, que metodo o gestor usar para esto. On 5/11/05, Alex Moreno wrote: > Yo opino que la creación del wiki/faq sería lo más correcto. Sobre > todo en formato wiki para dejar colaborar a tanta gente como sea > posible. En mi opinión no existe un volumen de tráfico suficiente como > para justificar hacer un fork. > > Saludos. > > On 5/11/05, Juan Ignacio Rodriguez de Leon wrote: > > Cesar Cardenas Desales wrote: > > > > >Recientemente he podido observar con agrado cómo ha > > >aumentado el número de mensajes enviados a esta lista > > >por parte de personas que apenas empiezan a aprender a > > >programar Python. Han surgido preguntas rutinarias una > > >y vez, por lo que propongo dos soluciones que dejo a > > >su criterio: > > > > > >A) Crear una página de FAQs a donde podamos enviar > > >rápidamente cualquier pregunta de ese tipo. > > > > > >B) Crear una nueva lista para novatos que también > > >sería atendida por los amables programadores de Python > > >que luchamos por que se extienda este lenguaje. > > > > > > > > > > Me parece una muy buena idea, porque ya tambien he comprobado > > que en la lista han empezado a repetirse muchas preguntas. Me parece > > mejor la opción A). Un saludo a todos > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From cabrerachaparro en gmail.com Wed May 11 21:35:31 2005 From: cabrerachaparro en gmail.com (Daniel cabrera) Date: Wed, 11 May 2005 21:35:31 +0200 Subject: cargar GUI Message-ID: <8565ad9050511123536e21cf4@mail.gmail.com> Hola, acabo de hacer un GUI usando wxGlade, pero cada vez que la ejecuto me sale el siguiente error: Traceback (most recent call last): File "prueba.py", line 67, in ? app = MyFrame(0) File "prueba.py", line 11, in __init__ wx.Frame.__init__(self, *args, **kwds) File "/usr/lib/python2.3/site-packages/wxPython/frames.py", line 151, in __init__ self.this = framesc.new_wxFrame(*_args,**_kwargs) TypeError: new_wxFrame() takes at least 3 arguments (1 given) Por favor alguna ayuda con esto. Gracias, -- Daniel Cabrera Chaparro From al3xmor3no en gmail.com Thu May 12 09:36:24 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Thu, 12 May 2005 09:36:24 +0200 Subject: cargar GUI In-Reply-To: <8565ad9050511123536e21cf4@mail.gmail.com> References: <8565ad9050511123536e21cf4@mail.gmail.com> Message-ID: <31b571250505120036471c29bd@mail.gmail.com> Es un error muy típico de python. Al menos a mi me lo daba bastante cuando empezaba y se debe a que estás pasando un número de argumentos diferente al que espera el método al que estás llamando, en este caso new_wxFrame(). ¿Puedes poner la definición de este método y la llamada que haces contra él? Un saludo. On 5/11/05, Daniel cabrera wrote: > Hola, > acabo de hacer un GUI usando wxGlade, pero cada vez que la ejecuto me > sale el siguiente error: > > Traceback (most recent call last): > File "prueba.py", line 67, in ? > app = MyFrame(0) > File "prueba.py", line 11, in __init__ > wx.Frame.__init__(self, *args, **kwds) > File "/usr/lib/python2.3/site-packages/wxPython/frames.py", line > 151, in __init__ > self.this = framesc.new_wxFrame(*_args,**_kwargs) > TypeError: new_wxFrame() takes at least 3 arguments (1 given) > > Por favor alguna ayuda con esto. > > Gracias, > -- > Daniel Cabrera Chaparro > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From al3xmor3no en gmail.com Thu May 12 10:01:05 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Thu, 12 May 2005 10:01:05 +0200 Subject: cargar GUI In-Reply-To: <8565ad9050511123536e21cf4@mail.gmail.com> References: <8565ad9050511123536e21cf4@mail.gmail.com> Message-ID: <31b57125050512010124ed5e67@mail.gmail.com> Es un error muy típico de python. Al menos a mi me lo daba bastante cuando empezaba y se debe a que estás pasando un número de argumentos diferente al que espera el método al que estás llamando, en este caso new_wxFrame(). ¿Puedes poner la definición de este método y la llamada que haces contra él? Un saludo. On 5/11/05, Daniel cabrera wrote: > Hola, > acabo de hacer un GUI usando wxGlade, pero cada vez que la ejecuto me > sale el siguiente error: > > Traceback (most recent call last): > File "prueba.py", line 67, in ? > app = MyFrame(0) > File "prueba.py", line 11, in __init__ > wx.Frame.__init__(self, *args, **kwds) > File "/usr/lib/python2.3/site-packages/wxPython/frames.py", line > 151, in __init__ > self.this = framesc.new_wxFrame(*_args,**_kwargs) > TypeError: new_wxFrame() takes at least 3 arguments (1 given) > > Por favor alguna ayuda con esto. > > Gracias, > -- > Daniel Cabrera Chaparro > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From cabrerachaparro en gmail.com Thu May 12 18:22:27 2005 From: cabrerachaparro en gmail.com (Daniel cabrera) Date: Thu, 12 May 2005 18:22:27 +0200 Subject: cargar GUI In-Reply-To: <31b57125050512010124ed5e67@mail.gmail.com> References: <8565ad9050511123536e21cf4@mail.gmail.com> <31b57125050512010124ed5e67@mail.gmail.com> Message-ID: <8565ad90505120922287967b8@mail.gmail.com> el codigo es el siguiente: #!/usr/bin/env python # -*- coding: UTF-8 -*- # generated by wxGlade 0.3.5.1 on Wed May 11 09:14:10 2005 import wx class MyFrame(wx.Frame): def __init__(self, *args, **kwds): # begin wxGlade: MyFrame.__init__ kwds["style"] = wx.DEFAULT_FRAME_STYLE wx.Frame.__init__(self, *args, **kwds) self.notebook_1 = wx.Notebook(self, -1, style=0) self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1) self.text_ctrl_1 = wx.TextCtrl(self.notebook_1_pane_1, -1, "", style=wx.TE_MULTILINE) self.button_1 = wx.Button(self.notebook_1_pane_1, -1, "button_1") self.button_1_copy = wx.Button(self.notebook_1_pane_1, -1, "button_1") self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1) # Menu Bar self.frame_1_menubar = wx.MenuBar() self.SetMenuBar(self.frame_1_menubar) wxglade_tmp_menu = wx.Menu() wxglade_tmp_menu.Append(wx.NewId(), "New", "", wx.ITEM_NORMAL) self.frame_1_menubar.Append(wxglade_tmp_menu, "File") # Menu Bar end self.frame_1_statusbar = self.CreateStatusBar(1, 0) self.__set_properties() self.__do_layout() # end wxGlade def __set_properties(self): # begin wxGlade: MyFrame.__set_properties self.SetTitle("Notebook") self.SetSize((635, 443)) self.frame_1_statusbar.SetStatusWidths([-1]) # statusbar fields frame_1_statusbar_fields = ["Made with wxGlade"] for i in range(len(frame_1_statusbar_fields)): self.frame_1_statusbar.SetStatusText(frame_1_statusbar_fields[i], i) # end wxGlade def __do_layout(self): # begin wxGlade: MyFrame.__do_layout sizer_1 = wx.BoxSizer(wx.VERTICAL) sizer_3 = wx.BoxSizer(wx.VERTICAL) sizer_4 = wx.BoxSizer(wx.HORIZONTAL) sizer_3.Add(self.text_ctrl_1, 1, 0, 0) sizer_4.Add(self.button_1, 0, 0, 0) sizer_4.Add((10, 10), 0, 0, 0) sizer_4.Add(self.button_1_copy, 0, 0, 0) sizer_3.Add(sizer_4, 0, wx.TOP|wx.BOTTOM|wx.ALIGN_CENTER_HORIZONTAL, 4) self.notebook_1_pane_1.SetAutoLayout(True) self.notebook_1_pane_1.SetSizer(sizer_3) sizer_3.Fit(self.notebook_1_pane_1) sizer_3.SetSizeHints(self.notebook_1_pane_1) self.notebook_1.AddPage(self.notebook_1_pane_1, "Notebook") self.notebook_1.AddPage(self.notebook_1_pane_2, "Prueba") sizer_1.Add(wx.NotebookSizer(self.notebook_1), 1, wx.EXPAND, 0) self.SetAutoLayout(True) self.SetSizer(sizer_1) self.Layout() # end wxGlade # end of class MyFrame app = MyFrame(0) app.MainLoop() El 12/05/05, Alex Moreno escribió: > Es un error muy típico de python. Al menos a mi me lo daba bastante > cuando empezaba y se debe a que estás pasando un número de argumentos > diferente al que espera el método al que estás llamando, en este caso > new_wxFrame(). ¿Puedes poner la definición de este método y la llamada > que haces contra él? > > Un saludo. > > On 5/11/05, Daniel cabrera wrote: > > Hola, > > acabo de hacer un GUI usando wxGlade, pero cada vez que la ejecuto me > > sale el siguiente error: > > > > Traceback (most recent call last): > > File "prueba.py", line 67, in ? > > app = MyFrame(0) > > File "prueba.py", line 11, in __init__ > > wx.Frame.__init__(self, *args, **kwds) > > File "/usr/lib/python2.3/site-packages/wxPython/frames.py", line > > 151, in __init__ > > self.this = framesc.new_wxFrame(*_args,**_kwargs) > > TypeError: new_wxFrame() takes at least 3 arguments (1 given) > > > > Por favor alguna ayuda con esto. > > > > Gracias, > > -- > > Daniel Cabrera Chaparro > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Daniel Cabrera Chaparro From gestionmgd en gmail.com Thu May 12 22:32:10 2005 From: gestionmgd en gmail.com (=?iso-8859-1?B?SmVz+nMgTWFydO1uZXo=?=) Date: Thu, 12 May 2005 22:32:10 +0200 Subject: cargar GUI Message-ID: <4283bd4c.441632c8.1ad8.6edf@mx.gmail.com> Hola : Sustituyendo : app = MyFrame(0) app.MainLoop() ... con esto al final funciona : def main(): app = wx.PySimpleApp() frame = MyFrame(None) frame.Show() app.MainLoop() if __name__ == "__main__": main() Un saludo, Jesús Martínez En respuesta a : >el codigo es el siguiente: > >#!/usr/bin/env python ># -*- coding: UTF-8 -*- ># generated by wxGlade 0.3.5.1 on Wed May 11 09:14:10 2005 > >import wx > >class MyFrame(wx.Frame): > def __init__(self, *args, **kwds): > # begin wxGlade: MyFrame.__init__ > kwds["style"] = wx.DEFAULT_FRAME_STYLE > wx.Frame.__init__(self, *args, **kwds) > self.notebook_1 = wx.Notebook(self, -1, style=0) > self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1) > self.text_ctrl_1 = wx.TextCtrl(self.notebook_1_pane_1, -1, "", >style=wx.TE_MULTILINE) > self.button_1 = wx.Button(self.notebook_1_pane_1, -1, "button_1") > self.button_1_copy = wx.Button(self.notebook_1_pane_1, -1, "button_1") > self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1) > > # Menu Bar > self.frame_1_menubar = wx.MenuBar() > self.SetMenuBar(self.frame_1_menubar) > wxglade_tmp_menu = wx.Menu() > wxglade_tmp_menu.Append(wx.NewId(), "New", "", wx.ITEM_NORMAL) > self.frame_1_menubar.Append(wxglade_tmp_menu, "File") > # Menu Bar end > self.frame_1_statusbar = self.CreateStatusBar(1, 0) > > self.__set_properties() > self.__do_layout() > # end wxGlade > > def __set_properties(self): > # begin wxGlade: MyFrame.__set_properties > self.SetTitle("Notebook") > self.SetSize((635, 443)) > self.frame_1_statusbar.SetStatusWidths([-1]) > # statusbar fields > frame_1_statusbar_fields = ["Made with wxGlade"] > for i in range(len(frame_1_statusbar_fields)): > self.frame_1_statusbar.SetStatusText(frame_1_statusbar_fields[i], i) > # end wxGlade > > def __do_layout(self): > # begin wxGlade: MyFrame.__do_layout > sizer_1 = wx.BoxSizer(wx.VERTICAL) > sizer_3 = wx.BoxSizer(wx.VERTICAL) > sizer_4 = wx.BoxSizer(wx.HORIZONTAL) > sizer_3.Add(self.text_ctrl_1, 1, 0, 0) > sizer_4.Add(self.button_1, 0, 0, 0) > sizer_4.Add((10, 10), 0, 0, 0) > sizer_4.Add(self.button_1_copy, 0, 0, 0) > sizer_3.Add(sizer_4, 0, wx.TOP|wx.BOTTOM|wx.ALIGN_CENTER_HORIZONTAL, 4) > self.notebook_1_pane_1.SetAutoLayout(True) > self.notebook_1_pane_1.SetSizer(sizer_3) > sizer_3.Fit(self.notebook_1_pane_1) > sizer_3.SetSizeHints(self.notebook_1_pane_1) > self.notebook_1.AddPage(self.notebook_1_pane_1, "Notebook") > self.notebook_1.AddPage(self.notebook_1_pane_2, "Prueba") > sizer_1.Add(wx.NotebookSizer(self.notebook_1), 1, wx.EXPAND, 0) > self.SetAutoLayout(True) > self.SetSizer(sizer_1) > self.Layout() > # end wxGlade > ># end of class MyFrame > >app = MyFrame(0) >app.MainLoop() > >El 12/05/05, Alex Moreno escribió: >> Es un error muy típico de python. Al menos a mi me lo daba bastante >> cuando empezaba y se debe a que estás pasando un número de argumentos >> diferente al que espera el método al que estás llamando, en este caso >> new_wxFrame(). ¿Puedes poner la definición de este método y la llamada >> que haces contra él? >> >> Un saludo. >> >> On 5/11/05, Daniel cabrera wrote: >> > Hola, >> > acabo de hacer un GUI usando wxGlade, pero cada vez que la ejecuto me >> > sale el siguiente error: >> > >> > Traceback (most recent call last): >> > File "prueba.py", line 67, in ? >> > app = MyFrame(0) >> > File "prueba.py", line 11, in __init__ >> > wx.Frame.__init__(self, *args, **kwds) >> > File "/usr/lib/python2.3/site-packages/wxPython/frames.py", line >> > 151, in __init__ >> > self.this = framesc.new_wxFrame(*_args,**_kwargs) >> > TypeError: new_wxFrame() takes at least 3 arguments (1 given) >> > >> > Por favor alguna ayuda con esto. >> > >> > Gracias, >> > -- >> > Daniel Cabrera Chaparro >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en aditel.org >> > http://listas.aditel.org/listinfo/python-es >> > >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > >-- >Daniel Cabrera Chaparro >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cpm2k en datafull.com Thu May 12 22:40:15 2005 From: cpm2k en datafull.com (Cesar Massi) Date: Thu, 12 May 2005 17:40:15 -0300 Subject: Reportes Message-ID: <4283BF2F.4070002@datafull.com> *Es posible que este tema ya se haya hablado muchas veces, pero como nunca he participado de una discusion sobre esto, voy a preguntar. Quiero hacer un programa en python, y necesito algo para hacer reportes. Ya he visto open report, pero es demasiado tedioso programar un reporte en xml... hay algo un poco mas sencillo, o por lo menos alguna herramienta grafica para poder diseñarlos "a pluma" sin tener que programar? He visto el Acrobat Designer, y realmente es muy util, hay alguna forma de conectar esos archivos ".xdp" con python y luego grabarlos como pdf? Hay algo similar al Designer que pueda serme util? En fin gloriosa lista de python que tanto me ha ayudado, espero una respuesta de alguno que sepa mas que yo (que son casi todos ustedes) Gracias. César Massi, Rosario, Argentina. * From jordinas en gmail.com Fri May 13 12:22:45 2005 From: jordinas en gmail.com (Joan Ordinas) Date: Fri, 13 May 2005 12:22:45 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <20050511145740.65607.qmail@web50401.mail.yahoo.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> Message-ID: <9140533f0505130322373cecee@mail.gmail.com> On 5/11/05, Cesar Cardenas Desales wrote: > Hola amigos listeros. > > Recientemente he podido observar con agrado cómo ha > aumentado el número de mensajes enviados a esta lista > por parte de personas que apenas empiezan a aprender a > programar Python. Estoy de acuerdo en que hay que hacer algo para filtrar un poco los mensajes de novatos, que suelen hacer siempre las mismas preguntas. Por otro lado, he visto que en esta lista muchas veces la claridad en la redacción de las preguntas brilla por su ausencia, y también es común no poner sujeto en la pregunta o poner alguno completamente general y que no informa sobre la pregunta. Supongo que es bueno que se incorpore a Python gente sin experiencia, pero algo hay que hacer para que aquellos con experiencia no nos cansemos y nos demos de baja. Por mi parte, si fuese posible disponer de una lista para novatos y otra más avanzada, seria perfecto, pero esta solución tampoco garantiza que en la lista avanzada no se apunten novatos. Creo que para empezar habria que disponer de una FAQ, en intentar educar entre todos a los novatos. para empezar, aport una pregunta: ================ ¿Cómo hacer preguntas de forma inteligente? Consulta la FAQ de Eric Raymond sobre este tema, en español (http://foros.solocodigo.com/index.php?showtopic=5710) o en su versión original (http://www.catb.org/~esr/faqs/smart-questions.html). ================ JJOR From jcea en argo.es Fri May 13 12:32:18 2005 From: jcea en argo.es (Jesus Cea) Date: Fri, 13 May 2005 12:32:18 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <9140533f0505130322373cecee@mail.gmail.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <9140533f0505130322373cecee@mail.gmail.com> Message-ID: <42848232.60901@argo.es> > ¿Cómo hacer preguntas de forma inteligente? > > Consulta la FAQ de Eric Raymond sobre este tema, en español > (http://foros.solocodigo.com/index.php?showtopic=5710) o en su versión > original (http://www.catb.org/~esr/faqs/smart-questions.html). Yo también creo que lo prioritario es la FAQ. http://www.sindominio.net/ayuda/preguntas-inteligentes.html -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From ceritium en gmail.com Fri May 13 15:11:41 2005 From: ceritium en gmail.com (Ceritium) Date: Fri, 13 May 2005 15:11:41 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <42848232.60901@argo.es> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <9140533f0505130322373cecee@mail.gmail.com> <42848232.60901@argo.es> Message-ID: Bueno y en el mensaje de bienvenida no se podria redactar la faq? Por cierto los que tengan preguntas para añadir a la faq que la contesten tambien. O buscar alguien que nos albergue la wikipedia. On 5/13/05, Jesus Cea wrote: > > ¿Cómo hacer preguntas de forma inteligente? > > > > Consulta la FAQ de Eric Raymond sobre este tema, en español > > (http://foros.solocodigo.com/index.php?showtopic=5710) o en su versión > > original (http://www.catb.org/~esr/faqs/smart-questions.html). > > Yo también creo que lo prioritario es la FAQ. > > http://www.sindominio.net/ayuda/preguntas-inteligentes.html > > -- > Jesus Cea Avion _/_/ _/_/_/ _/_/_/ > jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ > _/_/ _/_/ _/_/_/_/_/ > PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ > "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ > "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ > "El amor es poner tu felicidad en la felicidad de otro" - Leibniz > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From dpico en dsic.upv.es Fri May 13 15:25:54 2005 From: dpico en dsic.upv.es (=?ISO-8859-1?Q?David_Pic=F3_Vila?=) Date: Fri, 13 May 2005 15:25:54 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <9140533f0505130322373cecee@mail.gmail.com> <42848232.60901@argo.es> Message-ID: <4284AAE2.1040906@dsic.upv.es> Ceritium wrote: >Bueno y en el mensaje de bienvenida no se podria redactar la faq? > >Por cierto los que tengan preguntas para añadir a la faq que la >contesten tambien. > >O buscar alguien que nos albergue la wikipedia. > ¿Y qué tal completar el wikilibro http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python con una FAQ? Supongo que no habría problema, si lo que se escribe es de calidad. Saludos David From hernan en orgmf.com.ar Fri May 13 15:35:08 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 13 May 2005 15:35:08 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: References: Message-ID: >> Yo también creo que lo prioritario es la FAQ. >> Facundo las tradujo y están disponibles en el sitio oficial de python: http://www.python.org/doc/faq/es/ (y aparecen en http://www.hispapython.org) > Bueno y en el mensaje de bienvenida no se podria > redactar la faq? También se podría agregar la URL en la página de la lista http://listas.aditel.org/listinfo/python-es Pero la verdad no creo que cambie mucho la situación. Adivinen qué aparece en primer lugar en Google: http://www.google.com/search?&q=python+preguntas+frecuentes -H. From jlloret en gmail.com Fri May 13 16:39:36 2005 From: jlloret en gmail.com (Pepe Lloret) Date: Fri, 13 May 2005 16:39:36 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <9140533f0505130322373cecee@mail.gmail.com> References: <20050511145740.65607.qmail@web50401.mail.yahoo.com> <9140533f0505130322373cecee@mail.gmail.com> Message-ID: <200505131639.36896.jlloret@gmail.com> Hola a todo el mundo, El Viernes, 13 de Mayo de 2005 12:22, Joan Ordinas escribió: > Estoy de acuerdo en que hay que hacer algo para filtrar un poco los > mensajes de novatos, que suelen hacer siempre las mismas preguntas. Totalmente de acuerdo. > Por otro lado, he visto que en esta lista muchas veces la claridad en > la redacción de las preguntas brilla por su ausencia, y también es > común no poner sujeto en la pregunta o poner alguno completamente > general y que no informa sobre la pregunta. Para eso lo que comentas tú más abajo. Leer el "Como hacer preguntas de manera inteligente" y aplicarlo, por supuesto. > Supongo que es bueno que se incorpore a Python gente sin experiencia, > pero algo hay que hacer para que aquellos con experiencia no nos > cansemos y nos demos de baja. Por mi parte, si fuese posible disponer > de una lista para novatos y otra más avanzada, seria perfecto, pero > esta solución tampoco garantiza que en la lista avanzada no se apunten > novatos. Mi opinión es la de seguir manteniendo una única lista. Porque tener dos listas no garantiza que la gente nueva o con menos conocimientos vaya a utilizar la de novatos y no la de "expertos", y tampoco se garantiza que la gente con experiencia o más conocimientos vayan a utilizar y a resolver dudas en la de novatos. Mi opinión es que la gente nueva lo primero que debe hacer es leerse el "Como hacer preguntas de manera inteligente", antes de suscribirse a cualquier lista o foro. Lo segundo invertir un poco tiempo en buscar la solución por su cuenta (es la mejor manera de aprender), y si no queda más remedio, entonces enviar la consulta. Un saludo para todos, Pepe -- Pepe Lloret http://www.pepell.com http://www.valux.org In a world without frontiers, who needs Gates and Windows? En un mundo sin fronteras, ¿quién necesita Puertas y Ventanas? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Fri May 13 16:43:57 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 13 May 2005 09:43:57 -0500 (CDT) Subject: [FAQ | Fork] de la lista? In-Reply-To: 6667 Message-ID: <20050513144357.68354.qmail@web50407.mail.yahoo.com> Por una parte, si bien ya existe la traducción de las FAQ en español, no hay respuestas para preguntas recurrentes dentro de ESTA lista, en categorías como : py2exe, reportlab, PIL, comparacion wxPython-PyQT, etc. Es necesario decidir en qué sitio habremos de colgar esas FAQ. Estoy de acuerdo en que lo ideal es que se encontraran desde la misma página de la lista, pero si alguien de aditel no contesta concediendo el espacio, tendremos que buscar otro lugar y sujetarlo a votación. Saludos --- Hernán Martínez Foffani escribió: > >> Yo también creo que lo prioritario es la FAQ. > >> > > Facundo las tradujo y están disponibles en el > sitio oficial de python: > http://www.python.org/doc/faq/es/ > (y aparecen en http://www.hispapython.org) > > > Bueno y en el mensaje de bienvenida no se podria > > redactar la faq? > > También se podría agregar la URL en la página de > la lista http://listas.aditel.org/listinfo/python-es > > Pero la verdad no creo que cambie mucho la > situación. > Adivinen qué aparece en primer lugar en Google: > http://www.google.com/search?&q=python+preguntas+frecuentes > > -H. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From acastro en ciberdroide.com Fri May 13 17:19:34 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 13 May 2005 17:19:34 +0200 (CEST) Subject: [FAQ | Fork] de la lista? In-Reply-To: References: Message-ID: On Fri, 13 May 2005, Hernán Martínez Foffani wrote: > >> Yo también creo que lo prioritario es la FAQ. > >> > > Facundo las tradujo y están disponibles en el > sitio oficial de python: > http://www.python.org/doc/faq/es/ > (y aparecen en http://www.hispapython.org) > > > Bueno y en el mensaje de bienvenida no se podria > > redactar la faq? > > También se podría agregar la URL en la página de > la lista http://listas.aditel.org/listinfo/python-es > > Pero la verdad no creo que cambie mucho la situación. > Adivinen qué aparece en primer lugar en Google: > http://www.google.com/search?&q=python+preguntas+frecuentes Convendría incluir en lugar destacado un buen directorio de enlaces la páginas de interés para novatos del lenguaje python. Manuales, Guias, Tutoriales, Ejemplos, Documentación de librerías, etc. Yo soy de la opinión de que para aprender un leguaje hay que empezar por estudiar la documentación de referencia del lenguaje y luego practicar y sobre todo leer código realizado por otros. Preguntar debe quedar como recurso cuando no se sabe donde buscar. Por ello sería muy interesante dar una serie de consejos de como y donde buscar información. Especialmente util son los programitas cortitos que se hacen con el proposito de ilustrar algun aspecto. En Linux hay varios paquetes que recopilan ejemplos. python2.4-examples - Examples for the Python language (v2.4) Yo creo que ademas de estas referencias y una FAQ de la lista sería interesante habilitar un lugar donde la gente pudiera contribuir aportando pequeños programitas, a modo de recetas. Hay que tener en cuenta que en las listas de programación continuamente se hacen preguntas del tipo como se hace esto y como se hace lo otro. También creo que en este tipo de cosas no solo tienen que involucrase gente con conocimientos, sino que los propios novatos pueden ayudar mucho y de paso les valdría para aprender. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From ceritium en gmail.com Fri May 13 17:19:29 2005 From: ceritium en gmail.com (Ceritium) Date: Fri, 13 May 2005 17:19:29 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: <20050513144357.68354.qmail@web50407.mail.yahoo.com> References: <20050513144357.68354.qmail@web50407.mail.yahoo.com> Message-ID: como ya han dicho por ahí creo que la mejor opción es esta http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python Creo que se deberia colocar la Faq entre tabla de contenidos y Python en la red, no os parece? si os parece bien les toca a los mas viejos aqui escribir las pirmeras preguntas tipicas, o las que veamos aqui de ahora en adelante. On 5/13/05, Cesar Cardenas Desales wrote: > Por una parte, si bien ya existe la traducción de las > FAQ en español, no hay respuestas para preguntas > recurrentes dentro de ESTA lista, en categorías como : > py2exe, reportlab, PIL, comparacion wxPython-PyQT, > etc. > > Es necesario decidir en qué sitio habremos de colgar > esas FAQ. Estoy de acuerdo en que lo ideal es que se > encontraran desde la misma página de la lista, pero si > alguien de aditel no contesta concediendo el espacio, > tendremos que buscar otro lugar y sujetarlo a > votación. > > Saludos > > --- Hernán Martínez Foffani > escribió: > > >> Yo también creo que lo prioritario es la FAQ. > > >> > > > > Facundo las tradujo y están disponibles en el > > sitio oficial de python: > > http://www.python.org/doc/faq/es/ > > (y aparecen en http://www.hispapython.org) > > > > > Bueno y en el mensaje de bienvenida no se podria > > > redactar la faq? > > > > También se podría agregar la URL en la página de > > la lista http://listas.aditel.org/listinfo/python-es > > > > Pero la verdad no creo que cambie mucho la > > situación. > > Adivinen qué aparece en primer lugar en Google: > > > http://www.google.com/search?&q=python+preguntas+frecuentes > > > > -H. > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _________________________________________________________ > Do You Yahoo!? > La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From ceritium en gmail.com Fri May 13 17:32:28 2005 From: ceritium en gmail.com (Ceritium) Date: Fri, 13 May 2005 17:32:28 +0200 Subject: [FAQ | Fork] de la lista? In-Reply-To: References: <20050513144357.68354.qmail@web50407.mail.yahoo.com> Message-ID: He creado una entrada para ver como se veria, pero creo que seria mejor crear algo como lo de la tabla de contenidos, pero no controlo mucho la wiki y no se :S, de todas formas ahí lo teneis como ejemplo y haber si alguien hace algo mejor que lo mio http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python#Faq On 5/13/05, Ceritium wrote: > como ya han dicho por ahí creo que la mejor opción es esta > > http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python > > Creo que se deberia colocar la Faq entre tabla de contenidos y Python > en la red, no os parece? si os parece bien les toca a los mas viejos > aqui escribir las pirmeras preguntas tipicas, o las que veamos aqui de > ahora en adelante. > > On 5/13/05, Cesar Cardenas Desales wrote: > > Por una parte, si bien ya existe la traducción de las > > FAQ en español, no hay respuestas para preguntas > > recurrentes dentro de ESTA lista, en categorías como : > > py2exe, reportlab, PIL, comparacion wxPython-PyQT, > > etc. > > > > Es necesario decidir en qué sitio habremos de colgar > > esas FAQ. Estoy de acuerdo en que lo ideal es que se > > encontraran desde la misma página de la lista, pero si > > alguien de aditel no contesta concediendo el espacio, > > tendremos que buscar otro lugar y sujetarlo a > > votación. > > > > Saludos > > > > --- Hernán Martínez Foffani > > escribió: > > > >> Yo también creo que lo prioritario es la FAQ. > > > >> > > > > > > Facundo las tradujo y están disponibles en el > > > sitio oficial de python: > > > http://www.python.org/doc/faq/es/ > > > (y aparecen en http://www.hispapython.org) > > > > > > > Bueno y en el mensaje de bienvenida no se podria > > > > redactar la faq? > > > > > > También se podría agregar la URL en la página de > > > la lista http://listas.aditel.org/listinfo/python-es > > > > > > Pero la verdad no creo que cambie mucho la > > > situación. > > > Adivinen qué aparece en primer lugar en Google: > > > > > http://www.google.com/search?&q=python+preguntas+frecuentes > > > > > > -H. > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > _________________________________________________________ > > Do You Yahoo!? > > La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > -- > http://ceritium.blogsome.com > -- http://ceritium.blogsome.com From minoztro en gmail.com Fri May 13 20:18:19 2005 From: minoztro en gmail.com (Milton inostroza) Date: Fri, 13 May 2005 14:18:19 -0400 Subject: poner en negrita label de Frame Message-ID: <172699c505051311183817205b@mail.gmail.com> hola lista: saben estoy creando de forma dinamica unos frame's, el problema que tengo es que debe dejar la etiqueta del frame en "negrita", en el Glade-2 lo puedo hacer, pero no se como hacerlo directamente con pyGtk, ayuda please...el código que estoy utilizando es el siguiente: frame=gtk.Frame("Condicion") entrada=gtk.Entry(0) frame.add(entrada) condicion la utilizo como label, ideas.....salu2!! -- Milton Inostroza Aguilera Encargado de Auspicios y Patrocinios - 6to. Encuentro Nacional de Linux Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From minoztro en gmail.com Sat May 14 08:56:13 2005 From: minoztro en gmail.com (Milton inostroza) Date: Sat, 14 May 2005 02:56:13 -0400 Subject: gtk.Calendar Message-ID: <172699c5050513235614e1a598@mail.gmail.com> hola lista: saben quiero hacer lo siguiente: tengo dos gtk.entry lo cuales me indican fecha inicio y fecha termino, para llenar estos gtk.entry utilizo el objeto gtk.Calendar, peeeeero, quiero que en la segunda llamada (fecha termino), el calendario deshabilite todas las fechas que sean anteriores a fecha inicio....un ejemplo de esto sería, si el usuario selecciona la fecha 2005-04-01 (fecha inicio), entonces cuando construya el objeto gtk.Calendar, que este automaticamente deshabilite todas las fechas menores o iguales a 2005-04-01, he buscado en la documentacion de pyGtk y no sale nada respecto a esto, he intentado realizar algo pero sin exito, les agradecería vuestra ayuda, espero que me hayan entendido, salu2! -- Milton Inostroza Aguilera Encargado de Auspicios y Patrocinios - 6to. Encuentro Nacional de Linux Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From abel.aranda en salud.madrid.org Sat May 14 15:59:13 2005 From: abel.aranda en salud.madrid.org (Aranda Arriscado, Abel) Date: Sat, 14 May 2005 15:59:13 +0200 Subject: tkinter en python Message-ID: buenas sigo realizando una plicacion con python y me encuentro con el siguiente problema,un treao d y la aplicación grafica, y lo que deseo es que la aplicacion grafica sondee cada cierto tiempo una variable global(siempre va a leer de ella nunca escribir). Alguno tiene idea de como se puede hacer esto de forma predeterminada, algun metodo para que lo estee sondeando desde que arranco la aplicacion pero que no me kite el control de esta, por ejemplo que lo sondee cada 20 segundos pero pueda seguir trabajando con la aplicacion grafica. A ver si alguien me puede ayudar ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From raro82 en hotmail.com Sun May 15 12:41:52 2005 From: raro82 en hotmail.com (Adrian Ferreres Esteller) Date: Sun, 15 May 2005 10:41:52 +0000 Subject: Expresiones regulares Message-ID: Hola a todos: ¿Os acordais de mi? soy el que esta desarrollando una araña web en python. La cosa es que, despues de hablarlo con mi profesor, la utilidad que le voy a dar a mi araña sera la de un motor de un buscador web. La idea es descargarse las paginas en el disco duro y crear una base de datos de paginas web donde los indices de acceso rapido son el contenido de dichas paginas. El problema es que para la capacidad de mi ordenador no creo que crear un indice en la base de datos de paginas web ordenadas por todas las palabras de su contenido sea inteligente asi que decidi ser selectivo. Solo clasificare las paginas web por las palabras que este dentro de las etiquetas de cabecera, de cabeza de tabla, en negrita, o que sirvan de link. Creo que la logica es sencilla: las palabras claves de una pagina, y por lo tanto las que marcan la tematica de la misma, son aquellas que estan destacadas. Para conseguir esto utilizo expresiones regulares: Una para capturar todas las etiquietas de titulos: .+ Otra para capturar las cabeceras de tablas: .+ Otras para captura las negritas: .+ .+ Y la ultima para capturar las palabras de los links: .+ Para asegurarme que estas expresiones funcionaban cree una pagina web donde habia un tipo distinto de cada una de estas estiquetas y me encontre con la sorpresa de que la expresion regular .+ me capturaba la siguiente linea: Ejemplo de cabecera de tabla Y me ignoraba la que tenia que coger: Ejemplo de negrita1 Mis preguntas son: ¿Que fallos tengo en la expresión regular de caputrar negrita? ¿Son estas expresiones regulares correctas para lo que busco conseguir? Muchas gracias a todos From ceritium en gmail.com Sun May 15 12:51:49 2005 From: ceritium en gmail.com (Ceritium) Date: Sun, 15 May 2005 12:51:49 +0200 Subject: Expresiones regulares In-Reply-To: References: Message-ID: Tal vez la cuestion sea como organizar el indize, yo personalmente ( y sin haber hecho esto nunca antes) examinaria la pagina, cogeria todas las palabras y las meteria en un indice, y a cada palabra le asociaria esa web, luego para la sigueinte paginas cogeria todas las palabras y a las ya existentes tambien le asociaria esa web y con los que no pos las añadiria e igual. Luego en otra tabla con las wbes indexadas les pondria algun dato que me indexase el orden. Asi luego en la busqueda no seria tan pesado en mi opinión. On 5/15/05, Adrian Ferreres Esteller wrote: > Hola a todos: > > ¿Os acordais de mi? soy el que esta desarrollando una araña web en > python. La cosa es que, despues de hablarlo con mi profesor, la utilidad que > le voy a dar a mi araña sera la de un motor de un buscador web. La idea es > descargarse las paginas en el disco duro y crear una base de datos de > paginas web donde los indices de acceso rapido son el contenido de dichas > paginas. El problema es que para la capacidad de mi ordenador no creo que > crear un indice en la base de datos de paginas web ordenadas por todas las > palabras de su contenido sea inteligente asi que decidi ser selectivo. Solo > clasificare las paginas web por las palabras que este dentro de las > etiquetas de cabecera, de cabeza de tabla, en negrita, o que sirvan de link. > Creo que la logica es sencilla: las palabras claves de una pagina, y por lo > tanto las que marcan la tematica de la misma, son aquellas que estan > destacadas. Para conseguir esto utilizo expresiones regulares: > > Una para capturar todas las etiquietas de titulos: > .+ > Otra para capturar las cabeceras de tablas: > .+ > Otras para captura las negritas: > .+ > .+ > Y la ultima para capturar las palabras de los links: > .+ > > Para asegurarme que estas expresiones funcionaban cree una pagina web donde > habia un tipo distinto de cada una de estas estiquetas y me encontre con la > sorpresa de que la expresion regular .+ me capturaba la siguiente > linea: > > Ejemplo de cabecera de tabla > > Y me ignoraba la que tenia que coger: > > Ejemplo de negrita1 > > Mis preguntas son: ¿Que fallos tengo en la expresión regular de caputrar > negrita? ¿Son estas expresiones regulares correctas para lo que busco > conseguir? > > Muchas gracias a todos > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From hernan en orgmf.com.ar Sun May 15 13:12:05 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sun, 15 May 2005 13:12:05 +0200 Subject: Expresiones regulares In-Reply-To: References: Message-ID: > ... y me > encontre con la sorpresa de que la expresion regular .+ me > capturaba la siguiente linea: > > Ejemplo de cabecera de tabla > > Y me ignoraba la que tenia que coger: > > Ejemplo de negrita1 > > Mis preguntas son: ¿Que fallos tengo en la expresión regular de > caputrar negrita? ¿Son estas expresiones regulares correctas para lo > que busco conseguir? a simple vista no parece haber nada raro. pero no das muchas precisiones sobre como estás construyendo las expregs ni como las estas usando. por ejemplo, ¿tienes en cuenta que las expregs son "glotonas" (devuelven el resultado mayor) además ¿cómo resuelves la anidación (una tabla dentro de otra dentro de otra y así)? ¿y que los tags en html pueden incluir varias lineas? ojo... te lo digo x experiencia las expregs para filtrar html son engañosas, "been there done that", al principio parece que funcionan con un par de ejemplos pero luego la vida se te complica mas y mas al tratar páginas reales. te será mas fácil con un parser de html y aun así no será sencillo (¿que hacer con los scripts embebidos?) -H. From ceritium en gmail.com Sun May 15 21:12:59 2005 From: ceritium en gmail.com (Ceritium) Date: Sun, 15 May 2005 21:12:59 +0200 Subject: Condicionales, split e irc Message-ID: Buenas tengo este condicional en un bot para el irc el cual tira de lujo if servin[0].split('!')[0] == "[{Bender}]": pero no se porque este no if servin[3] == "hola": en el primer caso cuando alguien con el nick [{Bender}] le habla le deberia de cumplirse el condicional y así es. En el segundo cuando cualquiera escribe "hola" tambien deberia de cumplirse, y no es así. y ya he comprobado que servin[3] devuelve hola cuando alguien escribe hola El codigo es esto : http://pegar.solusan.com/index.php?id=1116184314 y el problema está en la linea 88 gracias por adelantado. alguna idea de porque pasa esto? -- http://ceritium.blogsome.com From pepe en diselpro.com Mon May 16 11:30:48 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 16 May 2005 11:30:48 +0200 Subject: Condicionales, split e irc In-Reply-To: References: Message-ID: <200505161130.48712.pepe@diselpro.com> Así a primera vista, parece que el if de la linea 88 está mal tabulado. El Domingo, 15 de Mayo de 2005 21:12, Ceritium escribió: > Buenas tengo este condicional en un bot para el irc el cual tira de lujo > > if servin[0].split('!')[0] == "[{Bender}]": > > pero no se porque este no > if servin[3] == "hola": > > > en el primer caso cuando alguien con el nick [{Bender}] le habla le > deberia de cumplirse el condicional y así es. > > En el segundo cuando cualquiera escribe "hola" tambien deberia de > cumplirse, y no es así. y ya he comprobado que servin[3] devuelve hola > cuando alguien escribe hola > > El codigo es esto : http://pegar.solusan.com/index.php?id=1116184314 y > el problema está en la linea 88 > > gracias por adelantado. > > alguna idea de porque pasa esto? From cescd en yahoo.com.mx Mon May 16 16:41:27 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Mon, 16 May 2005 09:41:27 -0500 (CDT) Subject: tkinter en python In-Reply-To: References: Message-ID: <20050516144127.58683.qmail@web50408.mail.yahoo.com> --- "Aranda Arriscado, Abel" escribió: > > > > buenas sigo realizando una plicacion con python y me > encuentro con el siguiente problema,un treao d y la > aplicación grafica, y lo que deseo es que la > aplicacion grafica sondee cada cierto tiempo una > variable global(siempre va a leer de ella nunca > escribir). > > Alguno tiene idea de como se puede hacer esto de > forma predeterminada, algun metodo para que lo estee > sondeando desde que arranco la aplicacion pero que > no me kite el control de esta, por ejemplo que lo > sondee cada 20 segundos pero pueda seguir trabajando > con la aplicacion grafica. Lo que puedes hacer es usar el módulo sched, para lanzar un (hilo)thread cada cierto tiempo; el hilo realizará por su cuenta el sondeo que requieres: http://docs.python.org/lib/module-sched.html http://heather.cs.ucdavis.edu/~matloff/Python/PyThreads.pdf > > A ver si alguien me puede ayudar > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From erny en sicem.biz Mon May 16 23:20:03 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 16 May 2005 23:20:03 +0200 Subject: tkinter en python In-Reply-To: References: Message-ID: <42890E83.9080701@sicem.biz> En tkinter: class Application: pollInterval=100 # intervalo de poll en milisegundos def __init__(self): self.root=self.createMainWindow() # cualquier cosa aquí self.pollTaks() def createMainWindow(self): root=Tkinter.Tk() # cualquier cosa para construir interfaz ... return root def pollTask(self): # haz lo que quieras aquí ... # casda self.root.after(self.pollInterval,self.pollTask) es decir, usas .after de Tkinter.Tk o cualquier otro widget que hayas creado. La sintaxis es: widget.after(intervaloEnMilisegundos, metodo, argumento1, argumento2....). El propio procedimiento tiene que reregistrarse con after si se desea que sea periódico. Tkinter sólo te va a asegurar que el método no se va a llamar antes. Si está ocupado no va a llamar a la función. Sacado de: http://www.pythonware.com/library/tkinter/introduction/ en concreto: http://www.pythonware.com/library/tkinter/introduction/x9507-alarm-handlers-and-other.htm Erny Aranda Arriscado, Abel escribió: > >buenas sigo realizando una plicacion con python y me encuentro con el siguiente problema,un treao d y la aplicación grafica, y lo que deseo es que la aplicacion grafica sondee cada cierto tiempo una variable global(siempre va a leer de ella nunca escribir). > >Alguno tiene idea de como se puede hacer esto de forma predeterminada, algun metodo para que lo estee sondeando desde que arranco la aplicacion pero que no me kite el control de esta, por ejemplo que lo sondee cada 20 segundos pero pueda seguir trabajando con la aplicacion grafica. > > >A ver si alguien me puede ayudar > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0520-0, 16/05/2005 Comprobado en: 16/05/2005 23:20:08 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From minoztro en gmail.com Tue May 17 05:56:01 2005 From: minoztro en gmail.com (Milton inostroza) Date: Mon, 16 May 2005 23:56:01 -0400 Subject: que pena.... Message-ID: <172699c505051620565e2ce0@mail.gmail.com> me da muchisima pena, ver como el movimiento de la lista se ha reducido a cero...algo estará mal?? -- Milton Inostroza Aguilera Encargado de Auspicios y Patrocinios - 6to. Encuentro Nacional de Linux Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From ceritium en gmail.com Tue May 17 07:45:04 2005 From: ceritium en gmail.com (Ceritium) Date: Tue, 17 May 2005 07:45:04 +0200 Subject: que pena.... In-Reply-To: <172699c505051620565e2ce0@mail.gmail.com> References: <172699c505051620565e2ce0@mail.gmail.com> Message-ID: a mi tambien el ultimo mensaje fue el muy hablando de la wiki y nadia contestó "He creado una entrada para ver como se veria, pero creo que seria mejor crear algo como lo de la tabla de contenidos, pero no controlo mucho la wiki y no se :S, de todas formas ahí lo teneis como ejemplo y haber si alguien hace algo mejor que lo mio http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python#Faq " Haber si alguien por lo menos contesta a esto o si ve un sitio mejor para colocarla On 5/17/05, Milton inostroza wrote: > me da muchisima pena, ver como el movimiento de la lista se ha > reducido a cero...algo estará mal?? > > -- > Milton Inostroza Aguilera > Encargado de Auspicios y Patrocinios - 6to. Encuentro Nacional de Linux > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From py en topmusic.ch Tue May 17 09:34:06 2005 From: py en topmusic.ch (=?iso-8859-1?Q?Fran=E7ois?=) Date: Tue, 17 May 2005 09:34:06 +0200 Subject: [Python-Fr] Liens Python journaliers In-Reply-To: References: Message-ID: > L'Afpy, Association Francophone Python, lance une nouvelle section > "Liens Python journaliers": http://afpy.org/daily_url > Ces nouvelles sont des traductions journalières de l'excellent Daily > Python-URL de Pythonware. Cette source intarrissable d'informations > de la planète Python est un véritable bohneur et sa traduction, même > si elle ne concerne que le résumé de chaque entrée, apportera nous > l'esperons, une nouvelle source d'informations originales pour la > communauté francophone. C'est une bonne idée, du mois pour moi qui ne maîtrise pas toutes les subtilitées de la lanque anglaise (déjà qu'en français j'ai parfois du mal)... Pourquoi pas aussi en flux rss ? François From hernan en orgmf.com.ar Tue May 17 10:30:27 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 17 May 2005 10:30:27 +0200 Subject: que pena.... In-Reply-To: References: Message-ID: [sobre la wiki de certium] > Haber si alguien por lo menos contesta a esto o si ve un sitio mejor > para colocarla Entiendo que Erny necesita ayuda para http://www.hispapython.org En cuanto a contestar sobre tu wiki ¿qué puedo decir? Para mí todo voluntariado es admirable. En software libre es muy común ver que si hay alguien no está de acuerdo con algún proyecto, haga otro competitivo y a su gusto. El hecho de no tener intención de de hacer algo así, ya cuenta como mi opinión. ;-) [Con respecto a dividir la lista estoy en total desacuerdo.] -H. From gari en eibar.org Tue May 17 12:46:31 2005 From: gari en eibar.org (Gari Araolaza) Date: Tue, 17 May 2005 12:46:31 +0200 Subject: Mi string "no sabe" que es utf-8 Message-ID: <4289CB87.8090905@eibar.org> Hola, Mi problema recurrente: el tratamiento de strings utf-8/latin-1 Tenemos una serie de strings en un campo de MySQL 4.1.7 que los leemos desde Python. La cuestión es que ya están almacenados como utf-8, pero al leerlos desde Python, se devuelven como si fueran strings. Es decir, YA están en utf-8, pero Python cree que están en ascii: >> print a móvil >> print type(a) ¿Cómo decirle a Python que eso es ya Unicode y que lo trate como tal? ( Aprovecho para avisar de que traduje un Unicode-FAQ que me pareció interesante, pero no tiene la solución que busco. Lo mismo es interesante para alguien más... http://www.codesyntax.com/Wikia/Unicode ) Gracias From hernan en orgmf.com.ar Tue May 17 13:05:48 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 17 May 2005 13:05:48 +0200 Subject: Mi string "no sabe" que es utf-8 In-Reply-To: <4289CB87.8090905@eibar.org> References: <4289CB87.8090905@eibar.org> Message-ID: > Tenemos una serie de strings en un campo de MySQL 4.1.7 que los leemos > desde Python. La cuestión es que ya están almacenados como utf-8, pero > al leerlos desde Python, se devuelven como si fueran strings. > Es decir, YA están en utf-8, pero Python cree que están en ascii: ¿no se le puede decir al driver de mysql que devuelva cadenas unicode? >>> print a móvil >>> print type(a) mmm... ¿no será ? ¿o el MySQL tiene otro tipo de datos para cadenas? > ¿Cómo decirle a Python que eso es ya Unicode y que lo trate como tal? una vez que la instancia ya fue construida como 'str' no creo que puedas cambiarla a 'unicode' sin destruirla: a = unicode(a, "utf8") -H. From minoztro en gmail.com Tue May 17 14:09:29 2005 From: minoztro en gmail.com (Milton inostroza) Date: Tue, 17 May 2005 08:09:29 -0400 Subject: poner en negrita label de Frame In-Reply-To: <172699c505051311183817205b@mail.gmail.com> References: <172699c505051311183817205b@mail.gmail.com> Message-ID: <172699c505051705095d6982b1@mail.gmail.com> me respondo yo mismo, se hace de la siguiente forma: label1=gtk.Label() label1.set_markup("Condicion") label1.set_use_markup(gtk.TRUE) frame=gtk.Frame() frame.set_label_widget(label1) fue facil una vez que me leí la gtk references de frame y de label, espero que otro novato como yo, le sirva esta solución, salu2!!! -- Milton Inostroza Aguilera From necudeco en yahoo.es Tue May 17 14:30:42 2005 From: necudeco en yahoo.es (NeCuDeCo) Date: Tue, 17 May 2005 12:30:42 +0000 Subject: poner en negrita label de Frame In-Reply-To: <172699c505051705095d6982b1@mail.gmail.com> (from minoztro@gmail.com on Tue May 17 07:09:29 2005) References: <172699c505051311183817205b@mail.gmail.com> <172699c505051705095d6982b1@mail.gmail.com> Message-ID: <1116333042l.28200l.0l@kelthuzad> El 17/05/05 07:09:29, Milton inostroza escribió: > me respondo yo mismo, se hace de la siguiente forma: > > label1=gtk.Label() > label1.set_markup("Condicion") > label1.set_use_markup(gtk.TRUE) use_markup? eso queire decir q se podrian usar otras etiquetas mas del html, alguien a probado cuales tal vez hasta la IMG :D From erny en sicem.biz Tue May 17 14:33:45 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 17 May 2005 14:33:45 +0200 Subject: que pena.... In-Reply-To: References: Message-ID: <4289E4A9.5050700@sicem.biz> El problema es que en ese servidor, que lo tiene JDavid no se permiten Wikis, aparentemente. De hecho leo prácticamente todos los mensajes aquí, pero no tengo mucho tiempo, por eso no me he ofrecido a albergar/ montar la Wiki del FAQ. Respecto a las Wikis, en algunos sitios hemos tenido el problema que la gente está usándolos para meter spam. Tengo pendiente mover esto a otro sitio donde pueda hacer más cosas. (tenemos una cuenta Python-hosting infrautilizada, tenemos un proyecto con la Univ. Granada). Por cierto, si hay alguien que se ofrece, estoy encantado de redirigir los dominios que además tengo que renoverlos ahora (hispapython.org, hispapython.net, python-es.org) Un saludo, Erny Hernán Martínez Foffani escribió: >[sobre la wiki de certium] > > >>Haber si alguien por lo menos contesta a esto o si ve un sitio mejor >>para colocarla >> >> > >Entiendo que Erny necesita ayuda para http://www.hispapython.org > >En cuanto a contestar sobre tu wiki ¿qué puedo decir? Para mí todo >voluntariado es admirable. En software libre es muy común ver que >si hay alguien no está de acuerdo con algún proyecto, haga otro >competitivo y a su gusto. El hecho de no tener intención de >de hacer algo así, ya cuenta como mi opinión. ;-) > >[Con respecto a dividir la lista estoy en total desacuerdo.] > >-H. > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0520-0, 16/05/2005 Comprobado en: 17/05/2005 14:33:47 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From lordzealon en ono.com Mon May 16 15:11:27 2005 From: lordzealon en ono.com (Lord_ZealoN) Date: Mon, 16 May 2005 15:11:27 +0200 Subject: =?iso-8859-1?q?=BFSistema_operativo_en_python=3F?= Message-ID: <42889BFF.7030505@ono.com> En un lugar de la lista de cuyo día no puedo acordarme, se habló del desarrollo de un sistema operativo escrito en python (o al menos eso creo recordar) Alguien recuerda la web de este proyecto? Me gustaría ver los avances. He estado mirando en google pero no me dice nada el muy cashoperro. Un saludo. -- Giuseppe Luigi Punzi Linux User: #370919 Murcia / España From jcanto en hispasec.com Tue May 17 15:20:33 2005 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 17 May 2005 15:20:33 +0200 Subject: =?ISO-8859-1?Q?=BFSistema_operativo_en_pyt?= =?ISO-8859-1?Q?hon=3F?= In-Reply-To: <42889BFF.7030505@ono.com> References: <42889BFF.7030505@ono.com> Message-ID: <4289EFA1.8040802@hispasec.com> Lord_ZealoN wrote: > En un lugar de la lista de cuyo día no puedo acordarme, se habló del > desarrollo de un sistema operativo escrito en python (o al menos eso > creo recordar) > > Alguien recuerda la web de este proyecto? Me gustaría ver los avances. > > He estado mirando en google pero no me dice nada el muy cashoperro. > Un saludo. > Me dejas de piedra pomez. Si es verdad que eso existe, me encantara saber tambien como es a nivel arquitectura. Un saludo, JC From efoncu en agali.org Tue May 17 15:23:03 2005 From: efoncu en agali.org (Ezequiel Foncubierta) Date: Tue, 17 May 2005 15:23:03 +0200 Subject: =?ISO-8859-1?Q?=BFSistema?= operativo en python? In-Reply-To: <42889BFF.7030505@ono.com> References: <42889BFF.7030505@ono.com> Message-ID: <1116336183.23527.0.camel@localhost.localdomain> Unununium, así se llama: http://www.unununium.org/ Un saludo. El lun, 16-05-2005 a las 15:11 +0200, Lord_ZealoN escribió: > En un lugar de la lista de cuyo día no puedo acordarme, se habló del > desarrollo de un sistema operativo escrito en python (o al menos eso > creo recordar) > > Alguien recuerda la web de este proyecto? Me gustaría ver los avances. > > He estado mirando en google pero no me dice nada el muy cashoperro. > > Un saludo. > -- Ezequiel Foncubierta Estévez - http://mogurito.agali.org Asociación de Gaditanos Linuxeros - http://www.agali.org efoncu en agali.org - mogurito en gmail.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Tue May 17 16:06:48 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 17 May 2005 16:06:48 +0200 Subject: =?iso-8859-1?Q?Re:_=5BPython-es=5D_=BFSistema_operativo_en_python=3F?= References: <42889BFF.7030505@ono.com> <4289EFA1.8040802@hispasec.com> Message-ID: <003c01c55ae9$aae74450$d900a8c0@catalin> En la siguiente dirección teneis más información: http://unununium.org/ Un saludo, Catalin From pachi en mmn-arquitectos.com Tue May 17 16:12:32 2005 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Tue, 17 May 2005 16:12:32 +0200 Subject: poner en negrita label de Frame In-Reply-To: <1116333042l.28200l.0l@kelthuzad> References: <172699c505051311183817205b@mail.gmail.com> <172699c505051705095d6982b1@mail.gmail.com> <1116333042l.28200l.0l@kelthuzad> Message-ID: <4289FBD0.5000008@mmn-arquitectos.com> NeCuDeCo wrote: > label1.set_use_markup(gtk.TRUE) > > use_markup? eso queire decir q se podrian usar otras etiquetas mas > del html, alguien a probado cuales tal vez hasta la IMG :D No, solamente se puede utilizar un subconjunto reducido llamado Pango Markup. http://www.pygtk.org/pygtk2reference/pango-markup-language.html Saludos, Pachi From pachi en mmn-arquitectos.com Tue May 17 16:19:03 2005 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Tue, 17 May 2005 16:19:03 +0200 Subject: gtk.Calendar In-Reply-To: <172699c5050513235614e1a598@mail.gmail.com> References: <172699c5050513235614e1a598@mail.gmail.com> Message-ID: <4289FD57.2060007@mmn-arquitectos.com> Milton inostroza wrote: >hola lista: > >saben quiero hacer lo siguiente: > >tengo dos gtk.entry lo cuales me indican fecha inicio y fecha termino, >para llenar estos gtk.entry utilizo el objeto gtk.Calendar, peeeeero, >quiero que en la segunda llamada (fecha termino), el calendario >deshabilite todas las fechas que sean anteriores a fecha inicio....un >ejemplo de esto sería, si el usuario selecciona la fecha 2005-04-01 >(fecha inicio), entonces cuando construya el objeto gtk.Calendar, que >este automaticamente deshabilite todas las fechas menores o iguales a >2005-04-01, he buscado en la documentacion de pyGtk y no sale nada >respecto a esto, he intentado realizar algo pero sin exito, les >agradecería vuestra ayuda, espero que me hayan entendido, salu2! > > Como ayuda visual puedes usar las marcas para los días que no se pueden utilizar, y luego gestionar tú en la retrollamada de day-selected si se admite la selección o no (si seleccionan una fecha no válida puedes seleccionar la primera posible, advertir de la imposibilidad de esa elección, hacer sonar una sirena o lo que decidas). Es decir... creo que tienes que encargarte tú del comportamiento del calendario. Saludos, Pachi From cescd en yahoo.com.mx Tue May 17 17:05:14 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Tue, 17 May 2005 10:05:14 -0500 (CDT) Subject: que pena.... In-Reply-To: 6667 Message-ID: <20050517150514.10409.qmail@web50407.mail.yahoo.com> Ya revisé el Wiki y me agrada. En estos días he tenido mucho trabajo, pero en mis ratos libres gustosamente le iré agregando cosas. César --- Ceritium escribió: > a mi tambien el ultimo mensaje fue el muy hablando > de la wiki y nadia contestó > > "He creado una entrada para ver como se veria, pero > creo que seria > mejor crear algo como lo de la tabla de contenidos, > pero no controlo > mucho la wiki y no se :S, de todas formas ahí lo > teneis como ejemplo y > haber si alguien hace algo mejor que lo mio > > http://es.wikibooks.org/wiki/Inmersi%C3%B3n_en_Python#Faq > > " > > Haber si alguien por lo menos contesta a esto o si > ve un sitio mejor > para colocarla > > > On 5/17/05, Milton inostroza > wrote: > > me da muchisima pena, ver como el movimiento de la > lista se ha > > reducido a cero...algo estará mal?? > > > > -- > > Milton Inostroza Aguilera > > Encargado de Auspicios y Patrocinios - 6to. > Encuentro Nacional de Linux > > Desarrollador de RemuneX (sistema de > remuneraciones amparado bajo GPL) > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > -- > http://ceritium.blogsome.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From minoztro en gmail.com Wed May 18 00:03:52 2005 From: minoztro en gmail.com (Milton inostroza) Date: Tue, 17 May 2005 18:03:52 -0400 Subject: problema al rescatar fecha (formato) Message-ID: <172699c505051715031a61865@mail.gmail.com> hola lista: saben estoy rescatando una fecha de la base de datos y la estoy imprimiendo en una gtk.entry, peeeero a parte de la fecha me imprime lo siguiente: 2024-11-16 00:00:00.00 Observe la tabla en cuestión y el campo es de tipo Date, me fui a la documentacion de postgresql y me dice que los campos Date deben arrojar solamente 2024-11-16, debido a esto me fui a la consola y realice un: select fecha_inicio_prestamo from tabla; lo que me arrojó: fecha_inicio_prestamo ----------------------- 2005-05-16 2005-05-09 2005-05-09 (3 filas) , es decir lo mismo que sale en el manual, alguien sabe el por qué de esta diferencia....debo hacer algún tipo de conversion??, o algo similar en Python...ahh se me olvidaba cuando inserto la fecha lo hago de esta forma: insert into tabla (fecha_inicio_prestamo) values ('2005-05-16'); salu2!! -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From efoncu en agali.org Wed May 18 00:43:21 2005 From: efoncu en agali.org (Ezequiel Foncubierta) Date: Wed, 18 May 2005 00:43:21 +0200 Subject: Nombre de modulos heredados Message-ID: <1116369801.24879.3.camel@localhost.localdomain> Hola, veamos. Tengo una clase A en un módulo A, que hereda de una clase B en un módulo B. Ésta clase B, a su vez, hereda de una clase C en un módulo C. El problema, es que C ejecuta __init__ y no se como sacar el nombre de la clase que está ejecutando ese __init__. Supongamos que tengo una clase D en un módulo D, que también hereda de B, como la clase A. ¿Como puedo saber desde C.__init, que clase ha sido la que se ha instanciado? Un saludo. -- Ezequiel Foncubierta Estévez - http://mogurito.agali.org Asociación de Gaditanos Linuxeros - http://www.agali.org efoncu en agali.org - mogurito en gmail.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From minoztro en gmail.com Wed May 18 01:14:24 2005 From: minoztro en gmail.com (Milton inostroza) Date: Tue, 17 May 2005 19:14:24 -0400 Subject: problema con string, quiero pasarlo a una lista Message-ID: <172699c50505171614194692b3@mail.gmail.com> hola lista: tengo el siguiente string: [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] y lo deseo pasar igual como está a una lista, esto realizando lo siguiente pero no me resulta: import re self.regexp=re.compile("[0-9]+'") cadena=str(c[0][1]) numeros=self.regexp.findall(cadena) resultado=[str(i) for i in numeros] el resultado de esto es: ["1'", "02'", "2341'", "2'", "02'", "2341'", "3'", "02'", "2341'", "4'", "02'", "2341'"], si se dan cuenta este codigo separa las fechas y deja toda la informacion en una sola lista y quiero que quede igual al string inicial pero almacenado en una lista, salu2!!! -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From dlopez en aditel.org Wed May 18 01:19:36 2005 From: dlopez en aditel.org (Darío López Llueca) Date: Wed, 18 May 2005 01:19:36 +0200 Subject: problema con string, quiero pasarlo a una lista In-Reply-To: <172699c50505171614194692b3@mail.gmail.com> References: <172699c50505171614194692b3@mail.gmail.com> Message-ID: <20050517231936.GA338@aditel.org> On Tue, May 17, 2005 at 07:14:24PM -0400, Milton inostroza wrote: > hola lista: > > tengo el siguiente string: > > [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', > '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] > > y lo deseo pasar igual como está a una lista, esto realizando lo > siguiente pero no me resulta: > > import re > self.regexp=re.compile("[0-9]+'") > cadena=str(c[0][1]) > numeros=self.regexp.findall(cadena) > resultado=[str(i) for i in numeros] > > el resultado de esto es: > ["1'", "02'", "2341'", "2'", "02'", "2341'", "3'", "02'", "2341'", > "4'", "02'", "2341'"], > > si se dan cuenta este codigo separa las fechas y deja toda la > informacion en una sola lista y quiero que quede igual al string > inicial pero almacenado en una lista, salu2!!! > Creo que, si he entendido bien, la solucion en este caso es muy simple. Simplemente haz un eval de la cadena: >>> eval ("[['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], >>> ['3','2005-08-02', '2341'], ['4', '2005-09-02', '2341']]") [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] >>> eval ("[['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], >>> ['3','2005-08-02', '2341'], ['4', '2005-09-02', '2341']]")[0][0] '1' Venga, suerte :) > -- > Milton Inostroza Aguilera > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Customer: "My palmtop won't turn on." Tech Support: "Did the battery run out, maybe?" Customer: "No, it doesn't use batteries. It's Windows powered." From minoztro en gmail.com Wed May 18 01:28:59 2005 From: minoztro en gmail.com (Milton inostroza) Date: Tue, 17 May 2005 19:28:59 -0400 Subject: problema con string, quiero pasarlo a una lista In-Reply-To: <20050517231936.GA338@aditel.org> References: <172699c50505171614194692b3@mail.gmail.com> <20050517231936.GA338@aditel.org> Message-ID: <172699c5050517162869f24c6b@mail.gmail.com> ok, te pasaste, muy amable El 17/05/05, Darío López Llueca escribió: > On Tue, May 17, 2005 at 07:14:24PM -0400, Milton inostroza wrote: > > hola lista: > > > > tengo el siguiente string: > > > > [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', > > '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] > > > > y lo deseo pasar igual como está a una lista, esto realizando lo > > siguiente pero no me resulta: > > > > import re > > self.regexp=re.compile("[0-9]+'") > > cadena=str(c[0][1]) > > numeros=self.regexp.findall(cadena) > > resultado=[str(i) for i in numeros] > > > > el resultado de esto es: > > ["1'", "02'", "2341'", "2'", "02'", "2341'", "3'", "02'", "2341'", > > "4'", "02'", "2341'"], > > > > si se dan cuenta este codigo separa las fechas y deja toda la > > informacion en una sola lista y quiero que quede igual al string > > inicial pero almacenado en una lista, salu2!!! > > > Creo que, si he entendido bien, la solucion en este caso es muy simple. > Simplemente haz un eval de la cadena: > > >>> eval ("[['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], > >>> ['3','2005-08-02', '2341'], ['4', '2005-09-02', '2341']]") > [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', > '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] > >>> eval ("[['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], > >>> ['3','2005-08-02', '2341'], ['4', '2005-09-02', '2341']]")[0][0] > '1' > > Venga, suerte :) > > -- > > Milton Inostroza Aguilera > > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > -- > Customer: "My palmtop won't turn on." > Tech Support: "Did the battery run out, maybe?" > Customer: "No, it doesn't use batteries. It's Windows powered." > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From dlopez en aditel.org Wed May 18 01:41:06 2005 From: dlopez en aditel.org (Darío López Llueca) Date: Wed, 18 May 2005 01:41:06 +0200 Subject: problema con string, quiero pasarlo a una lista In-Reply-To: <172699c5050517162869f24c6b@mail.gmail.com> References: <172699c50505171614194692b3@mail.gmail.com> <20050517231936.GA338@aditel.org> <172699c5050517162869f24c6b@mail.gmail.com> Message-ID: <20050517234106.GA21218@aditel.org> On Tue, May 17, 2005 at 07:28:59PM -0400, Milton inostroza wrote: > ok, te pasaste, muy amable En que me he pasado? :S > > El 17/05/05, Darío López Llueca escribió: > > On Tue, May 17, 2005 at 07:14:24PM -0400, Milton inostroza wrote: > > > hola lista: > > > > > > tengo el siguiente string: > > > > > > [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', > > > '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] > > > > > > y lo deseo pasar igual como está a una lista, esto realizando lo > > > siguiente pero no me resulta: > > > > > > import re > > > self.regexp=re.compile("[0-9]+'") > > > cadena=str(c[0][1]) > > > numeros=self.regexp.findall(cadena) > > > resultado=[str(i) for i in numeros] > > > > > > el resultado de esto es: > > > ["1'", "02'", "2341'", "2'", "02'", "2341'", "3'", "02'", "2341'", > > > "4'", "02'", "2341'"], > > > > > > si se dan cuenta este codigo separa las fechas y deja toda la > > > informacion en una sola lista y quiero que quede igual al string > > > inicial pero almacenado en una lista, salu2!!! > > > > > Creo que, si he entendido bien, la solucion en este caso es muy simple. > > Simplemente haz un eval de la cadena: > > > > >>> eval ("[['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], > > >>> ['3','2005-08-02', '2341'], ['4', '2005-09-02', '2341']]") > > [['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], ['3', > > '2005-08-02', '2341'], ['4', '2005-09-02', '2341']] > > >>> eval ("[['1', '2005-06-02', '2341'], ['2', '2005-07-02', '2341'], > > >>> ['3','2005-08-02', '2341'], ['4', '2005-09-02', '2341']]")[0][0] > > '1' > > > > Venga, suerte :) > > > -- > > > Milton Inostroza Aguilera > > > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > -- > > Customer: "My palmtop won't turn on." > > Tech Support: "Did the battery run out, maybe?" > > Customer: "No, it doesn't use batteries. It's Windows powered." > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > -- > Milton Inostroza Aguilera > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Customer: "My palmtop won't turn on." Tech Support: "Did the battery run out, maybe?" Customer: "No, it doesn't use batteries. It's Windows powered." From minoztro en gmail.com Wed May 18 01:44:00 2005 From: minoztro en gmail.com (Milton inostroza) Date: Tue, 17 May 2005 19:44:00 -0400 Subject: problema con string, quiero pasarlo a una lista In-Reply-To: <20050517234106.GA21218@aditel.org> References: <172699c50505171614194692b3@mail.gmail.com> <20050517231936.GA338@aditel.org> <172699c5050517162869f24c6b@mail.gmail.com> <20050517234106.GA21218@aditel.org> Message-ID: <172699c505051716443a525e75@mail.gmail.com> ahh, perdon...te pasaste=eres muy amable todo ha resultado bien ....., salu2!! desde Chile -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From al3xmor3no en gmail.com Wed May 18 02:41:53 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Wed, 18 May 2005 02:41:53 +0200 Subject: problema con string, quiero pasarlo a una lista In-Reply-To: <172699c505051716443a525e75@mail.gmail.com> References: <172699c50505171614194692b3@mail.gmail.com> <20050517231936.GA338@aditel.org> <172699c5050517162869f24c6b@mail.gmail.com> <20050517234106.GA21218@aditel.org> <172699c505051716443a525e75@mail.gmail.com> Message-ID: <31b5712505051717416b3ffba7@mail.gmail.com> jajajaja... aquí es más bien, "ya te vale tio"... no se os ocurra usar la palabra pillar, tan común en España jajajaja... Un saludo. On 5/18/05, Milton inostroza wrote: > ahh, perdon...te pasaste=eres muy amable todo ha resultado bien ....., > salu2!! desde Chile > > -- > Milton Inostroza Aguilera > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From minoztro en gmail.com Wed May 18 08:30:18 2005 From: minoztro en gmail.com (Milton inostroza) Date: Wed, 18 May 2005 02:30:18 -0400 Subject: problema al rescatar fecha (formato) In-Reply-To: <172699c505051715031a61865@mail.gmail.com> References: <172699c505051715031a61865@mail.gmail.com> Message-ID: <172699c505051723304f54988b@mail.gmail.com> esto es lo que me sale si es que imprimo el resultado del fetch_all() Como puedo hacer para que solamente me imprima la fecha, no me interesa las horas, minutos, segundos..., debo realizar algun cambio de tipo??, porque veo que python la Reconoce como DateTime y yo en la base de datos la tengo como solamente Date, por vuestra ayuda, gracias -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From fxn en hashref.com Wed May 18 08:44:29 2005 From: fxn en hashref.com (Xavier Noria) Date: Wed, 18 May 2005 08:44:29 +0200 Subject: Nombre de modulos heredados In-Reply-To: <1116369801.24879.3.camel@localhost.localdomain> References: <1116369801.24879.3.camel@localhost.localdomain> Message-ID: On May 18, 2005, at 0:43, Ezequiel Foncubierta wrote: > Hola, > > veamos. Tengo una clase A en un módulo A, que hereda de una clase B en > un módulo B. Ésta clase B, a su vez, hereda de una clase C en un > módulo > C. > > El problema, es que C ejecuta __init__ y no se como sacar el nombre de > la clase que está ejecutando ese __init__. > > Supongamos que tengo una clase D en un módulo D, que también hereda de > B, como la clase A. ¿Como puedo saber desde C.__init, que clase ha > sido El self que se pasa a C.__init__ ya lo creo Python del tipo que toca: % cat foo.py class Foo: def __init__(self): print "in Foo", self.__class__ % cat bar.py import foo class Bar(foo.Foo): pass % cat baz.py import bar class Baz(bar.Bar): pass % python Python 2.4.1 (#1, Mar 30 2005, 16:23:57) [GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import baz >>> baz.Baz() in Foo baz.Baz -- fxn From joepc74 en gmail.com Wed May 18 09:46:38 2005 From: joepc74 en gmail.com (JoePC) Date: Wed, 18 May 2005 09:46:38 +0200 Subject: problema al rescatar fecha (formato) In-Reply-To: <172699c505051723304f54988b@mail.gmail.com> References: <172699c505051715031a61865@mail.gmail.com> <172699c505051723304f54988b@mail.gmail.com> Message-ID: <54af49c1050518004651f0f6ed@mail.gmail.com> A mi me esta pasando lo mismo con access, y estoy investigando, a ver si alguien nos ayuda. El 18/05/05, Milton inostroza escribió: > esto es lo que me sale si es que imprimo el resultado del fetch_all() > > > > Como puedo hacer para que solamente me imprima la fecha, no me > interesa las horas, minutos, segundos..., debo realizar algun cambio > de tipo??, porque veo que python la Reconoce como DateTime y yo en la > base de datos la tengo como solamente Date, por vuestra ayuda, gracias > > > -- > Milton Inostroza Aguilera > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From antonio.beamud en linkend.net Wed May 18 09:54:15 2005 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Wed, 18 May 2005 09:54:15 +0200 Subject: problema al rescatar fecha (formato) In-Reply-To: <54af49c1050518004651f0f6ed@mail.gmail.com> References: <172699c505051715031a61865@mail.gmail.com> <172699c505051723304f54988b@mail.gmail.com> <54af49c1050518004651f0f6ed@mail.gmail.com> Message-ID: <1116402855.1825.8.camel@homer.linkend.net> Con el objeto DateTime formateais la salidad como querais con: dateobj.strftime('%Y-%m%-d') Saludos El mié, 18-05-2005 a las 09:46 +0200, JoePC escribió: > A mi me esta pasando lo mismo con access, y estoy investigando, a ver > si alguien nos ayuda. > > El 18/05/05, Milton inostroza escribió: > > esto es lo que me sale si es que imprimo el resultado del fetch_all() > > > > > > > > Como puedo hacer para que solamente me imprima la fecha, no me > > interesa las horas, minutos, segundos..., debo realizar algun cambio > > de tipo??, porque veo que python la Reconoce como DateTime y yo en la > > base de datos la tengo como solamente Date, por vuestra ayuda, gracias > > > > > > -- > > Milton Inostroza Aguilera > > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From antonio.beamud en linkend.net Wed May 18 09:54:57 2005 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Wed, 18 May 2005 09:54:57 +0200 Subject: problema al rescatar fecha (formato) In-Reply-To: <1116402855.1825.8.camel@homer.linkend.net> References: <172699c505051715031a61865@mail.gmail.com> <172699c505051723304f54988b@mail.gmail.com> <54af49c1050518004651f0f6ed@mail.gmail.com> <1116402855.1825.8.camel@homer.linkend.net> Message-ID: <1116402897.1825.10.camel@homer.linkend.net> Perdón: dateobj.strftime('%Y-%m-%d') El mié, 18-05-2005 a las 09:54 +0200, Antonio Beamud Montero escribió: > Con el objeto DateTime formateais la salidad como querais con: > > dateobj.strftime('%Y-%m%-d') > > Saludos > > El mié, 18-05-2005 a las 09:46 +0200, JoePC escribió: > > A mi me esta pasando lo mismo con access, y estoy investigando, a ver > > si alguien nos ayuda. > > > > El 18/05/05, Milton inostroza escribió: > > > esto es lo que me sale si es que imprimo el resultado del fetch_all() > > > > > > > > > > > > Como puedo hacer para que solamente me imprima la fecha, no me > > > interesa las horas, minutos, segundos..., debo realizar algun cambio > > > de tipo??, porque veo que python la Reconoce como DateTime y yo en la > > > base de datos la tengo como solamente Date, por vuestra ayuda, gracias > > > > > > > > > -- > > > Milton Inostroza Aguilera > > > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From raro82 en hotmail.com Wed May 18 10:47:33 2005 From: raro82 en hotmail.com (Adrian Ferreres Esteller) Date: Wed, 18 May 2005 08:47:33 +0000 Subject: Expresiones regulares Message-ID: Ceritium escribio: Tal vez la cuestion sea como organizar el indize, yo personalmente ( y sin haber hecho esto nunca antes) examinaria la pagina, cogeria todas las palabras y las meteria en un indice, y a cada palabra le asociaria esa web, luego para la sigueinte paginas cogeria todas las palabras y a las ya existentes tambien le asociaria esa web y con los que no pos las añadiria e igual. Luego en otra tabla con las wbes indexadas les pondria algun dato que me indexase el orden. Asi luego en la busqueda no seria tan pesado en mi opinión. Esto es lo que voy a hacer. Pero la pregunta es ¿cuantas paginas puedo alamecenar en mi ordenador de esta manera? Tu piensa que, apesar de que esto es para aprobar la penultima asignatura de mi carrera, el buscador tiene que funcionar en mi PC que no en un mega cluster conectado con mil disco duros etc... La idea es reducir al minimo el espacio y la lineas de la base de datos. Por eso selecciona las palabras que estan en negrita, que tiene los enlaces o que estan en cabeceras y ademas descrimino palabras carentes de significado por si mismas como "el", "la", "los", "a", "ante", "por", etc..... Además pienso que no me voy de mucho porque una persona no destacaria ninguna palabra en su página web si no fuera bastante significativa en cuanto a su tematica se refiere. Hernan Martinez escribio: a simple vista no parece haber nada raro. pero no das muchas precisiones sobre como estás construyendo las expregs ni como las estas usando. por ejemplo, ¿tienes en cuenta que las expregs son "glotonas" (devuelven el resultado mayor) además ¿cómo resuelves la anidación (una tabla dentro de otra dentro de otra y así)? ¿y que los tags en html pueden incluir varias lineas? ojo... te lo digo x experiencia las expregs para filtrar html son engañosas, "been there done that", al principio parece que funcionan con un par de ejemplos pero luego la vida se te complica mas y mas al tratar páginas reales. te será mas fácil con un parser de html y aun así no será sencillo (¿que hacer con los scripts embebidos?) Con lo de contruir las expresiones no se muy bien a que te refieres. Yo utilizo la libreria de python re. Ejemplo: expr=".+" mi_expr=re.compile (expr) En cuanto a si considero que pueden haber etiquetas anidadas y eso pues la verdad todavia no me lo habia planteado. La idea era coger toda la linea y trabajar con ella luego eliminando todas las etiquetas que supuestamente estan contenidas entre los caracteres "<" y ">" para quedarme solamente con las palabras. Lo de los intro y espaciones en blanco supuestamente tambien esta tomado en consideracion en las expresiones anteriores pues el signo "." incluye tambien los caracteres "\r \n" que es el de intro y todos los demas Y, diculpando mi ignorancia, ¿que es un parse html? ¿Donde puedo encontra manuales para que me enseñen a usarlo? Si este camino que tomo es muy complicado ¿alguien me puede indicar otra manera de hacer los mismo mas facil? Muchas gracias a todos From efoncu en agali.org Wed May 18 11:31:18 2005 From: efoncu en agali.org (Ezequiel Foncubierta) Date: Wed, 18 May 2005 11:31:18 +0200 Subject: Nombre de modulos heredados In-Reply-To: References: <1116369801.24879.3.camel@localhost.localdomain> Message-ID: <1116408679.25738.2.camel@localhost.localdomain> Ok. Muchas gracias. Yo al final lo he sacado en el __init__ con self.__module__, que devuelve el nombre del modulo que lo esta ejecutando. Aunque para este caso me sirve, al tener la clase el mismo nombre del modulo, pero claro, de esa forma saco el nombre de la clase que es lo más lógico. Un saludo. El mié, 18-05-2005 a las 08:44 +0200, Xavier Noria escribió: > On May 18, 2005, at 0:43, Ezequiel Foncubierta wrote: > > > Hola, > > > > veamos. Tengo una clase A en un módulo A, que hereda de una clase B en > > un módulo B. Ésta clase B, a su vez, hereda de una clase C en un > > módulo > > C. > > > > El problema, es que C ejecuta __init__ y no se como sacar el nombre de > > la clase que está ejecutando ese __init__. > > > > Supongamos que tengo una clase D en un módulo D, que también hereda de > > B, como la clase A. ¿Como puedo saber desde C.__init, que clase ha > > sido > > El self que se pasa a C.__init__ ya lo creo Python del tipo que toca: > > % cat foo.py > class Foo: > def __init__(self): > print "in Foo", self.__class__ > % cat bar.py > import foo > > class Bar(foo.Foo): > pass > % cat baz.py > import bar > > class Baz(bar.Bar): > pass > % python > Python 2.4.1 (#1, Mar 30 2005, 16:23:57) > [GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> import baz > >>> baz.Baz() > in Foo baz.Baz > > > -- fxn_______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Ezequiel Foncubierta Estévez - http://mogurito.agali.org Asociación de Gaditanos Linuxeros - http://www.agali.org efoncu en agali.org - mogurito en gmail.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Wed May 18 11:49:52 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Wed, 18 May 2005 11:49:52 +0200 Subject: Expresiones regulares In-Reply-To: References: Message-ID: > Con lo de contruir las expresiones no se muy bien a que te refieres. > Yo utilizo la libreria de python re. > Ejemplo: > > expr=".+" > mi_expr=re.compile (expr) Me refiero a que no dices mucho de cómo estás usando las expregs. No se qué problemas estás teniendo: >>> import re >>> expr=".+" >>> mi_expr=re.compile (expr) >>> mi_expr.findall("bla bla ... pepe blah blah") ['pepe'] >>> mi_expr.findall("etcxxyyy") [] >>> > En cuanto a si considero que pueden haber etiquetas anidadas y eso > pues la verdad todavia no me lo habia planteado. La idea era coger > toda la linea y trabajar con ella luego eliminando todas las > etiquetas que supuestamente estan contenidas entre los caracteres "<" > y ">" para quedarme solamente con las palabras. Un ejemplo del problema de glotoneria: >>> mi_expr.findall("...pepejuanacholi...") ['pepejuanacholi'] Un ejemplo del problema de anidacion (que en el fondo es lo mismo): >>> mi_expr.findall("...pepecholi...") ['pepecholi'] Aunque al final logres separar pepe, choli y juana no obtendrás ninguna relación válida entre los contenidos y los tags buscados. > Lo de los intro y espaciones en blanco supuestamente tambien esta > tomado en consideracion en las expresiones anteriores pues el signo > "." incluye tambien los caracteres "\r \n" que es el de intro y todos > los demas Pues va a ser que no ;-) >>> mi_expr.findall("bla bla ... pepe\n blah blah") [] >>> Si procesas línea a línea como dices en el primer párrafo, no podrás incluir los saltos de línea (uno excluye lo otro). Si procesas todo el contenido junto como un string, tienes que especificar que usarás MULTILINE (lee la doc) > Y, diculpando mi ignorancia, ¿que es un parse html? ¿Donde puedo > encontra manuales para que me enseñen a usarlo? html es un lenguaje y como tal tiene una gramática. Para procesar una gramática necesitas un analizador sintáctico (un parser), no es posible hacerlo bien con uno léxico (expresiones regulares) La biblioteca estandar de Python incluye uno (HTMLParser) El inconveniente es que no puede procesar javascript embebido (habría que quitarlo antes) y que la gramática es estricta (un navegar puede aceptar html con errores, este parser no) El segundo problema se podría resolver "limpiando" la página antes de procesarla (podrías usar Tidy http://utidylib.berlios.de/) > Si este camino que tomo es muy complicado ¿alguien me puede indicar > otra manera de hacer los mismo mas facil? Depende del resultado que quieras lograr. Con expresiones regulares obtendrás algo sin demasiadas complicaciones pero seguramente será incompleto y quizás hasta erróneo. Aun así a lo mejor te es suficiente... -H. From forodejazz en gmail.com Wed May 18 11:52:46 2005 From: forodejazz en gmail.com (=?ISO-8859-1?Q?David_Asorey_=C1lvarez?=) Date: Wed, 18 May 2005 11:52:46 +0200 Subject: Expresiones regulares In-Reply-To: References: Message-ID: > [...] > Creo que la logica es sencilla: las palabras claves de una pagina, y por lo > tanto las que marcan la tematica de la misma, son aquellas que estan > destacadas. Para conseguir esto utilizo expresiones regulares: > > Una para capturar todas las etiquietas de titulos: > .+ > Otra para capturar las cabeceras de tablas: > .+ > Otras para captura las negritas: > .+ > .+ > Y la ultima para capturar las palabras de los links: > .+ > > Para asegurarme que estas expresiones funcionaban cree una pagina web donde > habia un tipo distinto de cada una de estas estiquetas y me encontre > con la [... sigue ...] ¿Has leído el capítulo de Dive into Python dedicado al 'HTML processing'? Échale un vistazo, que puede que te ahorre mucho trabajo. Saludos. David. -- David Asorey Álvarez forodejazz en gmail.com From lwayar en retronet.com.ar Wed May 18 18:57:47 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Wed, 18 May 2005 13:57:47 -0300 Subject: SQLObject Message-ID: <200505181357.47401.lwayar@retronet.com.ar> Hola, soy nuevo en la lista asi que antes que nada me presento, mi nombre es Luis Tomas Wayar y soy uno de los tantos conversos a python, yo vengo de C y C++. Ahora la consulta: Usando SQLOBject como obtengo una tupla con las columnas (campos) de una clase sqlobject. Muchas gracias. -- Luis Tomas Wayar http://www.retronet.com.ar (o- (o- (o- (o- (o- (o- (o- (o- (o- (o- //\ //\ //\ //\ //\ //\ //\ //\ //\ //\ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ No sea pirata, sea libre. Use GNU/Linux -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.4 (GNU/Linux) mQGiBEIzdDwRBADQIK42e3SfqubTLA4WctwUJgNvp9Fk1ufLo5XBcpcRYeBmoNmP QBHjsYm1ZNGocrWtMRG1378C010bBwrJR6WA9/v0JkaAR1zAstJsWTQ8mdStDzvp q2rYwIPe0IqAcZ5ZqIwGTONqmkLl3B9dyfWu4CLoxxUK2mKwyBDYtZ48cwCgljTS cNdfrpCFNOIRv+EYTgGyvO8EAIRAcdmaGq3Q+0vjj22DCSe8KWlSoU/hfMFhci81 8lmxHtmJhvUywsKGSpT57C94zyfLbnsenBqr57qkn5WFgEmFHycs6YUQJBZ20zJp /tAAkA91nywNT6e+fkfRe5sEZ65LFLYlZHk3vud1loDgwppObvlcejrJYFr6V5m+ jK84A/9jELXIIh4GoNRTV8BES5Gp1R4Ov+McddclPcvO3z1uFUbYauHgHgmpLeum ixce/KsRh+PCSQCgrEbwexZEh870eBFBsLK+pz759l75hTjajy8lEP5xOp3BEvJr t6L7Z4CiFpnYLccSweTpVvOdQBn1giLEoremLxByJWhJyMZ8n7YAAAA0THVpcyBU b21hcyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPohe BBMRAgAeBQJCM3Q8AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOIdU5ca/D3/ BY4AniuZ4nyLVXQyZa+1vVRTslulzP6IAJ9BZsgzT8YLslNdAIRHLwmUbLwZC7kB DQRCM3Q+EAQAnVFoVMuDvx4IxN4nXxl5DKpZNs1O0mP7zJZlN89Hpb+3BEOHVHiw OKOa8p8HfLc/8BIPZd0eoMTkdfLBImTuBb+tsYuWx+YykDdJ9dyuJLU27C+pptFQ +ru6K+Oh5h19v5MUdvtX9pmbaNgzbUwwVvD7by3sj6BuYKXLW3QXl38ABAsD/25W nga4AheDf4mlpDMrFwppa5ZhtZKIn3Z3PwnbZv3qG2j1sO092XE0kKZyfaZnp0xK uGl35xcPNZ+ChRX1qlflhcyysFMuXSYLnV4mQpHo6qx28P7o0IVg9GfgRAMMs9kL E+xFQ+jYQA9b3JhMmHSnS7SxupulaHRhJFUuvXS0iEkEGBECAAkFAkIzdD4CGwwA CgkQ4h1Tlxr8Pf9qHgCgg0hP9UKx8C4xqJ10KAYHgWZwbckAn10w19qTREan2X6z WtyXEG7afbEQ =rXwf -----END PGP PUBLIC KEY BLOCK----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Wed May 18 18:59:59 2005 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Wed, 18 May 2005 18:59:59 +0200 Subject: SQLObject In-Reply-To: <200505181357.47401.lwayar@retronet.com.ar> References: <200505181357.47401.lwayar@retronet.com.ar> Message-ID: <1116435599.4199.2.camel@localhost.localdomain> On Wed, 2005-05-18 at 13:57 -0300, Luis Tomas Wayar wrote: > Hola, soy nuevo en la lista asi que antes que nada me presento, mi nombre es > Luis Tomas Wayar y soy uno de los tantos conversos a python, yo vengo de C y > C++. > > Ahora la consulta: > > Usando SQLOBject como obtengo una tupla con las columnas (campos) de una clase > sqlobject. > A ver si te vale esto: tuple([c.name for c in laclase._SO_columns]) Muchas gracias. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Lorenzo Gil Sanchez ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From minoztro en gmail.com Wed May 18 20:34:52 2005 From: minoztro en gmail.com (Milton inostroza) Date: Wed, 18 May 2005 14:34:52 -0400 Subject: problema al rescatar fecha (formato) In-Reply-To: <1116402897.1825.10.camel@homer.linkend.net> References: <172699c505051715031a61865@mail.gmail.com> <172699c505051723304f54988b@mail.gmail.com> <54af49c1050518004651f0f6ed@mail.gmail.com> <1116402855.1825.8.camel@homer.linkend.net> <1116402897.1825.10.camel@homer.linkend.net> Message-ID: <172699c50505181134729d9f97@mail.gmail.com> ok, funciona de maravillas, gracias El 18/05/05, Antonio Beamud Montero escribió: > Perdón: > > dateobj.strftime('%Y-%m-%d') > > El mié, 18-05-2005 a las 09:54 +0200, Antonio Beamud Montero escribió: > > Con el objeto DateTime formateais la salidad como querais con: > > > > dateobj.strftime('%Y-%m%-d') > > > > Saludos > > > > El mié, 18-05-2005 a las 09:46 +0200, JoePC escribió: > > > A mi me esta pasando lo mismo con access, y estoy investigando, a ver > > > si alguien nos ayuda. > > > > > > El 18/05/05, Milton inostroza escribió: > > > > esto es lo que me sale si es que imprimo el resultado del fetch_all() > > > > > > > > > > > > > > > > Como puedo hacer para que solamente me imprima la fecha, no me > > > > interesa las horas, minutos, segundos..., debo realizar algun cambio > > > > de tipo??, porque veo que python la Reconoce como DateTime y yo en la > > > > base de datos la tengo como solamente Date, por vuestra ayuda, gracias > > > > > > > > > > > > -- > > > > Milton Inostroza Aguilera > > > > Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) > > > > _______________________________________________ > > > > Python-es mailing list > > > > Python-es en aditel.org > > > > http://listas.aditel.org/listinfo/python-es > > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From Abel.aranda en salud.madrid.org Wed May 18 21:16:44 2005 From: Abel.aranda en salud.madrid.org (Abel Aranda) Date: Wed, 18 May 2005 21:16:44 +0200 Subject: tkinter en python In-Reply-To: <42890E83.9080701@sicem.biz> References: <42890E83.9080701@sicem.biz> Message-ID: <000201c55bde$212b4b80$d008800a@salud.madrid.org> Buenas tardes, al final lo solucione utilizando un thread, pero sigo con la varios problemas.... Tengo el siguiente código. Esta parte me dibuja los checkbuttons global Maquinas for i in Maquinas: self.checkObjects.append(StringVar()) self.oneObject = Checkbutton(self.personalFrame,text=i.nombre,variable=self.checkObject s[-1],anchor='e',onvalue=i.nombre, offvalue="",command = self.pulsar,foreground = "#FF0000") self.listaobjetos.append(self.oneObject) for i,cb in enumerate(self.listaobjetos): cb.grid(column=i % 4, row=i / 4,sticky = W) Maquinas[i].posx = i / 4 Maquinas[i].posy = i % 4 Y un tread lanzado def threads(self): print "lanzando" global Maquinas self.threadping = threading.Thread(target=self.run) self.threadping.start() ambos dentro del mismo objeto la cuestion es que desde el trhead quiero modificar la aplicación grafica, cambiar el color de un checkburron ( es una maquina ) cuando se pierda conectividad con ella, y no se como hacerlo cada vez que utilizo el metodo boton.grid me da un error desde el thread mi idea seria hacer algo asi def run(self) if maquina se cae: self.listaobjetos.eliminar_dicho_objeto self.listaobjetos.insertar_en_la_posicion_en la que estaba el objeto anterior el nuevo pero con un color diferente. Volver a pintarlo en la posición gris del anterior Hacer algo parecido a un root.update() para que coja los cambios A ver si hay suerte y alguien puede echarme una mano. Lo del sondeo lo solucione con el trhead, es un bucle infinito que al final tiene un sleep de 20 sg y después de eso sondeo una variable global para ver si he de salir del thread y terminar su ejecución. Un Saludo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Abel Aranda Arriscado Administrador CEDAS Centro de Datos, Administración y Soporte e-mail: abel.aranda en salud.madrid.org tfno: 91 4265549, móvil: 670726950 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ El contenido de esta comunicación debe considerarse privado y confidencial. Si Vd. no es el destinatario y la hubiere recibido por error, se le informa que cualquier divulgación, distribución o copia de esta comunicación está estrictamente prohibida; por favor, notifíquelo inmediatamente al remitente y elimine este mensaje. This Email is intended for the exclusive use of the addressee only. If you are not the intended recipient, you should not use the contents nor disclose them to any other person and you should immediately notify the sender and delete the Email. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Ernesto Revilla Enviado el: lunes, 16 de mayo de 2005 23:20 Para: La lista de python en castellano Asunto: Re: [Python-es] tkinter en python En tkinter: class Application: pollInterval=100 # intervalo de poll en milisegundos def __init__(self): self.root=self.createMainWindow() # cualquier cosa aquí self.pollTaks() def createMainWindow(self): root=Tkinter.Tk() # cualquier cosa para construir interfaz ... return root def pollTask(self): # haz lo que quieras aquí ... # casda self.root.after(self.pollInterval,self.pollTask) es decir, usas .after de Tkinter.Tk o cualquier otro widget que hayas creado. La sintaxis es: widget.after(intervaloEnMilisegundos, metodo, argumento1, argumento2....). El propio procedimiento tiene que reregistrarse con after si se desea que sea periódico. Tkinter sólo te va a asegurar que el método no se va a llamar antes. Si está ocupado no va a llamar a la función. Sacado de: http://www.pythonware.com/library/tkinter/introduction/ en concreto: http://www.pythonware.com/library/tkinter/introduction/x9507-alarm-handl ers-and-other.htm Erny Aranda Arriscado, Abel escribió: > >buenas sigo realizando una plicacion con python y me encuentro con el siguiente problema,un treao d y la aplicación grafica, y lo que deseo es que la aplicacion grafica sondee cada cierto tiempo una variable global(siempre va a leer de ella nunca escribir). > >Alguno tiene idea de como se puede hacer esto de forma predeterminada, algun metodo para que lo estee sondeando desde que arranco la aplicacion pero que no me kite el control de esta, por ejemplo que lo sondee cada 20 segundos pero pueda seguir trabajando con la aplicacion grafica. > > >A ver si alguien me puede ayudar > > >----------------------------------------------------------------------- - > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0520-0, 16/05/2005 Comprobado en: 16/05/2005 23:20:08 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From lwayar en retronet.com.ar Thu May 19 00:12:02 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Wed, 18 May 2005 19:12:02 -0300 Subject: SQLObject In-Reply-To: <1116435599.4199.2.camel@localhost.localdomain> References: <200505181357.47401.lwayar@retronet.com.ar> <1116435599.4199.2.camel@localhost.localdomain> Message-ID: <200505181912.02449.lwayar@retronet.com.ar> El Mié 18 May 2005 13:59, Lorenzo Gil Sanchez escribió: Muchas gracias por la respuesta y la celeridad, mañana en el trabajo la probare. Estoy haciendo un sistema de inventario para hadware, proximamente lo publicacre como GPL/GNU estoy adquiriendo experiencia en newt y sqlobject si a alguien puedo ayudar quedo a su disposicion. Atentamente. > On Wed, 2005-05-18 at 13:57 -0300, Luis Tomas Wayar wrote: > > Hola, soy nuevo en la lista asi que antes que nada me presento, mi nombre > > es Luis Tomas Wayar y soy uno de los tantos conversos a python, yo vengo > > de C y C++. > > > > Ahora la consulta: > > > > Usando SQLOBject como obtengo una tupla con las columnas (campos) de una > > clase sqlobject. > > A ver si te vale esto: > > tuple([c.name for c in laclase._SO_columns]) > > Muchas gracias. > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es -- Luis Tomas Wayar http://www.retronet.com.ar (o- (o- (o- (o- (o- (o- (o- (o- (o- (o- //\ //\ //\ //\ //\ //\ //\ //\ //\ //\ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ No sea pirata, sea libre. Use GNU/Linux -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.4 (GNU/Linux) mQGiBEIzdDwRBADQIK42e3SfqubTLA4WctwUJgNvp9Fk1ufLo5XBcpcRYeBmoNmP QBHjsYm1ZNGocrWtMRG1378C010bBwrJR6WA9/v0JkaAR1zAstJsWTQ8mdStDzvp q2rYwIPe0IqAcZ5ZqIwGTONqmkLl3B9dyfWu4CLoxxUK2mKwyBDYtZ48cwCgljTS cNdfrpCFNOIRv+EYTgGyvO8EAIRAcdmaGq3Q+0vjj22DCSe8KWlSoU/hfMFhci81 8lmxHtmJhvUywsKGSpT57C94zyfLbnsenBqr57qkn5WFgEmFHycs6YUQJBZ20zJp /tAAkA91nywNT6e+fkfRe5sEZ65LFLYlZHk3vud1loDgwppObvlcejrJYFr6V5m+ jK84A/9jELXIIh4GoNRTV8BES5Gp1R4Ov+McddclPcvO3z1uFUbYauHgHgmpLeum ixce/KsRh+PCSQCgrEbwexZEh870eBFBsLK+pz759l75hTjajy8lEP5xOp3BEvJr t6L7Z4CiFpnYLccSweTpVvOdQBn1giLEoremLxByJWhJyMZ8n7YAAAA0THVpcyBU b21hcyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPohe BBMRAgAeBQJCM3Q8AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOIdU5ca/D3/ BY4AniuZ4nyLVXQyZa+1vVRTslulzP6IAJ9BZsgzT8YLslNdAIRHLwmUbLwZC7kB DQRCM3Q+EAQAnVFoVMuDvx4IxN4nXxl5DKpZNs1O0mP7zJZlN89Hpb+3BEOHVHiw OKOa8p8HfLc/8BIPZd0eoMTkdfLBImTuBb+tsYuWx+YykDdJ9dyuJLU27C+pptFQ +ru6K+Oh5h19v5MUdvtX9pmbaNgzbUwwVvD7by3sj6BuYKXLW3QXl38ABAsD/25W nga4AheDf4mlpDMrFwppa5ZhtZKIn3Z3PwnbZv3qG2j1sO092XE0kKZyfaZnp0xK uGl35xcPNZ+ChRX1qlflhcyysFMuXSYLnV4mQpHo6qx28P7o0IVg9GfgRAMMs9kL E+xFQ+jYQA9b3JhMmHSnS7SxupulaHRhJFUuvXS0iEkEGBECAAkFAkIzdD4CGwwA CgkQ4h1Tlxr8Pf9qHgCgg0hP9UKx8C4xqJ10KAYHgWZwbckAn10w19qTREan2X6z WtyXEG7afbEQ =rXwf -----END PGP PUBLIC KEY BLOCK----- From pan_python en yahoo.com.ar Thu May 19 08:22:29 2005 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Thu, 19 May 2005 03:22:29 -0300 Subject: threads Message-ID: <428C30A5.1070100@yahoo.com.ar> Hola! Gente, por mas que le busco la vuelta no logro entender y encontrar buena documentacion sobre threads para poder separar las busquedas en sql y las pantallas para que cuando largo varias sentencias sql que demoran no se me quede todo el programa trabado, entonces con threads podria largar a buscar en las bases de datos y ademas ir viendo en la pantalla a medida que se llena el grid entre otras cosas :) y no se me trabe todo, porque uso formularios mdi y tengo varias solapas abiertas y aunque se me trabe una quisiera seguir trabajando con las otras. Bueno, les pido que si alguien tiene documentacion (en castellano), ejemplos o lo que sea por favor me lo envie asi puedo entender y usarlos. Gracias! -- Saludos Panflin NO al limite de adsl de TELECOM Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el limite del ADSL, la direccion es: http://peticionbandaancha.com/ www.reconquista.com.ar From al3xmor3no en gmail.com Thu May 19 09:13:24 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Thu, 19 May 2005 09:13:24 +0200 Subject: threads In-Reply-To: <428C30A5.1070100@yahoo.com.ar> References: <428C30A5.1070100@yahoo.com.ar> Message-ID: <31b5712505051900135fb946cd@mail.gmail.com> Depende de las librerías gráficas que estés usando. Hace poquito resolví este mismo problema en la lista usando las librerias wxwidgets. Aquí tienes los enlaces que me ayudaron: http://del.icio.us/alexmoreno/thread sobre todo mira este: http://wiki.wxpython.org/index.cgi/LongRunningTasks On 5/19/05, Ariel Nardelli wrote: > Hola! > > Gente, por mas que le busco la vuelta no logro entender y encontrar > buena documentacion sobre threads para poder separar las busquedas en > sql y las pantallas para que cuando largo varias sentencias sql que > demoran no se me quede todo el programa trabado, entonces con threads > podria largar a buscar en las bases de datos y ademas ir viendo en la > pantalla a medida que se llena el grid entre otras cosas :) y no se me > trabe todo, porque uso formularios mdi y tengo varias solapas abiertas y > aunque se me trabe una quisiera seguir trabajando con las otras. > > Bueno, les pido que si alguien tiene documentacion (en castellano), > ejemplos o lo que sea por favor me lo envie asi puedo entender y usarlos. > > Gracias! > > -- > Saludos > Panflin > > NO al limite de adsl de TELECOM > Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el > limite del ADSL, la direccion es: > http://peticionbandaancha.com/ > > www.reconquista.com.ar > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From acastro en ciberdroide.com Thu May 19 10:10:22 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Thu, 19 May 2005 10:10:22 +0200 (CEST) Subject: tkinter en python In-Reply-To: <000201c55bde$212b4b80$d008800a@salud.madrid.org> References: <000201c55bde$212b4b80$d008800a@salud.madrid.org> Message-ID: On Wed, 18 May 2005, Abel Aranda wrote: > Buenas tardes, al final lo solucione utilizando un thread, pero sigo con > la varios problemas.... En mi humilde opinión. Es posible usar threads en programas con tkinter pero teniendo siempre en cuenta que solo uno de los threads debe de hacer uso de las llamadas a tkinter ya que tkinter no es reentrante. Yo usé threading con tkinter para lanzar de forma concurrente comandos del SO que tardan bastante para evitar que todo quede bloqueado. No se si lo que digo se adapta a tus necesidades porque para cada caso hay que buscar una solución distinta respetando las limitaciones de tkinter. Yo tuve que implementar un sistema de refresco de eventos pendientes. Lo que sigue es un intento de resumir lo que yo hice. #---------------------------------------------- def LinesPopenTask(comando): ..... fdin, fdout, fderr=os.popen3(comando, 'r') ..... #---------------------------------------------- def WaitEndTask(): ''' Esperamos a que termine la tarea pero cada cuarto de segundo procesamos todos los eventos pendientes. ''' DBG.DebugTrace('mkmt_os.WaitEndTask()') while self.runing_LinesPopenTask: root.after(250) root.update() .... En en el programa principal hago lo siguiente t = threading.Thread(target=LinesPopenTask, args=(comando,)) t.start() WaitEndTask() # Espera activa -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From pan_python en yahoo.com.ar Thu May 19 18:50:50 2005 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Thu, 19 May 2005 13:50:50 -0300 Subject: threads - wxwidgest In-Reply-To: <31b5712505051900135fb946cd@mail.gmail.com> References: <428C30A5.1070100@yahoo.com.ar> <31b5712505051900135fb946cd@mail.gmail.com> Message-ID: <428CC3EA.6000907@yahoo.com.ar> Si estoy ysabdi wx ahora lo miro... Mil Gracias! Ariel Alex Moreno wrote: >Depende de las librerías gráficas que estés usando. Hace poquito >resolví este mismo problema en la lista usando las librerias >wxwidgets. Aquí tienes los enlaces que me ayudaron: > >http://del.icio.us/alexmoreno/thread > >sobre todo mira este: > >http://wiki.wxpython.org/index.cgi/LongRunningTasks > >On 5/19/05, Ariel Nardelli wrote: > > >>Hola! >> >>Gente, por mas que le busco la vuelta no logro entender y encontrar >>buena documentacion sobre threads para poder separar las busquedas en >>sql y las pantallas para que cuando largo varias sentencias sql que >>demoran no se me quede todo el programa trabado, entonces con threads >>podria largar a buscar en las bases de datos y ademas ir viendo en la >>pantalla a medida que se llena el grid entre otras cosas :) y no se me >>trabe todo, porque uso formularios mdi y tengo varias solapas abiertas y >>aunque se me trabe una quisiera seguir trabajando con las otras. >> >>Bueno, les pido que si alguien tiene documentacion (en castellano), >>ejemplos o lo que sea por favor me lo envie asi puedo entender y usarlos. >> >>Gracias! >> >>-- >>Saludos >>Panflin >> >>NO al limite de adsl de TELECOM >>Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el >>limite del ADSL, la direccion es: >>http://peticionbandaancha.com/ >> >>www.reconquista.com.ar >> >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > -- Saludos Panflin NO al limite de adsl de TELECOM Firma YA el petitorio NACIONAL para que TELECOM no nos estafe con el limite del ADSL, la direccion es: http://peticionbandaancha.com/ www.reconquista.com.ar From jjdelcerromurciano en yahoo.es Fri May 20 16:39:08 2005 From: jjdelcerromurciano en yahoo.es (jjdelcerromurciano en yahoo.es) Date: Fri, 20 May 2005 16:39:08 +0200 Subject: tkinter en python In-Reply-To: <000201c55bde$212b4b80$d008800a@salud.madrid.org> References: <000201c55bde$212b4b80$d008800a@salud.madrid.org> Message-ID: <200505201639.08612.jjdelcerromurciano@yahoo.es> No es escesivamente complejo tratar con threads y tkinter. Solo tienes que tener en cuenta que nunca deberias hacer cosas como la que propones. Siempre es el thread principal el que maneja el gui. Para solucionar esas cosas, tkinter te provee de un metodo "after" que tienen todos loc controles Tkinter. Con este metodo lo que programas es que pasado cierto tiempo se invoque a una funcion, y desde esa funcion tienes acceso completo al gui. Se podria montar algo como: from Queue inport Queue import Threading import Tkinter class Ventana(object): def __init__(self): self._w = TkInter.Tk() self._w.pack() self._queue = Queue() self._threadping = threading.Thread(target=self.__run) self._threadping.start() self._w.after(2000, self.__checkQueue) def __run(self): # Esto se ejecuta en un thread aparte. # Desde aqui no se puede tocar el GUI. while True: .... hago mis cosas .... Si tengo algo que pintar: self._queue.put("hay que pintar un boton") .... sigo haciendo mas cosas .... def __checkQueue(self): # Este metodo lo invoca el GUI cada 2 segundos. if self._queue.qsize() > 0: accion = self._queue.get() ... hago lo que dice la accion ya que esto se ejecuta en el ... thread principal y aqui tengo acceso al GUI. self._w.after(2000, self.__checkQueue) # Antes de salir rearmo el timer. Supongo que habram varios errores de sintaxis y cosas asi en el codigo, pero no pretendo dar un codigo funcional , sino una idea a partir de la que construyas la solucion a tu problema. Resumiendo. - Por un lado tienes el GUI en el que montas un timer que se dispara cada cierto tiempo, por ejemplo 2 segundos. . Por otro montas un thread que es el que haca el trabajo "duro", pero no puede acceder al GUI. - Por ultimo montas una cola y la usas para que el thread envie cosas al GUI, y este en el timer va desencolandolas y pintando lo que toque. Lo suyo seria hacer algo mas elaborado a la hora de meter cosas en la cola, no meter strings pelones. Algo como una clase de accion y atributos para los parametros que necesite. Si eres mas vago puedes pasarle una tupla o un diccionario, pero el codigo queda mas ilegible con el tiempo. Queda mas claro algo asi como: self._queue.put(ActualizarBoton(text="va bien")) Que algo como: self._queue.put((1,"va bien")) Eso si en el primer caso tendrias que crear algo como: class Accion(object): def __call__(self, ventana): raise RuntimeError, "Deves sobreescribirlo" class ActualizarBoton(Accion): def __init__(self, text): Accion.__init__(self) self.text ) text def __call__(self,ventana): actualizo el boton de la ventana. Y en lugar de preguntar por la accion en el __checkQueue simplemente hacer algo como: accion = self._queue.get() accion(self) En lugar de poner una lista de ifs para ir preguntando por el tipo de accion. Bueno, creo que ya me he enrrollado mas de la cuenta. Si no te aclaras o quieres mas cosas, ala , a preguntar, pero no desesperes puedo tardar varios dias en leer el correo. Por cierto, alguien hace una pregunta similar la tuya pero con accesos a BD. La solucion puede ser similar, casi todos los toolkits graficos tienen algo parecido al "after" del tk o la posibilidad de timers. Un saludo Joaquin. El Wednesday, 18 de May de 2005 21:16, Abel Aranda escribió: > Buenas tardes, al final lo solucione utilizando un thread, pero sigo con > la varios problemas.... > > Tengo el siguiente código. > Esta parte me dibuja los checkbuttons > > global Maquinas > for i in Maquinas: > self.checkObjects.append(StringVar()) > self.oneObject = > Checkbutton(self.personalFrame,text=i.nombre,variable=self.checkObject > s[-1],anchor='e',onvalue=i.nombre, offvalue="",command = > self.pulsar,foreground = "#FF0000") > self.listaobjetos.append(self.oneObject) > for i,cb in enumerate(self.listaobjetos): > cb.grid(column=i % 4, row=i / 4,sticky = W) > Maquinas[i].posx = i / 4 > Maquinas[i].posy = i % 4 > > Y un tread lanzado > > def threads(self): > print "lanzando" > global Maquinas > self.threadping = threading.Thread(target=self.run) > self.threadping.start() > > ambos dentro del mismo objeto > > la cuestion es que desde el trhead quiero modificar la aplicación > grafica, cambiar el color de un checkburron ( es una maquina ) cuando se > pierda conectividad con ella, y no se como hacerlo > > cada vez que utilizo el metodo boton.grid me da un error desde el thread > > mi idea seria hacer algo asi > > def run(self) > if maquina se cae: > self.listaobjetos.eliminar_dicho_objeto > self.listaobjetos.insertar_en_la_posicion_en la que > estaba el > objeto anterior el nuevo pero con un color diferente. > Volver a pintarlo en la posición gris del anterior > Hacer algo parecido a un root.update() para que coja los > cambios > > A ver si hay suerte y alguien puede echarme una mano. > > Lo del sondeo lo solucione con el trhead, es un bucle infinito que al > final tiene un sleep de 20 sg y después de eso sondeo una variable > global para ver si he de salir del thread y terminar su ejecución. > > > Un Saludo > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Abel Aranda Arriscado > Administrador > CEDAS > > Centro de Datos, Administración y Soporte > e-mail: abel.aranda en salud.madrid.org > tfno: 91 4265549, móvil: 670726950 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > El contenido de esta comunicación debe considerarse privado y > confidencial. Si Vd. no es el destinatario y la hubiere recibido por > error, se le informa que cualquier divulgación, distribución o copia de > esta comunicación está estrictamente prohibida; por favor, notifíquelo > inmediatamente al remitente y elimine este mensaje. > > > This Email is intended for the exclusive use of the addressee only. If > you are not the intended recipient, you should not use the contents nor > disclose them to any other person and you should immediately notify the > sender and delete the Email. > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] > En nombre de Ernesto Revilla > Enviado el: lunes, 16 de mayo de 2005 23:20 > Para: La lista de python en castellano > Asunto: Re: [Python-es] tkinter en python > > En tkinter: > > class Application: > pollInterval=100 # intervalo de poll en milisegundos > def __init__(self): > self.root=self.createMainWindow() > # cualquier cosa aquí > self.pollTaks() > > > def createMainWindow(self): > root=Tkinter.Tk() > # cualquier cosa para construir interfaz > ... > return root > > def pollTask(self): > # haz lo que quieras aquí > ... > # casda > self.root.after(self.pollInterval,self.pollTask) > > > es decir, usas .after de Tkinter.Tk o cualquier otro widget que hayas > creado. La sintaxis es: > widget.after(intervaloEnMilisegundos, metodo, argumento1, > argumento2....). El propio procedimiento tiene que reregistrarse con > after si se desea que sea periódico. > > Tkinter sólo te va a asegurar que el método no se va a llamar antes. Si > está ocupado no va a llamar a la función. > > Sacado de: > http://www.pythonware.com/library/tkinter/introduction/ > en concreto: > http://www.pythonware.com/library/tkinter/introduction/x9507-alarm-handl > ers-and-other.htm > > Erny > > Aranda Arriscado, Abel escribió: > >buenas sigo realizando una plicacion con python y me encuentro con el > > siguiente problema,un treao d y la aplicación grafica, y lo que deseo es > que la aplicacion grafica sondee cada cierto tiempo una variable > global(siempre va a leer de ella nunca escribir). > > >Alguno tiene idea de como se puede hacer esto de forma predeterminada, > > algun metodo para que lo estee sondeando desde que arranco la aplicacion > pero que no me kite el control de esta, por ejemplo que lo sondee cada > 20 segundos pero pueda seguir trabajando con la aplicacion grafica. > > >A ver si alguien me puede ayudar > > > > > >----------------------------------------------------------------------- > > - > > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo!: ¡250 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From Abel.aranda en salud.madrid.org Fri May 20 17:00:42 2005 From: Abel.aranda en salud.madrid.org (Abel Aranda) Date: Fri, 20 May 2005 17:00:42 +0200 Subject: tkinter en python In-Reply-To: <200505201639.08612.jjdelcerromurciano@yahoo.es> References: <200505201639.08612.jjdelcerromurciano@yahoo.es> Message-ID: <004001c55d4c$b1e500c0$d008800a@salud.madrid.org> Muchísimas gracias, este mail me ha aclarado muchas cosas sobre como debería hacerlo, ya os comentare pq la aplicación que toy desarrollando se va a quedar parada por los examenes 3 semanas, pero este mail me ha dado un concepto mucho mas claro de cómo tengo que hacerlo aunque seguro que tendre que preguntar un par de cosas mas jeje pero como a simple vista parecen obvias esperare a desesperarme pa plantearlas. Saludos Un Saludo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Abel Aranda Arriscado Administrador CEDAS Centro de Datos, Administración y Soporte e-mail: abel.aranda en salud.madrid.org tfno: 91 4265549, móvil: 670726950 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ El contenido de esta comunicación debe considerarse privado y confidencial. Si Vd. no es el destinatario y la hubiere recibido por error, se le informa que cualquier divulgación, distribución o copia de esta comunicación está estrictamente prohibida; por favor, notifíquelo inmediatamente al remitente y elimine este mensaje. This Email is intended for the exclusive use of the addressee only. If you are not the intended recipient, you should not use the contents nor disclose them to any other person and you should immediately notify the sender and delete the Email. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de jjdelcerromurciano en yahoo.es Enviado el: viernes, 20 de mayo de 2005 16:39 Para: python-es en aditel.org Asunto: Re: [Python-es] tkinter en python No es escesivamente complejo tratar con threads y tkinter. Solo tienes que tener en cuenta que nunca deberias hacer cosas como la que propones. Siempre es el thread principal el que maneja el gui. Para solucionar esas cosas, tkinter te provee de un metodo "after" que tienen todos loc controles Tkinter. Con este metodo lo que programas es que pasado cierto tiempo se invoque a una funcion, y desde esa funcion tienes acceso completo al gui. Se podria montar algo como: from Queue inport Queue import Threading import Tkinter class Ventana(object): def __init__(self): self._w = TkInter.Tk() self._w.pack() self._queue = Queue() self._threadping = threading.Thread(target=self.__run) self._threadping.start() self._w.after(2000, self.__checkQueue) def __run(self): # Esto se ejecuta en un thread aparte. # Desde aqui no se puede tocar el GUI. while True: .... hago mis cosas .... Si tengo algo que pintar: self._queue.put("hay que pintar un boton") .... sigo haciendo mas cosas .... def __checkQueue(self): # Este metodo lo invoca el GUI cada 2 segundos. if self._queue.qsize() > 0: accion = self._queue.get() ... hago lo que dice la accion ya que esto se ejecuta en el ... thread principal y aqui tengo acceso al GUI. self._w.after(2000, self.__checkQueue) # Antes de salir rearmo el timer. Supongo que habram varios errores de sintaxis y cosas asi en el codigo, pero no pretendo dar un codigo funcional , sino una idea a partir de la que construyas la solucion a tu problema. Resumiendo. - Por un lado tienes el GUI en el que montas un timer que se dispara cada cierto tiempo, por ejemplo 2 segundos. . Por otro montas un thread que es el que haca el trabajo "duro", pero no puede acceder al GUI. - Por ultimo montas una cola y la usas para que el thread envie cosas al GUI, y este en el timer va desencolandolas y pintando lo que toque. Lo suyo seria hacer algo mas elaborado a la hora de meter cosas en la cola, no meter strings pelones. Algo como una clase de accion y atributos para los parametros que necesite. Si eres mas vago puedes pasarle una tupla o un diccionario, pero el codigo queda mas ilegible con el tiempo. Queda mas claro algo asi como: self._queue.put(ActualizarBoton(text="va bien")) Que algo como: self._queue.put((1,"va bien")) Eso si en el primer caso tendrias que crear algo como: class Accion(object): def __call__(self, ventana): raise RuntimeError, "Deves sobreescribirlo" class ActualizarBoton(Accion): def __init__(self, text): Accion.__init__(self) self.text ) text def __call__(self,ventana): actualizo el boton de la ventana. Y en lugar de preguntar por la accion en el __checkQueue simplemente hacer algo como: accion = self._queue.get() accion(self) En lugar de poner una lista de ifs para ir preguntando por el tipo de accion. Bueno, creo que ya me he enrrollado mas de la cuenta. Si no te aclaras o quieres mas cosas, ala , a preguntar, pero no desesperes puedo tardar varios dias en leer el correo. Por cierto, alguien hace una pregunta similar la tuya pero con accesos a BD. La solucion puede ser similar, casi todos los toolkits graficos tienen algo parecido al "after" del tk o la posibilidad de timers. Un saludo Joaquin. El Wednesday, 18 de May de 2005 21:16, Abel Aranda escribió: > Buenas tardes, al final lo solucione utilizando un thread, pero sigo con > la varios problemas.... > > Tengo el siguiente código. > Esta parte me dibuja los checkbuttons > > global Maquinas > for i in Maquinas: > self.checkObjects.append(StringVar()) > self.oneObject = > Checkbutton(self.personalFrame,text=i.nombre,variable=self.checkObject > s[-1],anchor='e',onvalue=i.nombre, offvalue="",command = > self.pulsar,foreground = "#FF0000") > self.listaobjetos.append(self.oneObject) > for i,cb in enumerate(self.listaobjetos): > cb.grid(column=i % 4, row=i / 4,sticky = W) > Maquinas[i].posx = i / 4 > Maquinas[i].posy = i % 4 > > Y un tread lanzado > > def threads(self): > print "lanzando" > global Maquinas > self.threadping = threading.Thread(target=self.run) > self.threadping.start() > > ambos dentro del mismo objeto > > la cuestion es que desde el trhead quiero modificar la aplicación > grafica, cambiar el color de un checkburron ( es una maquina ) cuando se > pierda conectividad con ella, y no se como hacerlo > > cada vez que utilizo el metodo boton.grid me da un error desde el thread > > mi idea seria hacer algo asi > > def run(self) > if maquina se cae: > self.listaobjetos.eliminar_dicho_objeto > self.listaobjetos.insertar_en_la_posicion_en la que > estaba el > objeto anterior el nuevo pero con un color diferente. > Volver a pintarlo en la posición gris del anterior > Hacer algo parecido a un root.update() para que coja los > cambios > > A ver si hay suerte y alguien puede echarme una mano. > > Lo del sondeo lo solucione con el trhead, es un bucle infinito que al > final tiene un sleep de 20 sg y después de eso sondeo una variable > global para ver si he de salir del thread y terminar su ejecución. > > > Un Saludo > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Abel Aranda Arriscado > Administrador > CEDAS > > Centro de Datos, Administración y Soporte > e-mail: abel.aranda en salud.madrid.org > tfno: 91 4265549, móvil: 670726950 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > El contenido de esta comunicación debe considerarse privado y > confidencial. Si Vd. no es el destinatario y la hubiere recibido por > error, se le informa que cualquier divulgación, distribución o copia de > esta comunicación está estrictamente prohibida; por favor, notifíquelo > inmediatamente al remitente y elimine este mensaje. > > > This Email is intended for the exclusive use of the addressee only. If > you are not the intended recipient, you should not use the contents nor > disclose them to any other person and you should immediately notify the > sender and delete the Email. > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] > En nombre de Ernesto Revilla > Enviado el: lunes, 16 de mayo de 2005 23:20 > Para: La lista de python en castellano > Asunto: Re: [Python-es] tkinter en python > > En tkinter: > > class Application: > pollInterval=100 # intervalo de poll en milisegundos > def __init__(self): > self.root=self.createMainWindow() > # cualquier cosa aquí > self.pollTaks() > > > def createMainWindow(self): > root=Tkinter.Tk() > # cualquier cosa para construir interfaz > ... > return root > > def pollTask(self): > # haz lo que quieras aquí > ... > # casda > self.root.after(self.pollInterval,self.pollTask) > > > es decir, usas .after de Tkinter.Tk o cualquier otro widget que hayas > creado. La sintaxis es: > widget.after(intervaloEnMilisegundos, metodo, argumento1, > argumento2....). El propio procedimiento tiene que reregistrarse con > after si se desea que sea periódico. > > Tkinter sólo te va a asegurar que el método no se va a llamar antes. Si > está ocupado no va a llamar a la función. > > Sacado de: > http://www.pythonware.com/library/tkinter/introduction/ > en concreto: > http://www.pythonware.com/library/tkinter/introduction/x9507-alarm-handl > ers-and-other.htm > > Erny > > Aranda Arriscado, Abel escribió: > >buenas sigo realizando una plicacion con python y me encuentro con el > > siguiente problema,un treao d y la aplicación grafica, y lo que deseo es > que la aplicacion grafica sondee cada cierto tiempo una variable > global(siempre va a leer de ella nunca escribir). > > >Alguno tiene idea de como se puede hacer esto de forma predeterminada, > > algun metodo para que lo estee sondeando desde que arranco la aplicacion > pero que no me kite el control de esta, por ejemplo que lo sondee cada > 20 segundos pero pueda seguir trabajando con la aplicacion grafica. > > >A ver si alguien me puede ayudar > > > > > >----------------------------------------------------------------------- > > - > > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo!: ¡250 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From minoztro en gmail.com Fri May 20 18:18:23 2005 From: minoztro en gmail.com (Milton inostroza) Date: Fri, 20 May 2005 12:18:23 -0400 Subject: descomponer string Message-ID: <172699c5050520091856bb4dbc@mail.gmail.com> hola lista: tenía el siguiente: debía separar la siguiente cadena ALGO1-ALGO2-ALGO3-ALGO4-ALGO5-ALGOn, en variables distintas, cabe señalar que esta cadena viene de una consulta sql..., para solucionar este problema aplique la siguiente lógica: cadena=self.modelo[row][0] #de donde la rescato marca=0 r=[] for i in range(len(cadena)): if cadena[i]=="-": r.append(cadena[marca:i]) marca=i+1 if i+1==len(cadena): r.append(cadena[marca:i+1]) Fue lo único que se me ocurrio, soy novato en python...alguien se preguntará para que este tipo pregunta, si ya resolvio el problema....pregunto si es que esta bien lo que estoy haciendo y si alguien me puede decir si esto se puede mejorar(creo que sí..por eso que escribo). en todo caso el algoritmo funciona, ya que por ejemplo separe la siguiente cadena : IQUIQUE-ARICA-IQUIQUE y me quedó ['IQUIQUE', 'ARICA', 'IQUIQUE'] salu2!! -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From snmartin en galilea.cl Fri May 20 18:24:40 2005 From: snmartin en galilea.cl (Fernando San =?ISO-8859-1?Q?Mart=EDn?= Woerner) Date: Fri, 20 May 2005 12:24:40 -0400 Subject: descomponer string In-Reply-To: <172699c5050520091856bb4dbc@mail.gmail.com> References: <172699c5050520091856bb4dbc@mail.gmail.com> Message-ID: <1116606280.7759.14.camel@localhost.localdomain> >>>tucadena = "ALGO1-ALGO2-ALGO3-ALGO4-ALGO5-ALGOn" >>>tucadena.split("-") ['ALGO1', 'ALGO2', 'ALGO3', 'ALGO4', 'ALGO5', 'ALGOn'] fue algo que les mostré en iquique, por otra parte para las consultas sobre pygtk, tal vez te convenga suscribirte a la lista de pygtk en ingles o ingresar al canl #pygtk en irc.gimp.org. saludos! El vie, 20-05-2005 a las 12:18 -0400, Milton inostroza escribió: > hola lista: tenía el siguiente: debía separar la siguiente cadena > ALGO1-ALGO2-ALGO3-ALGO4-ALGO5-ALGOn, en variables distintas, cabe > señalar que esta cadena viene de una consulta sql..., para solucionar > este problema aplique la siguiente lógica: > > cadena=self.modelo[row][0] #de donde la rescato > marca=0 > r=[] > for i in range(len(cadena)): > if cadena[i]=="-": > r.append(cadena[marca:i]) > marca=i+1 > if i+1==len(cadena): > r.append(cadena[marca:i+1]) > > Fue lo único que se me ocurrio, soy novato en python...alguien se > preguntará para que este tipo pregunta, si ya resolvio el > problema....pregunto si es que esta bien lo que estoy haciendo y si > alguien me puede decir si esto se puede mejorar(creo que sí..por eso > que escribo). > > en todo caso el algoritmo funciona, ya que por ejemplo separe la > siguiente cadena : IQUIQUE-ARICA-IQUIQUE y me quedó ['IQUIQUE', > 'ARICA', 'IQUIQUE'] > > salu2!! > -- Fernando San Martín Woerner Jefe de Informática Galilea S.A. From acurro en wanadoo.es Fri May 20 18:25:23 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Fri, 20 May 2005 18:25:23 +0200 Subject: descomponer string In-Reply-To: <172699c5050520091856bb4dbc@mail.gmail.com> References: <172699c5050520091856bb4dbc@mail.gmail.com> Message-ID: <428E0F73.3000207@wanadoo.es> Milton inostroza escribió: Hola Milton, si lo que quieres es separar la cadena en partes, conociendo el carácter de separación (-, espacio, etc.) lo que deberías usar por simplicidad es el método split(). split() te devuelve ya él un array (o una tupla, ahora mismo no recuerdo) con todos los componentes resultantes de separar la cadena original. Échale un vistazo a la referencia de la función. Google te puede ayudar. Un saludo >hola lista: tenía el siguiente: debía separar la siguiente cadena >ALGO1-ALGO2-ALGO3-ALGO4-ALGO5-ALGOn, en variables distintas, cabe >señalar que esta cadena viene de una consulta sql..., para solucionar >este problema aplique la siguiente lógica: > > cadena=self.modelo[row][0] #de donde la rescato > marca=0 > r=[] > for i in range(len(cadena)): > if cadena[i]=="-": > r.append(cadena[marca:i]) > marca=i+1 > if i+1==len(cadena): > r.append(cadena[marca:i+1]) > >Fue lo único que se me ocurrio, soy novato en python...alguien se >preguntará para que este tipo pregunta, si ya resolvio el >problema....pregunto si es que esta bien lo que estoy haciendo y si >alguien me puede decir si esto se puede mejorar(creo que sí..por eso >que escribo). > >en todo caso el algoritmo funciona, ya que por ejemplo separe la >siguiente cadena : IQUIQUE-ARICA-IQUIQUE y me quedó ['IQUIQUE', >'ARICA', 'IQUIQUE'] > >salu2!! > > > From lwayar en retronet.com.ar Fri May 20 18:34:02 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Fri, 20 May 2005 13:34:02 -0300 Subject: descomponer string In-Reply-To: <172699c5050520091856bb4dbc@mail.gmail.com> References: <172699c5050520091856bb4dbc@mail.gmail.com> Message-ID: <200505201334.02596.lwayar@retronet.com.ar> El Vie 20 May 2005 13:18, Milton inostroza escribió: Es sencillo proba con: import string lista = string.split(cadena,'-') Saludos. > ALGO1-ALGO2-ALGO3-ALGO4-ALGO5 -- Luis Tomas Wayar http://www.retronet.com.ar (o- (o- (o- (o- (o- (o- (o- (o- (o- (o- //\ //\ //\ //\ //\ //\ //\ //\ //\ //\ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ No sea pirata, sea libre. Use GNU/Linux -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.4 (GNU/Linux) mQGiBEIzdDwRBADQIK42e3SfqubTLA4WctwUJgNvp9Fk1ufLo5XBcpcRYeBmoNmP QBHjsYm1ZNGocrWtMRG1378C010bBwrJR6WA9/v0JkaAR1zAstJsWTQ8mdStDzvp q2rYwIPe0IqAcZ5ZqIwGTONqmkLl3B9dyfWu4CLoxxUK2mKwyBDYtZ48cwCgljTS cNdfrpCFNOIRv+EYTgGyvO8EAIRAcdmaGq3Q+0vjj22DCSe8KWlSoU/hfMFhci81 8lmxHtmJhvUywsKGSpT57C94zyfLbnsenBqr57qkn5WFgEmFHycs6YUQJBZ20zJp /tAAkA91nywNT6e+fkfRe5sEZ65LFLYlZHk3vud1loDgwppObvlcejrJYFr6V5m+ jK84A/9jELXIIh4GoNRTV8BES5Gp1R4Ov+McddclPcvO3z1uFUbYauHgHgmpLeum ixce/KsRh+PCSQCgrEbwexZEh870eBFBsLK+pz759l75hTjajy8lEP5xOp3BEvJr t6L7Z4CiFpnYLccSweTpVvOdQBn1giLEoremLxByJWhJyMZ8n7YAAAA0THVpcyBU b21hcyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPohe BBMRAgAeBQJCM3Q8AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOIdU5ca/D3/ BY4AniuZ4nyLVXQyZa+1vVRTslulzP6IAJ9BZsgzT8YLslNdAIRHLwmUbLwZC7kB DQRCM3Q+EAQAnVFoVMuDvx4IxN4nXxl5DKpZNs1O0mP7zJZlN89Hpb+3BEOHVHiw OKOa8p8HfLc/8BIPZd0eoMTkdfLBImTuBb+tsYuWx+YykDdJ9dyuJLU27C+pptFQ +ru6K+Oh5h19v5MUdvtX9pmbaNgzbUwwVvD7by3sj6BuYKXLW3QXl38ABAsD/25W nga4AheDf4mlpDMrFwppa5ZhtZKIn3Z3PwnbZv3qG2j1sO092XE0kKZyfaZnp0xK uGl35xcPNZ+ChRX1qlflhcyysFMuXSYLnV4mQpHo6qx28P7o0IVg9GfgRAMMs9kL E+xFQ+jYQA9b3JhMmHSnS7SxupulaHRhJFUuvXS0iEkEGBECAAkFAkIzdD4CGwwA CgkQ4h1Tlxr8Pf9qHgCgg0hP9UKx8C4xqJ10KAYHgWZwbckAn10w19qTREan2X6z WtyXEG7afbEQ =rXwf -----END PGP PUBLIC KEY BLOCK----- From ceritium en gmail.com Fri May 20 19:08:49 2005 From: ceritium en gmail.com (Ceritium) Date: Fri, 20 May 2005 19:08:49 +0200 Subject: almacenar datos para el Cerebro de un bot Message-ID: Holas, aun sigo con mi bot, ya dice hola :D bueno la cuestion esque quiero que tenga "inteligencia" pero no quiero que responda con frases tipos a ciertas palabras quiero que por ejemplo si yo le digo "agua" el busque agua y veo las caracteristicas del agua y escriba una frase a partir de una de ellas o varias o como sea, dependiendo de unas reglas sintacticas basicas, por ejemplo. Sujeto + verbo + atributo o adj EL Agua es transparente Para ello necesito una forma de almacenar datos relacionarlos unos con otros etc, para eso me recomendais bases de datos? el sqllite será suficiente? algun otro metodo? Espero vuestras respuestas. -- http://ceritium.blogsome.com From cescd en yahoo.com.mx Fri May 20 19:12:13 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 20 May 2005 12:12:13 -0500 (CDT) Subject: almacenar datos para el Cerebro de un bot In-Reply-To: 6667 Message-ID: <20050520171213.7127.qmail@web50406.mail.yahoo.com> PyAIML es lo que buscas: http://pyaiml.sourceforge.net/ --- Ceritium escribió: > Holas, aun sigo con mi bot, ya dice hola :D > > bueno la cuestion esque quiero que tenga > "inteligencia" pero no quiero > que responda con frases tipos a ciertas palabras > quiero que por > ejemplo si yo le digo "agua" el busque agua y veo > las caracteristicas > del agua y escriba una frase a partir de una de > ellas o varias o como > sea, dependiendo de unas reglas sintacticas basicas, > por ejemplo. > > Sujeto + verbo + atributo o adj > EL Agua es transparente > > Para ello necesito una forma de almacenar datos > relacionarlos unos con > otros etc, para eso me recomendais bases de datos? > el sqllite será > suficiente? algun otro metodo? > > Espero vuestras respuestas. > -- > http://ceritium.blogsome.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From cescd en yahoo.com.mx Fri May 20 19:17:40 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Fri, 20 May 2005 12:17:40 -0500 (CDT) Subject: almacenar datos para el Cerebro de un bot In-Reply-To: 6667 Message-ID: <20050520171740.7361.qmail@web50405.mail.yahoo.com> He aquí una liga en español de construcción de bots: http://www.software20.org/es/attachments/SI_aiml_ES.pdf --- Cesar Cardenas Desales escribió: > PyAIML es lo que buscas: > > http://pyaiml.sourceforge.net/ > > --- Ceritium escribió: > > Holas, aun sigo con mi bot, ya dice hola :D > > > > bueno la cuestion esque quiero que tenga > > "inteligencia" pero no quiero > > que responda con frases tipos a ciertas palabras > > quiero que por > > ejemplo si yo le digo "agua" el busque agua y veo > > las caracteristicas > > del agua y escriba una frase a partir de una de > > ellas o varias o como > > sea, dependiendo de unas reglas sintacticas > basicas, > > por ejemplo. > > > > Sujeto + verbo + atributo o adj > > EL Agua es transparente > > > > Para ello necesito una forma de almacenar datos > > relacionarlos unos con > > otros etc, para eso me recomendais bases de datos? > > el sqllite será > > suficiente? algun otro metodo? > > > > Espero vuestras respuestas. > > -- > > http://ceritium.blogsome.com > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _________________________________________________________ > Do You Yahoo!? > La mejor conexión a internet y 25MB extra a tu > correo por $100 al mes. http://net.yahoo.com.mx > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From mauroka en gmail.com Fri May 20 20:53:25 2005 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Fri, 20 May 2005 15:53:25 -0300 Subject: descomponer string In-Reply-To: <200505201334.02596.lwayar@retronet.com.ar> References: <172699c5050520091856bb4dbc@mail.gmail.com> <200505201334.02596.lwayar@retronet.com.ar> Message-ID: <3c924a2505052011534f80a961@mail.gmail.com> Hola Milton, un pequeño consejo. Nunca recorras una cadena, lista o tupla de esta forma: for i in range(len(cadena)): if cadena[i]=="-": Ese estilo de programación no es bueno y más allá que funcione, en python las cosas se pueden hacer de muchas otras formas mejores. Por ejemplo, recorré la cadena, lista o tupla iterando directamente sobre ellas: for i in cadena: print i, También hay otras formas de recorrerlas que es a través de listas de compresión. Para eso te recomiendo leer el capítulo de diveintopython, ya que lo explica muy bien. Saludos. From mauroka en gmail.com Fri May 20 20:57:36 2005 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Fri, 20 May 2005 15:57:36 -0300 Subject: descomponer string In-Reply-To: <3c924a2505052011534f80a961@mail.gmail.com> References: <172699c5050520091856bb4dbc@mail.gmail.com> <200505201334.02596.lwayar@retronet.com.ar> <3c924a2505052011534f80a961@mail.gmail.com> Message-ID: <3c924a2505052011577c82038@mail.gmail.com> Cuando digo que ese estilo de programación no es bueno, me refiero a que no es bueno hacerlo en python. From jjdelcerromurciano en yahoo.es Fri May 20 21:07:22 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Fri, 20 May 2005 21:07:22 +0200 Subject: iteradores. Message-ID: <200505202107.23032.jjdelcerromurciano@yahoo.es> Hola, lista. Estaba el otro dia haciendo unas cosillas con diccionarios y thread y se me ocurrio que me quitaria bastante codigo de en medio con una clase diccionario que se encargase de bloquear el diccionario cada vez que es accedido por distintos threads para evitar colisiones durante el acceso a el. Monte algo como lo que sigue: from threading import RLock class SynchronizedDict(dict): def __init__(self): dict.__init__(self) self._lock = RLock() def acquire(self): return self._lock.acquire() def release(self): return self._lock.release() def __len__(self): try: self._lock.acquire() return dict.__len__(self) finally: self._lock.release() def __setitem__(self,key,value): try: self._lock.acquire() dict.__setitem__(self,key,value) finally: self._lock.release() def __getitem__(self,key): try: self._lock.acquire() return dict.__getitem__(self,key) finally: self._lock.release() def get(self,key,default=None): try: self._lock.acquire() return dict.get(self,key,default) finally: self._lock.release() def __delitem__(self,key): try: self._lock.acquire() dict.__delitem_(self,key) finally: self._lock.release() def __iter__(self): try: self._lock.acquire() for key in dict.iterkeys(self): yield key finally: self._lock.release() ... mas para el iteritems, itervalues e iterkeys ... Y para mi sorpresa inicial el compiler se niega a compilar el __iter__ diciendo que no puedo user try-finally con un yield dentro. Lo piensas friamente y acabas viendole cierta logica. Parece que manda cojones implementar eso. Asi que decido cambiar el __iter__ por este otro: def __iter__(self): try: self._lock.acquire() for key in dict.iterkeys(self): yield key except: print "### __iter__: Ha petao" self._lock.release() raise Asi parece que compila y asta parece funcionar. Pero solo parece funcionar. Mi intencion era que mientras que en un thread este iterando sobre el diccionario, ningun otro thread le toque las narices al diccionario, y que si en ese bucle algo peta me liberase el bloqueo sobre el diccionario. Algo inocente y aparentemente deseable. Pos va a se r que no. No va. Si ejecuto el codigo siguiente el resultado es, para mi, del todo sorprendente. d = SynchronizedDict() d["a"] = 1 d["b"] = 2 d["c"] = 3 try: for x in d: 1/0 except: print "### Peto." El resultado que esperaba era algo como ### __iter__: Ha petao ### Peto. Pero solo sale ### Peto. Y ademas me deja el RLock pillado. No se si he implementado incorrectamente lo que quiero, o si es que hay otra forma de hacerlo o simplemente no se puede hacer. A veces estas intentando una aproximacion al problema cuando ya esta implementado algo que lo resuelve por otro lado. Si alguien ha ententido lo que quiero y sabe indicarme por donde meterle mano se lo agradeceria, no es que sea una cuestion de vida o muerte, simplemente me ha tocado llamar a d.acquire() y d.release() antes y despues de iterar sobre el diccionario en todo el codigo de la aplciacion, cosa que ya he hecho, pero me parece un poco bruto cuando aparentaba haber una solucion simple al alcance de la mano. Bueno, espero que alguien sepa decirme algo. Un saludo Joaquin ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jmeile en hotmail.com Fri May 20 21:45:29 2005 From: jmeile en hotmail.com (Josef Meile) Date: Fri, 20 May 2005 21:45:29 +0200 Subject: descomponer string In-Reply-To: <200505201334.02596.lwayar@retronet.com.ar> References: <172699c5050520091856bb4dbc@mail.gmail.com> <200505201334.02596.lwayar@retronet.com.ar> Message-ID: <428E3E59.4040303@hotmail.com> > El Vie 20 May 2005 13:18, Milton inostroza escribió: > Es sencillo proba con: > > import string > > lista = string.split(cadena,'-') Y por qué no: lista = cadena.split('-') En algún lado de la documentación de python leí que la forma que utilizaste es obsoleta y se recomienda la última, la cual es más orientada a objetos. Saludos, Josef From hernan en orgmf.com.ar Fri May 20 21:56:42 2005 From: hernan en orgmf.com.ar (=?us-ascii?Q?Hernan_Martinez_Foffani?=) Date: Fri, 20 May 2005 21:56:42 +0200 Subject: iteradores. In-Reply-To: <200505202107.23032.jjdelcerromurciano@yahoo.es> References: <200505202107.23032.jjdelcerromurciano@yahoo.es> Message-ID: > ... > Y para mi sorpresa inicial el compiler se niega a compilar > el __iter__ diciendo que no puedo user try-finally con un yield > dentro. Lo piensas friamente y acabas viendole cierta logica. Parece > que manda cojones implementar eso. Nones... No se puede. Casualmente los desarrolladores de python estan conversando sobre precisamente esto mismo. (Ahora mismo hay un hilo de conversacion de chiquicientos mil mensajes...) > Asi que decido cambiar el __iter__ por este otro: > > def __iter__(self): > try: > self._lock.acquire() > for key in dict.iterkeys(self): > yield key > except: > print "### __iter__: Ha petao" > self._lock.release() > raise > > Asi parece que compila y asta parece funcionar. Pero solo parece > funcionar. Mi intencion era que mientras que en un thread este > iterando sobre el diccionario, ningun otro thread le toque las > narices al diccionario, y que si en ese bucle algo peta me liberase > el bloqueo sobre el diccionario. Algo inocente y aparentemente > deseable. > > Pos va a se r que no. > No va. > Si ejecuto el codigo siguiente el resultado es, para mi, del todo > sorprendente. > > d = SynchronizedDict() > d["a"] = 1 > d["b"] = 2 > d["c"] = 3 > try: > for x in d: > 1/0 > except: > print "### Peto." > > El resultado que esperaba era algo como > > ### __iter__: Ha petao > ### Peto. > > Pero solo sale > > ### Peto. > > Y ademas me deja el RLock pillado. > Je... claro. Lo que pasa es que no se le puede pasar una excepcion de vuelta a un generador. De hecho, por el momento, no se le puede devolver nada. > ... > Si alguien ha ententido lo que quiero y sabe indicarme por donde > meterle mano se lo agradeceria, no es que sea una cuestion de vida o > muerte, simplemente me ha tocado llamar a d.acquire() y d.release() > antes y despues de iterar sobre el diccionario en todo el codigo de > la aplciacion, cosa que ya he hecho, pero me parece un poco bruto > cuando aparentaba haber una solucion simple al alcance de la mano. No eres el unico. Lo que en realidad estas haciendo es intentar convertir un iterador (generador extrictamente hablando) en una corutina. Es tentador, pero por el momento los generadores no llegan a tanto. Hay varias posibilidades en estudio y quizas es posible que se implementen muchas de ellas. Una es la que mencionaste antes: try/yield/finally, que tambien puede servir para transacciones. Otra es un protocolo para clases __enter__ y __exit__. Un nuevo tipo de sentencia python que haga uso de cualquiera de ambas posibilidades. Algo como: with tran(db): db.insert("un registro") db.insert("otro") Por ahora paciencia, pero habra novedades... En cuanto a tu problema especifico entiendo que lo puedes resolver sin usar el yield y creando un iterador que tenga el metodo next(), que lleve la cuenta de por donde va y que dispare StopIteration cuando llega al final, llamando adquire y release segun tu conveniencia. Saludos, -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jjdelcerromurciano en yahoo.es Fri May 20 22:14:01 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Fri, 20 May 2005 22:14:01 +0200 Subject: iteradores. In-Reply-To: References: Message-ID: <200505202214.01931.jjdelcerromurciano@yahoo.es> Muchas gracias por tu respuesta. Conozco algo sobre compiladores he interpretes y cuando me ha pasado ya intuia que era una putada gorda de resolver para el interprete, pero lo que mas agrdezco es que me has ofrecido la respuesta, y ademas simple como un botijo y en la que ante la perplejidad de pete no habia caido. Algo tan simple como implementar mi metodo next que lo gestione. Una cosa mas, "corutina". Se puede explicar en dos parrafos lo que es eso ? Si es muy largo, puedes pasarme alguna direccion para leer que lo explique aceptablemente ? Ya me he tropecedo con ello algunas veces y no tengo claro de que me hablan. Me resistia a apuntarme a las lista de python en ingles por que no lo leo con demasiada soltura y me es imposible escribirlo, pero por lo que veo me voy a tener que suscribir para estar al dia de lo que hacen con el interprete. Un saludo Joaquin. El Friday, 20 de May de 2005 21:56, Hernan Martinez Foffani escribió: > > ... > > Y para mi sorpresa inicial el compiler se niega a compilar > > el __iter__ diciendo que no puedo user try-finally con un yield > > dentro. Lo piensas friamente y acabas viendole cierta logica. Parece > > que manda cojones implementar eso. > > Nones... No se puede. > Casualmente los desarrolladores de python estan conversando > sobre precisamente esto mismo. (Ahora mismo hay un hilo de > conversacion de chiquicientos mil mensajes...) > > > Asi que decido cambiar el __iter__ por este otro: > > > > def __iter__(self): > > try: > > self._lock.acquire() > > for key in dict.iterkeys(self): > > yield key > > except: > > print "### __iter__: Ha petao" > > self._lock.release() > > raise > > > > Asi parece que compila y asta parece funcionar. Pero solo parece > > funcionar. Mi intencion era que mientras que en un thread este > > iterando sobre el diccionario, ningun otro thread le toque las > > narices al diccionario, y que si en ese bucle algo peta me liberase > > el bloqueo sobre el diccionario. Algo inocente y aparentemente > > deseable. > > > > Pos va a se r que no. > > No va. > > Si ejecuto el codigo siguiente el resultado es, para mi, del todo > > sorprendente. > > > > d = SynchronizedDict() > > d["a"] = 1 > > d["b"] = 2 > > d["c"] = 3 > > try: > > for x in d: > > 1/0 > > except: > > print "### Peto." > > > > El resultado que esperaba era algo como > > > > ### __iter__: Ha petao > > ### Peto. > > > > Pero solo sale > > > > ### Peto. > > > > Y ademas me deja el RLock pillado. > > Je... claro. Lo que pasa es que no se le puede pasar > una excepcion de vuelta a un generador. De hecho, por el > momento, no se le puede devolver nada. > > > ... > > Si alguien ha ententido lo que quiero y sabe indicarme por donde > > meterle mano se lo agradeceria, no es que sea una cuestion de vida o > > muerte, simplemente me ha tocado llamar a d.acquire() y d.release() > > antes y despues de iterar sobre el diccionario en todo el codigo de > > la aplciacion, cosa que ya he hecho, pero me parece un poco bruto > > cuando aparentaba haber una solucion simple al alcance de la mano. > > No eres el unico. > > Lo que en realidad estas haciendo es intentar convertir un > iterador (generador extrictamente hablando) en una corutina. > Es tentador, pero por el momento los generadores no llegan a > tanto. > > Hay varias posibilidades en estudio y quizas es posible que se > implementen muchas de ellas. Una es la que mencionaste antes: > try/yield/finally, que tambien puede servir para transacciones. > Otra es un protocolo para clases __enter__ y __exit__. > Un nuevo tipo de sentencia python que haga uso de cualquiera > de ambas posibilidades. Algo como: > > with tran(db): > db.insert("un registro") > db.insert("otro") > > Por ahora paciencia, pero habra novedades... > > En cuanto a tu problema especifico entiendo que lo puedes resolver > sin usar el yield y creando un iterador que tenga el metodo next(), > que lleve la cuenta de por donde va y que dispare StopIteration > cuando llega al final, llamando adquire y release segun tu > conveniencia. > > Saludos, > -H. From lwayar en retronet.com.ar Sat May 21 04:01:31 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Fri, 20 May 2005 23:01:31 -0300 Subject: descomponer string In-Reply-To: <428E3E59.4040303@hotmail.com> References: <172699c5050520091856bb4dbc@mail.gmail.com> <200505201334.02596.lwayar@retronet.com.ar> <428E3E59.4040303@hotmail.com> Message-ID: <200505202301.31346.lwayar@retronet.com.ar> El Vie 20 May 2005 16:45, Josef Meile escribió: Es vardad lo que dices, te agradesco la aclaracion. Vengo de C y todavia me estoy ambientando. Saludos. > > El Vie 20 May 2005 13:18, Milton inostroza escribió: > > Es sencillo proba con: > > > > import string > > > > lista = string.split(cadena,'-') > > Y por qué no: > lista = cadena.split('-') > > En algún lado de la documentación de python leí que la forma que > utilizaste es obsoleta y se recomienda la última, la cual es más > orientada a objetos. > > Saludos, > Josef > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Tomas Wayar http://www.retronet.com.ar (o- (o- (o- (o- (o- (o- (o- (o- (o- (o- //\ //\ //\ //\ //\ //\ //\ //\ //\ //\ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ No sea pirata, sea libre. Use GNU/Linux -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.2.4 (GNU/Linux) mQGiBEIzdDwRBADQIK42e3SfqubTLA4WctwUJgNvp9Fk1ufLo5XBcpcRYeBmoNmP QBHjsYm1ZNGocrWtMRG1378C010bBwrJR6WA9/v0JkaAR1zAstJsWTQ8mdStDzvp q2rYwIPe0IqAcZ5ZqIwGTONqmkLl3B9dyfWu4CLoxxUK2mKwyBDYtZ48cwCgljTS cNdfrpCFNOIRv+EYTgGyvO8EAIRAcdmaGq3Q+0vjj22DCSe8KWlSoU/hfMFhci81 8lmxHtmJhvUywsKGSpT57C94zyfLbnsenBqr57qkn5WFgEmFHycs6YUQJBZ20zJp /tAAkA91nywNT6e+fkfRe5sEZ65LFLYlZHk3vud1loDgwppObvlcejrJYFr6V5m+ jK84A/9jELXIIh4GoNRTV8BES5Gp1R4Ov+McddclPcvO3z1uFUbYauHgHgmpLeum ixce/KsRh+PCSQCgrEbwexZEh870eBFBsLK+pz759l75hTjajy8lEP5xOp3BEvJr t6L7Z4CiFpnYLccSweTpVvOdQBn1giLEoremLxByJWhJyMZ8n7YAAAA0THVpcyBU b21hcyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPohe BBMRAgAeBQJCM3Q8AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOIdU5ca/D3/ BY4AniuZ4nyLVXQyZa+1vVRTslulzP6IAJ9BZsgzT8YLslNdAIRHLwmUbLwZC7kB DQRCM3Q+EAQAnVFoVMuDvx4IxN4nXxl5DKpZNs1O0mP7zJZlN89Hpb+3BEOHVHiw OKOa8p8HfLc/8BIPZd0eoMTkdfLBImTuBb+tsYuWx+YykDdJ9dyuJLU27C+pptFQ +ru6K+Oh5h19v5MUdvtX9pmbaNgzbUwwVvD7by3sj6BuYKXLW3QXl38ABAsD/25W nga4AheDf4mlpDMrFwppa5ZhtZKIn3Z3PwnbZv3qG2j1sO092XE0kKZyfaZnp0xK uGl35xcPNZ+ChRX1qlflhcyysFMuXSYLnV4mQpHo6qx28P7o0IVg9GfgRAMMs9kL E+xFQ+jYQA9b3JhMmHSnS7SxupulaHRhJFUuvXS0iEkEGBECAAkFAkIzdD4CGwwA CgkQ4h1Tlxr8Pf9qHgCgg0hP9UKx8C4xqJ10KAYHgWZwbckAn10w19qTREan2X6z WtyXEG7afbEQ =rXwf -----END PGP PUBLIC KEY BLOCK----- From minoztro en gmail.com Sat May 21 05:05:13 2005 From: minoztro en gmail.com (Milton inostroza) Date: Fri, 20 May 2005 23:05:13 -0400 Subject: descomponer string In-Reply-To: <200505202301.31346.lwayar@retronet.com.ar> References: <172699c5050520091856bb4dbc@mail.gmail.com> <200505201334.02596.lwayar@retronet.com.ar> <428E3E59.4040303@hotmail.com> <200505202301.31346.lwayar@retronet.com.ar> Message-ID: <172699c5050520200523dbcb38@mail.gmail.com> muchas gracias ya realice el cambio, gracias por la ayuda, salu2!! El 20/05/05, Luis Tomas Wayar escribió: > El Vie 20 May 2005 16:45, Josef Meile escribió: > > Es vardad lo que dices, te agradesco la aclaracion. Vengo de C y todavia me > estoy ambientando. > > Saludos. > > > > El Vie 20 May 2005 13:18, Milton inostroza escribió: > > > Es sencillo proba con: > > > > > > import string > > > > > > lista = string.split(cadena,'-') > > > > Y por qué no: > > lista = cadena.split('-') > > > > En algún lado de la documentación de python leí que la forma que > > utilizaste es obsoleta y se recomienda la última, la cual es más > > orientada a objetos. > > > > Saludos, > > Josef > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > -- > Luis Tomas Wayar > http://www.retronet.com.ar > > (o- (o- (o- (o- (o- (o- (o- (o- (o- (o- > //\ //\ //\ //\ //\ //\ //\ //\ //\ //\ > V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ V_/_ > No sea pirata, sea libre. Use GNU/Linux > > -----BEGIN PGP PUBLIC KEY BLOCK----- > Version: GnuPG v1.2.4 (GNU/Linux) > > mQGiBEIzdDwRBADQIK42e3SfqubTLA4WctwUJgNvp9Fk1ufLo5XBcpcRYeBmoNmP > QBHjsYm1ZNGocrWtMRG1378C010bBwrJR6WA9/v0JkaAR1zAstJsWTQ8mdStDzvp > q2rYwIPe0IqAcZ5ZqIwGTONqmkLl3B9dyfWu4CLoxxUK2mKwyBDYtZ48cwCgljTS > cNdfrpCFNOIRv+EYTgGyvO8EAIRAcdmaGq3Q+0vjj22DCSe8KWlSoU/hfMFhci81 > 8lmxHtmJhvUywsKGSpT57C94zyfLbnsenBqr57qkn5WFgEmFHycs6YUQJBZ20zJp > /tAAkA91nywNT6e+fkfRe5sEZ65LFLYlZHk3vud1loDgwppObvlcejrJYFr6V5m+ > jK84A/9jELXIIh4GoNRTV8BES5Gp1R4Ov+McddclPcvO3z1uFUbYauHgHgmpLeum > ixce/KsRh+PCSQCgrEbwexZEh870eBFBsLK+pz759l75hTjajy8lEP5xOp3BEvJr > t6L7Z4CiFpnYLccSweTpVvOdQBn1giLEoremLxByJWhJyMZ8n7YAAAA0THVpcyBU > b21hcyBXYXlhciAoUmV0cm9NYW4pIDxsd2F5YXJAcmV0cm9uZXQuY29tLmFyPohe > BBMRAgAeBQJCM3Q8AhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEOIdU5ca/D3/ > BY4AniuZ4nyLVXQyZa+1vVRTslulzP6IAJ9BZsgzT8YLslNdAIRHLwmUbLwZC7kB > DQRCM3Q+EAQAnVFoVMuDvx4IxN4nXxl5DKpZNs1O0mP7zJZlN89Hpb+3BEOHVHiw > OKOa8p8HfLc/8BIPZd0eoMTkdfLBImTuBb+tsYuWx+YykDdJ9dyuJLU27C+pptFQ > +ru6K+Oh5h19v5MUdvtX9pmbaNgzbUwwVvD7by3sj6BuYKXLW3QXl38ABAsD/25W > nga4AheDf4mlpDMrFwppa5ZhtZKIn3Z3PwnbZv3qG2j1sO092XE0kKZyfaZnp0xK > uGl35xcPNZ+ChRX1qlflhcyysFMuXSYLnV4mQpHo6qx28P7o0IVg9GfgRAMMs9kL > E+xFQ+jYQA9b3JhMmHSnS7SxupulaHRhJFUuvXS0iEkEGBECAAkFAkIzdD4CGwwA > CgkQ4h1Tlxr8Pf9qHgCgg0hP9UKx8C4xqJ10KAYHgWZwbckAn10w19qTREan2X6z > WtyXEG7afbEQ > =rXwf > -----END PGP PUBLIC KEY BLOCK----- > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From minoztro en gmail.com Sat May 21 06:42:30 2005 From: minoztro en gmail.com (Milton inostroza) Date: Sat, 21 May 2005 00:42:30 -0400 Subject: comboboxentry (dejar set_sensitive(gkt.FALSE) a un elemento de la lista) Message-ID: <172699c50505202142b9f9152@mail.gmail.com> hola: deseo dejar set_sensitive(gtk.FALSE) al elemento activo del comboboxentry, pero he visto por el pygtk references y no sale nada parecido a lo que quiero hacer, llegar hasta leer la references de gtk.CellRenderer Text y no sale nada, alguien me puede ayudar...ojo que no quiero borrarlo de la lista solamente dejar sensitivo o no sensitivo según corresponda, salu2!! -- Milton Inostroza Aguilera Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From hernan en orgmf.com.ar Sat May 21 15:33:39 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sat, 21 May 2005 15:33:39 +0200 Subject: iteradores. In-Reply-To: <200505202214.01931.jjdelcerromurciano@yahoo.es> References: <200505202214.01931.jjdelcerromurciano@yahoo.es> Message-ID: > Una cosa mas, "corutina". Se puede explicar en dos parrafos lo que es > eso ? Si es muy largo, puedes pasarme alguna direccion para leer que > lo explique aceptablemente ? Ya me he tropecedo con ello algunas > veces y no tengo claro de que me hablan. Tendré que resucitar algunas neuronas, hace casi 20 años que dejé la facu. ;-) Veamos como me sale... Una corutina es una subrutina que retorna al llamador antes de completar su proceso. En realidad las subrutinas son un tipo de corutina que solo retornan una sola vez. En teoría los generadores de python son semi-corutinas, porque el llamador no le puede inyectar datos al generador. Esto se podría cambiar mediante: def generador(): def corutina(): a = 0 a = 0 yield a + 10 vs. a = yield a + 10 yield a + 10 a = yield a + 10 yield a + 10 a = yield a + 10 for x in generador(): for x in corutina(): print x print x continue continue x + 1 El caso del generador imprime 10, 10 y 10. El continue de la izquierda no hace falta pero lo pongo por simetría. Una imaginaria implementación en python podría permitir poner una expresión luego del continue. El resultado de esa expresión sería el valor retornado por yield. En este supuesto caso imprimiría: 10, 21 y 32. Aún así para que las corutinas sean completas el llamador no debe tener una "jerarquía" especial. Es decir que una corutina pueda llamar a otra ("collamada".) > Me resistia a apuntarme a las lista de python en ingles por que no lo > leo con demasiada soltura y me es imposible escribirlo, pero por lo > que veo me voy a tener que suscribir para estar al dia de lo que > hacen con el interprete. Cada 15 días suele aparecer un resumen muy bien editado y escrito sobre la actividad de la lista http://www.python.org/dev/summary/ (Incluye un RSS feed.) Saludos, -H. From raro82 en hotmail.com Sat May 21 21:10:58 2005 From: raro82 en hotmail.com (Adrian Ferreres Esteller) Date: Sat, 21 May 2005 19:10:58 +0000 Subject: socket.error: (10061, 'Connection refused') Message-ID: Hola lista: Primero quiero agradecer a todos por los consejos y ayudas que me disteis con mis problemas con las expresiones regulares. He de decir, con un poco de verguenza por mi parte, que el problema no lo tenia, precisamente, en expresiones regulares sino en un nombre mal escrito de una variable. Me explico: Yo para compilar las expresiones regulares lo hacia de esta manera: expr1=".+" expr2=".+" expr3=".+" mi_re1=re.compile (expr1) mi_re2=re.compile (expr2) mi_re3=re.compile (expr2) Por eso mi programa me ignoraba las lineas con las etiquetas y me sacaba dos veces las etiquetas . De todas formas, como muy bien me explico Hernan Martinez, esta manera de manipular archivos html no es muy buena y segura asi que tendre que seguir trabajando. Ahora tengo otro problema que no se por donde pillar, tambien relacionado con la araña web. Mi araña web final se compone de tres programas: el downloader.py el reader.py el sorter.py El primero se encarga de bajarse las pagianas web. El segundo se encarga de leer las paginas web descargadas y obtener los links. Y el tercero se encarga leer las paginas almacenarlas en la base de datos. Todos los programas funcionan con hilos y se comunican entre ellos mediante sockets. El downloader recibe una direccion url de inicio que se le pasa en la linea de comandos. Una vez almacenada en el disco duro se pasa la ruta de directorios al reader y al sorter. El reader crea un hilo por pagina que recibe que se encarga de obtener los links, sacar la direccion url y enviarlas de nuevo al downloader que a su vez crea un hilo por cada nueva url. El sorter crea un hilo por cada pagina web descargada y las almacena en la base de datos. Pues bien, cada vez que ejecuto el downloader obtengo el siguiente error: "socket.error: (10061, 'Connection refused')" y la verdad es que no se porque. Os envio el codigo fuenta del programa a ver si podeis hecharme una mano. Muchas gracias a todos import socket import sys from string import split from string import find import os import threading def almacenamiento (path): direccion=path[0]+"/" for i in xrange (len(path)-1): direccion=direccion+path[i]+"/" if not os.access (direccion,os.F_OK): os.makedirs (direccion) if (len(path)==1) or (path[1]=="") : direccion=direccion+"index.htm" else: direccion=direccion+path[len(path)-1] return direccion def dir_web (path): if (len(path)==1) or (path[1]==""): s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.connect ((path[0], 80)) HTTP_request="GET /index.htm HTTP/1.0\r\n\r\n" if (s.send(HTTP_request)): web_add="/index.htm" else: web_add="/index.html" s.close () else: web_add=""; for i in xrange (1,len(path)): web_add=web_add+"/"+path[i] return web_add def download (direccion, web_add, host, port): print "Descargando del host: ",host s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.connect ((host,port)) HTTP_request="GET "+web_add+" HTTP/1.0\r\n\r\n" s.send (HTTP_request) print "Almacenando pagina en la direccion: ",direccion fn= open (direccion,'w') fin_cabecera=False respuesta=s.recv(1024) while respuesta: if fin_cabecera: fn.write (respuesta) else: fin=find (respuesta,"\r\n\r\n") if fin!=-1: fn.write (respuesta[fin+4]) fin_cabecera=True respuesta=s.recv(1024) s.close () fn.close () class descarga (threading.Thread): def __init__ (self,conexion, cliente): threading.Thread.__init__ (self) self.conexion=conexion self.cliente= cliente def run (self): path=self.conexion.recv(1024) path=path[7:] path=split ('/',path) self.conexion.close() direccion= almacenamiento (path) web_addr=dir_web (path) download (direccion,web_addr,path[0],80) s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.connect (("localhost",8080)) s.send (direccion) s.close () s.connect (("localhost",8081)) s.send (direccion) s.close () host="localhost" port=8080 path= sys.argv[1] path= path[7:] path= split (path,'/') print path[0] direccion= almacenamiento (path) web_addr=dir_web (path) download (direccion,web_addr,path[0],80) s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) s.connect ((host,port)) s.send (direccion) s.close () s.connect ((host,8081)) s.send (direccion) s.close () s.bind ((socket.gethostname (), 8082)) s.listen (100) while (1): (conexion,cliente)= s.accept () print "Se ha conectado otro cliente" dc= descarga (conexion,cliente) dc.start() From jjdelcerromurciano en yahoo.es Sat May 21 23:27:05 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Sat, 21 May 2005 23:27:05 +0200 Subject: iteradores. In-Reply-To: <200505202107.23032.jjdelcerromurciano@yahoo.es> References: <200505202107.23032.jjdelcerromurciano@yahoo.es> Message-ID: <200505212327.05486.jjdelcerromurciano@yahoo.es> Holas, Ya estoy aqui de nuevo de vueltas con mi problema con los iteradores. Despues de los mensajes de Hernan Martinez, que han sido mi inspiracion, creo que puedo tener una solucion a mi problema de la clase SynchronizedDict, aunque aun me queda una duda. Basicamente uso un objeto a modo de wrapper sobre el iterador, que me bloquea el diccionario al iniciar la iteracion y lo desbloquea al destruirse el wrapper. Pero la clase esta tiene el metodo __del__, y siempre me ha dado bastante miedo meterle este metodo a alguna clase, ya que segun he entendido cuando una clase tiene este metodo y se da una referencia circular en la que interviene un objeto de esta clase, la referencia circular entera no es liberada por el recolector de basura. A pesar de eso no creo que en este caso se vayan a dar este tipo de problemas. Pego aqui el codigo y si alguien le ve algo raro agradeceria sus comentarios, y si no, pues aqui esta para el que lo quiera gastar. Tambien agradeceria cualquier correccion sobre el mi interpretacion del metodo __del__ y las referencias circulares. Tampoco tengo claro que metodos deberia implementar en mi clase wrapper sobre el iterador. Los que he puesto a sido a base de construir un iterador y mirar que tenia, y a partir de ahi ver a que se llamaba y que podia devolver yo. Vamos prueba y error basicamente. Si alguien ve que deberia implementar algo mas sobre el wrapper, no estaria mal que lo comentase. Bueno, gracias por adelantado, y aqui dejo el codigo. from threading import RLock class LockIterator(object): def __init__(self,iter,lock): self.__lock = lock self.__iter = iter self.__needlock = True def __del__(self): if not self.__needlock: print "__del__: desbloqueo" self.__lock.release() def next(self): if self.__needlock: print "next: Bloqueo" self.__lock.acquire() self.__needlock = False return self.__iter.next() def __iter__(self): if self.__needlock: print "__iter__: Bloqueo" self.__lock.acquire() self.__needlock = False for value in self.__iter: yield value class SynchronizedDict(dict): def __init__(self): dict.__init__(self) self._lock = RLock() def acquire(self): return self._lock.acquire() def release(self): return self._lock.release() def __len__(self): try: self._lock.acquire() return dict.__len__(self) finally: self._lock.release() def __setitem__(self,key,value): try: self._lock.acquire() dict.__setitem__(self,key,value) finally: self._lock.release() def __getitem__(self,key): try: self._lock.acquire() return dict.__getitem__(self,key) finally: self._lock.release() def get(self,key,default=None): try: self._lock.acquire() return dict.get(self,key,default) finally: self._lock.release() def __delitem__(self,key): try: self._lock.acquire() dict.__delitem_(self,key) finally: self._lock.release() def __iter__(self): return LockIterator(dict.__iter__(self),self._lock) def iterkeys(self): return LockIterator(dict.iterkeys(self),self._lock) def iteritems(self): return LockIterator(dict.iteritems(self),self._lock) def itervalues(self): return LockIterator(dict.itervalues(self),self._lock) def test(): x = SynchronizedDict() x["a"] = 1 x["b"] = 2 x["c"] = 3 print "Inicio 1, iteritems" for n in x.iteritems(): print n print "Fin 1" print "Inicio 2, x" for n in x: print n print "Fin 2" try: print "Inicio 3, __iter__ + pete" for n in x.__iter__(): print n 1/0 print "Fin 3" except: print "Ha petao" if __name__ == "__main__": test() """ Inicio 1, iteritems __iter__: Bloqueo ('a', 1) ('c', 3) ('b', 2) __del__: desbloqueo Fin 1 Inicio 2, x next: Bloqueo a c b __del__: desbloqueo Fin 2 Inicio 3, __iter__ + pete __iter__: Bloqueo a __del__: desbloqueo Ha petao """ Un saludo Joaquin. From acastro en ciberdroide.com Sun May 22 10:05:12 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Sun, 22 May 2005 10:05:12 +0200 (CEST) Subject: iteradores. In-Reply-To: References: Message-ID: On Sat, 21 May 2005, Hernan Martínez Foffani wrote: > > Una cosa mas, "corutina". Se puede explicar en dos parrafos lo que es > > eso ? Si es muy largo, puedes pasarme alguna direccion para leer que > > lo explique aceptablemente ? Ya me he tropecedo con ello algunas > > veces y no tengo claro de que me hablan. > > Tendré que resucitar algunas neuronas, hace casi 20 años que dejé > la facu. ;-) Veamos como me sale... Pues mas o menos como yo y tambien me suena algo sobre corrutinas pero no lo recuerdo así. Tampoco es que me fíe mucho de mi memoria pero ... > Una corutina es una subrutina que retorna al llamador antes de > completar su proceso. Yo lo recuerdo como una forma de indicar que las rutinas que se llaman entre si son de igual importancia o jerarquía y por lo tanto la palabra subrutina no parece adecuada. Ejemplo: Comienzo rutina A Comienzo rutina B Tomar datos de la pila Tomar datos de la pila ... ... ... ... ... ... ... ... ... ... Meter datos en la pila Meter datos en la pila Ir al comienzo de la rutina B Ir al comienzo de la rutina A Recuerdo que hicimos algo así en una práctica en ensamblador pero en realidad y tal como yo lo recuerdo implementar algo asi en lenguajes de alto nivel sería como volver a la era del goto. Veo que no coincide para nada con tu idea, pero creo que los términos técnicos que por una razón u otra caen en deshuso se prestan a cambiar de significado. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From hernan en orgmf.com.ar Sun May 22 16:03:41 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sun, 22 May 2005 16:03:41 +0200 Subject: iteradores. In-Reply-To: References: Message-ID: >> Una corutina es una subrutina que retorna al llamador antes de >> completar su proceso. > > Yo lo recuerdo como una forma de indicar que las rutinas que se llaman > entre si son de igual importancia o jerarquía y por lo tanto la > palabra subrutina no parece adecuada. > ..... > Recuerdo que hicimos algo así en una práctica en ensamblador pero > en realidad y tal como yo lo recuerdo implementar algo asi en > lenguajes de alto nivel sería como volver a la era del goto. > > Veo que no coincide para nada con tu idea, pero creo que los términos > técnicos que por una razón u otra caen en deshuso se prestan a > cambiar de significado. En realidad sí coincide. Lo que pasa es a veces soy algo retorcido en mis explicaciones. ;-) -H. From hernan en orgmf.com.ar Sun May 22 17:56:05 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Sun, 22 May 2005 17:56:05 +0200 Subject: iteradores. In-Reply-To: <200505212327.05486.jjdelcerromurciano@yahoo.es> References: <200505212327.05486.jjdelcerromurciano@yahoo.es> Message-ID: > ... Pero la clase esta tiene el metodo __del__, y siempre me ha > dado bastante miedo meterle este metodo a alguna clase, ya que segun > he entendido cuando una clase tiene este metodo y se da una > referencia circular en la que interviene un objeto de esta clase, la > referencia circular entera no es liberada por el recolector de > basura. A pesar de eso no creo que en este caso se vayan a dar este > tipo de problemas. El comportamiento del recolector es mas complejo que lo que describes. En general trato de evitar usar __del__ porque no es deterministico. Al día de hoy creo que no es posible programar un mecanismo de adquisición y liberación (determinístico) de recursos en forma automática que sea 100% efectivo. -H. From erny en sicem.biz Sun May 22 23:59:34 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Sun, 22 May 2005 23:59:34 +0200 Subject: socket.error: (10061, 'Connection refused') In-Reply-To: References: Message-ID: <429100C6.1070400@sicem.biz> qué es path[0]? ¿Pues imprimir eso, antes de abrir el socket? está claro que hay un connection refused, es decir, que algún host aludido no responde a las solicitudes del puerto 80. Erny Adrian Ferreres Esteller escribió: > Hola lista: > > Primero quiero agradecer a todos por los consejos y ayudas que me > disteis con mis problemas con las expresiones regulares. He de decir, > con un poco de verguenza por mi parte, que el problema no lo tenia, > precisamente, en expresiones regulares sino en un nombre mal escrito > de una variable. Me explico: > > Yo para compilar las expresiones regulares lo hacia de esta manera: > > expr1=".+" > expr2=".+" > expr3=".+" > > mi_re1=re.compile (expr1) > mi_re2=re.compile (expr2) > mi_re3=re.compile (expr2) > > Por eso mi programa me ignoraba las lineas con las etiquetas y me > sacaba dos veces las etiquetas . De todas formas, como muy bien me > explico Hernan Martinez, esta manera de manipular archivos html no es > muy buena y segura asi que tendre que seguir trabajando. > > Ahora tengo otro problema que no se por donde pillar, tambien > relacionado con la araña web. Mi araña web final se compone de tres > programas: > > el downloader.py > el reader.py > el sorter.py > > El primero se encarga de bajarse las pagianas web. El segundo se > encarga de leer las paginas web descargadas y obtener los links. Y el > tercero se encarga leer las paginas almacenarlas en la base de datos. > Todos los programas funcionan con hilos y se comunican entre ellos > mediante sockets. El downloader recibe una direccion url de inicio que > se le pasa en la linea de comandos. Una vez almacenada en el disco > duro se pasa la ruta de directorios al reader y al sorter. El reader > crea un hilo por pagina que recibe que se encarga de obtener los > links, sacar la direccion url y enviarlas de nuevo al downloader que a > su vez crea un hilo por cada nueva url. El sorter crea un hilo por > cada pagina web descargada y las almacena en la base de datos. > > Pues bien, cada vez que ejecuto el downloader obtengo el siguiente > error: "socket.error: (10061, 'Connection refused')" y la verdad es > que no se porque. Os envio el codigo fuenta del programa a ver si > podeis hecharme una mano. Muchas gracias a todos > > > import socket > import sys > from string import split > from string import find > import os > import threading > > > def almacenamiento (path): > > > direccion=path[0]+"/" > for i in xrange (len(path)-1): > direccion=direccion+path[i]+"/" > > if not os.access (direccion,os.F_OK): > os.makedirs (direccion) > > if (len(path)==1) or (path[1]=="") : > direccion=direccion+"index.htm" > else: > direccion=direccion+path[len(path)-1] > > return direccion > > > def dir_web (path): > > > if (len(path)==1) or (path[1]==""): > s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) > s.connect ((path[0], 80)) > HTTP_request="GET /index.htm HTTP/1.0\r\n\r\n" > > if (s.send(HTTP_request)): > web_add="/index.htm" > else: > web_add="/index.html" > > s.close () > else: > web_add=""; > > for i in xrange (1,len(path)): > web_add=web_add+"/"+path[i] > > return web_add > > def download (direccion, web_add, host, port): > > print "Descargando del host: ",host > s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) > s.connect ((host,port)) > > HTTP_request="GET "+web_add+" HTTP/1.0\r\n\r\n" > s.send (HTTP_request) > > print "Almacenando pagina en la direccion: ",direccion > fn= open (direccion,'w') > fin_cabecera=False > respuesta=s.recv(1024) > > while respuesta: > if fin_cabecera: > fn.write (respuesta) > else: > fin=find (respuesta,"\r\n\r\n") > if fin!=-1: > fn.write (respuesta[fin+4]) > fin_cabecera=True > respuesta=s.recv(1024) > > s.close () > fn.close () > > class descarga (threading.Thread): > > def __init__ (self,conexion, cliente): > > threading.Thread.__init__ (self) > self.conexion=conexion > self.cliente= cliente > > > def run (self): > > path=self.conexion.recv(1024) > path=path[7:] > path=split ('/',path) > > self.conexion.close() > > direccion= almacenamiento (path) > web_addr=dir_web (path) > download (direccion,web_addr,path[0],80) > > s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) > s.connect (("localhost",8080)) > s.send (direccion) > s.close () > s.connect (("localhost",8081)) > s.send (direccion) > s.close () > > > > > > host="localhost" > port=8080 > > path= sys.argv[1] > path= path[7:] > path= split (path,'/') > > print path[0] > direccion= almacenamiento (path) > web_addr=dir_web (path) > download (direccion,web_addr,path[0],80) > > s= socket.socket (socket.AF_INET, socket.SOCK_STREAM) > s.connect ((host,port)) > s.send (direccion) > s.close () > s.connect ((host,8081)) > s.send (direccion) > s.close () > > s.bind ((socket.gethostname (), 8082)) > s.listen (100) > > while (1): > > (conexion,cliente)= s.accept () > print "Se ha conectado otro cliente" > > dc= descarga (conexion,cliente) > dc.start() > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0520-4, 20/05/2005 Comprobado en: 22/05/2005 23:59:36 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From th1nk3r en server01.org Mon May 23 16:57:52 2005 From: th1nk3r en server01.org (Ricardo Catalinas Jimenez) Date: Mon, 23 May 2005 16:57:52 +0200 Subject: Comprobar la clase del parametro de una funcion Message-ID: <20050523145752.GA3190@jehuty.server01.org> Vengo de saber programar C, y con la costumbre de hacer programas robustos, me gustatia saber como puedo comprobar a que clase pertenece el parametro con el que se llama a una funcion desde el principio. Cuando me refiero a clase, me refiero a las clases fundamentales de python como: int, long, string ... Digo esto porque si he entendido bien hasta donde he leido bastaria con esto: --- codigo --- class mi_clase: def funcion(): pass variable = mi_clase() variable.funcion() --- codigo --- De este modo, cada vez que un objeto haga uso del metodo `funcion', este objeto deberia pertenecer forzosamente a `mi_clase'. Por otro lado lo que me intriga es como hacer esta comprobacion pero con las clases fundamentales de python, las cuales comente antes. Un saludo. -- Ricardo Catalinas Jimenez Madrid, Spain. th1nk3r(at)server01(dot)org http://www.server01.org GnuPG Key fingerprint = 662C EBF7 9220 0F14 C644 F90B DC3E A163 7F8D CDAE ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Mon May 23 17:32:24 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 23 May 2005 17:32:24 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523145752.GA3190@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> Message-ID: <200505231732.24264.pepe@diselpro.com> El Lunes, 23 de Mayo de 2005 16:57, Ricardo Catalinas Jimenez escribió: > Vengo de saber programar C, y con la costumbre de hacer programas > robustos, me gustatia saber como puedo comprobar a que clase pertenece > el parametro con el que se llama a una funcion desde el principio. > > Cuando me refiero a clase, me refiero a las clases fundamentales de > python como: int, long, string ... > > Digo esto porque si he entendido bien hasta donde he leido bastaria con > esto: > > --- codigo --- > class mi_clase: > def funcion(): > pass > > variable = mi_clase() > variable.funcion() > --- codigo --- > > De este modo, cada vez que un objeto haga uso del metodo `funcion', este > objeto deberia pertenecer forzosamente a `mi_clase'. > > Por otro lado lo que me intriga es como hacer esta comprobacion pero con > las clases fundamentales de python, las cuales comente antes. Con la función type() >>> a=25 >>> type(a) >>> type(a)==int True >>> isinstance(a,int) True Salut. > > Un saludo. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Mon May 23 17:42:22 2005 From: hernan en orgmf.com.ar (=?us-ascii?Q?Hernan_Martinez_Foffani?=) Date: Mon, 23 May 2005 17:42:22 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523145752.GA3190@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> Message-ID: > Vengo de saber programar C, y con la costumbre de hacer programas > robustos, me gustatia saber como puedo comprobar a que clase pertenece > el parametro con el que se llama a una funcion desde el principio. > > Cuando me refiero a clase, me refiero a las clases fundamentales de > python como: int, long, string ... >>> x = 3 >>> isinstance(x, int) True >>> isinstance(x, float) False >>> > Digo esto porque si he entendido bien hasta donde he leido bastaria > con esto: > > --- codigo --- > class mi_clase: > def funcion(): > pass > > variable = mi_clase() > variable.funcion() > --- codigo --- > > De este modo, cada vez que un objeto haga uso del metodo `funcion', > este objeto deberia pertenecer forzosamente a `mi_clase'. mmm... va a ser que no. ;-) >>> class mi_clase: ... def funcion(self): ... pass ... >>> variable = mi_clase() >>> variable.funcion() >>> variable = 3 >>> variable 3 >>> ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From th1nk3r en server01.org Mon May 23 17:54:45 2005 From: th1nk3r en server01.org (Ricardo Catalinas Jimenez) Date: Mon, 23 May 2005 17:54:45 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <200505231732.24264.pepe@diselpro.com> References: <20050523145752.GA3190@jehuty.server01.org> <200505231732.24264.pepe@diselpro.com> Message-ID: <20050523155445.GA3921@jehuty.server01.org> 0n Mon, May 23, 2005 at 05:32:24PM +0200, Pepe Aracil wrote: > Con la función type() > > >>> a=25 > >>> type(a) > > >>> type(a)==int > True > >>> isinstance(a,int) > True Cuando me referia a hacer la comprobacion desde el principio de la llamada de la funcion me referia a hacerlo de un modo mas implicito, ya que con este metodo tendria que comprobar parametro a parametro sus tipos para ver si tienen el adecuado. Ademas de que la robustez del programa deberia estar implementada en las propias funciones y no que uno tenga que esta siempre pendiente de estos pormenores. Por ejemplo, con la siguiente funcion diseñada para trabajar solo con valores del tipo `int': --- codigo --- def f(a, b, c): if type(a) == int and type(b) == int and type(c) == int: # la funcion se ejecutara con normalidad ... ... else: # generar alguntipo de exception o lo que sea para # indicar el error ... ... --- codigo --- Ademas de que este modo de implementarse es realmente engorroso cuando se trabaja con varios parametros. Como informacion adicioanl, decir que este tipo de comprobacion la veo implementada en las propias bibliotecas de funcoines de Python. Como por ejemplo la rutina `append' del modulo `string': --- code --- import string # declaramos un `int' x = 1 x.append("nuevo_elemento") # aqui se nos produce un error como este: Traceback (most recent call last): File "", line 1, in ? AttributeError: 'int' object has no attribute 'append' --- code --- Como vemos aqui la routine comprueba la clase a la que pertenece `x'. Por tanto, intentando dejar mas clara mi duda, alguien sabe como hacer esta comprobacion a la que me refiero? Un saludo y gracias. -- Ricardo Catalinas Jimenez Madrid, Spain. th1nk3r(at)server01(dot)org http://www.server01.org GnuPG Key fingerprint = 662C EBF7 9220 0F14 C644 F90B DC3E A163 7F8D CDAE From jjdelcerromurciano en yahoo.es Mon May 23 17:59:03 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Mon, 23 May 2005 17:59:03 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523145752.GA3190@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> Message-ID: <200505231759.03649.jjdelcerromurciano@yahoo.es> Hola, Asi a bote pronto, te iba entendiendo la pregunta asta que pusiste el ejemplo, que no lo entiendo. Si vienes de C, supongo que lo que quieres es que el compilador, en tiempo de compilacion, te avise de que a una funcion le has pasado unos parametros que no son lo que toca. De ser eso lo que quieres, en python, vas apañao. Python se caracteriza precisamente por que no hay comprobacion que valga, tu le pasas "algo" que si ese algo se parece a lo que esperas la cosa funciona. Esto a los programadores de java puristas les saca un tanto de quizio, pero eso es python. Ahora bien, puedes intentar pasarle al codigo fuente algun tipo de herramienta que realice chequeos para comprobar esas cosas asta donde pueda hacerlo. Yo he visto el "pylint" y "pychecker", y he usado con bastante frecuencia el pychecker para comprobar que no se me ha ido la mano de manera exajerada en el codigo. Si estas usando python 2.4, tienes otra alternativa "mas pythonica", usar decoradores. Estos te permitirian comprobar de forma mas o menos automatizada que los parametros que recibes son del tipo que tocan; pero siempre en tiempo de ejecucion. Basicamente, y segun lo veo yo, te ahorran un monton de faena engorrosa, ya que pasas de poner codigo para comprobar los parametros, que lo hagan ellos. Puedes encontrar informacion sobre ellos en la PEP 318, http://www.python.org/peps/pep-0318.html, y concretamente en lo que a ti te atañe te pego un pedazo de codigo extraido de alli. Por un lado defines los decoradores, puedes meterlos en un modulo y simplemente importarlo donde los necesites. def accepts(*types): def check_accepts(f): # Aqui me he comido una linea que no tengo claro que funcione. def new_f(*args, **kwds): for (a, t) in zip(args, types): assert isinstance(a, t), \ "arg %r does not match %s" % (a,t) return f(*args, **kwds) new_f.func_name = f.func_name return new_f return check_accepts def returns(rtype): def check_returns(f): def new_f(*args, **kwds): result = f(*args, **kwds) assert isinstance(result, rtype), \ "return value %r does not match %s" % (result,rtype) return result new_f.func_name = f.func_name return new_f return check_returns Por otro simplemente los usas. Por ejemplo una funcion "func", que recibe un entero y como segundo parametro un entero o un float. @accepts(int, (int,float)) @returns((int,float)) def func(arg1, arg2): return arg1 * arg2 Y luego, solo tienes que invocar a la funcion, los decoradores se encargan de comprobar que los tipos son los correctos. >>> func(3,3) 9 >>> func(3,"hola") Traceback (most recent call last): File "", line 1, in ? File "deco.py", line 7, in new_f assert isinstance(a, t), \ AssertionError: arg 'hola' does not match (, ) >>> Simplemente impiden que se ejecute la funcion si los parametros no son los apropiados. Si estas usando una version anterior de python, tambien se puede hacer sin usar decoradores, al estilo de las funciones "staticmethod" o "classmethod", si te interesa me lo dices y te dejare por aqui como hacerlo. Un saludo Joaquin El Lunes, 23 de Mayo de 2005 16:57, Ricardo Catalinas Jimenez escribió: > Vengo de saber programar C, y con la costumbre de hacer programas > robustos, me gustatia saber como puedo comprobar a que clase pertenece > el parametro con el que se llama a una funcion desde el principio. > > Cuando me refiero a clase, me refiero a las clases fundamentales de > python como: int, long, string ... > > Digo esto porque si he entendido bien hasta donde he leido bastaria con > esto: > > --- codigo --- > class mi_clase: > def funcion(): > pass > > variable = mi_clase() > variable.funcion() > --- codigo --- > > De este modo, cada vez que un objeto haga uso del metodo `funcion', este > objeto deberia pertenecer forzosamente a `mi_clase'. > > Por otro lado lo que me intriga es como hacer esta comprobacion pero con > las clases fundamentales de python, las cuales comente antes. > > Un saludo. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From fxn en hashref.com Mon May 23 18:12:16 2005 From: fxn en hashref.com (Xavier Noria) Date: Mon, 23 May 2005 18:12:16 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523155445.GA3921@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> <200505231732.24264.pepe@diselpro.com> <20050523155445.GA3921@jehuty.server01.org> Message-ID: <0BDA24CE-42E8-4F9E-8B92-A0016670E07A@hashref.com> On May 23, 2005, at 17:54, Ricardo Catalinas Jimenez wrote: > Cuando me referia a hacer la comprobacion desde el principio de la > llamada de la funcion me referia a hacerlo de un modo mas > implicito, ya > que con este metodo tendria que comprobar parametro a parametro sus > tipos para ver si tienen el adecuado. Ademas de que la robustez del > programa deberia estar implementada en las propias funciones y no que > uno tenga que esta siempre pendiente de estos pormenores. > Python es un lenguaje dinamico, en las signaturas no se declaran tipos. No hay mecanismos estaticos para que se checkeen los tipos automaticamente como hace un compilador de C ya que estos no van en el codigo. Piensa que en un lenguaje dinamico todo esta en el aire, la definicion misma de una clase puede ser modificada en tiempo de ejecucion, de manera que en tiempo de compilacion aun sabiendo de que tipo es un objeto ni siquiera se conoceria su interfaz! > Como informacion adicioanl, decir que este tipo de comprobacion la veo > implementada en las propias bibliotecas de funcoines de Python. > Como por > ejemplo la rutina `append' del modulo `string': > > --- code --- > import string > > # declaramos un `int' > x = 1 > x.append("nuevo_elemento") > > # aqui se nos produce un error como este: > Traceback (most recent call last): > File "", line 1, in ? > AttributeError: 'int' object has no attribute 'append' > Eso se hace en runtime, y lo que se comprueba es si en ese mismo momento tal objeto responde a tal metodo. Esa comprobacion la hace el interprete automaticamente, el programador no necesita hacer nada para que la comprobacion se efectue, ni con tipos definidos por el mismo, va solo. Por el tipo de dudas que tienes, sabes programacion orientada a objetos? -- fxn ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Facundo.Batista en telefonicamoviles.com.ar Mon May 23 18:21:40 2005 From: Facundo.Batista en telefonicamoviles.com.ar (Batista, Facundo) Date: Mon, 23 May 2005 13:21:40 -0300 Subject: Comprobar la clase del parametro de una funcion Message-ID: [th1nk3r en server01.org] #- Cuando me referia a hacer la comprobacion desde el principio de la #- llamada de la funcion me referia a hacerlo de un modo mas #- implicito, ya Creo que lo que buscas es que el lenguaje valide los tipos de los argumentos automáticamente. Python, por definición, no hace eso. #- Como informacion adicioanl, decir que este tipo de #- comprobacion la veo #- implementada en las propias bibliotecas de funcoines de #- Python. Como por #- ejemplo la rutina `append' del modulo `string': #- #- --- code --- #- import string #- #- # declaramos un `int' #- x = 1 #- x.append("nuevo_elemento") Esto es fácil: >>> class C: pass >>> c = C() >>> c.append("nuevo_elemento") Traceback (most recent call last): File "", line 1, in -toplevel- c.append("nuevo_elemento") AttributeError: C instance has no attribute 'append' Meta-consejo: si usas Python intenta programar en Python, no en C. Plantea el problema, y luego ve como lo resuelves en Python, o trata de ver como lo resolvieron otros en Python. No intentes resolverlo como si estuvieses en C. Slds. Facundo Batista Desarrollo de Servicios Movistar (54 11) 5130-4643 Cel: 15 5097 5024 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From th1nk3r en server01.org Mon May 23 20:02:48 2005 From: th1nk3r en server01.org (Ricardo Catalinas Jimenez) Date: Mon, 23 May 2005 20:02:48 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: References: <20050523145752.GA3190@jehuty.server01.org> Message-ID: <20050523180248.GB27841@jehuty.server01.org> 0n Mon, May 23, 2005 at 05:42:22PM +0200, Hernan Martinez Foffani wrote: > >>> class mi_clase: > ... def funcion(self): > ... pass > ... > >>> variable = mi_clase() > >>> variable.funcion() > >>> variable = 3 > >>> variable > 3 > >>> Pero a lo que yo me refiero: --- code --- >>> class mi_clase: ... def funcion(self): ... pass ... >>> variable = mi_clase() >>> variable.funcion() >>> variable = 3 >>> variable 3 >>> variable.funcion() # Entonces tras esta instruccion python se queja, ya que `variable' ha # dejado de pertenecer a mi_clase, eso es al tipo de comprobacion que me # referia. --- code --- Un saludo. -- Ricardo Catalinas Jimenez Madrid, Spain. th1nk3r(at)server01(dot)org http://www.server01.org GnuPG Key fingerprint = 662C EBF7 9220 0F14 C644 F90B DC3E A163 7F8D CDAE ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From th1nk3r en server01.org Mon May 23 20:19:22 2005 From: th1nk3r en server01.org (Ricardo Catalinas Jimenez) Date: Mon, 23 May 2005 20:19:22 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <0BDA24CE-42E8-4F9E-8B92-A0016670E07A@hashref.com> References: <20050523145752.GA3190@jehuty.server01.org> <200505231732.24264.pepe@diselpro.com> <20050523155445.GA3921@jehuty.server01.org> <0BDA24CE-42E8-4F9E-8B92-A0016670E07A@hashref.com> Message-ID: <20050523181922.GC27841@jehuty.server01.org> 0n Mon, May 23, 2005 at 06:12:16PM +0200, Xavier Noria wrote: > Python es un lenguaje dinamico, en las signaturas no se declaran > tipos. No hay mecanismos estaticos para que se checkeen los tipos > automaticamente como hace un compilador de C ya que estos no van en > el codigo. > > Piensa que en un lenguaje dinamico todo esta en el aire, la > definicion misma de una clase puede ser modificada en tiempo de > ejecucion, de manera que en tiempo de compilacion aun sabiendo de que > tipo es un objeto ni siquiera se conoceria su interfaz! > > Eso se hace en runtime, y lo que se comprueba es si en ese mismo > momento tal objeto responde a tal metodo. Esa comprobacion la hace el > interprete automaticamente, el programador no necesita hacer nada > para que la comprobacion se efectue, ni con tipos definidos por el > mismo, va solo. Entonces mi cuestion a plantear es si la mejor solucion es que este tipo de errores (que se pueden producir cuando se le pasan objetos de la clase erronea a una funcion) los gestione el interprete de Python devolviendo el tipico mensaje de error. O si por el contrario es mejor usar algun otro tipo de metodologia, como podrian ser los `decoradores' con ya han comentado. > Por el tipo de dudas que tienes, sabes programacion orientada a objetos? Estoy aqui explorando nuevos terrenos con Python, :-) -- Ricardo Catalinas Jimenez Madrid, Spain. th1nk3r(at)server01(dot)org http://www.server01.org GnuPG Key fingerprint = 662C EBF7 9220 0F14 C644 F90B DC3E A163 7F8D CDAE ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From th1nk3r en server01.org Mon May 23 20:21:19 2005 From: th1nk3r en server01.org (Ricardo Catalinas Jimenez) Date: Mon, 23 May 2005 20:21:19 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: References: Message-ID: <20050523182119.GD27841@jehuty.server01.org> 0n Mon, May 23, 2005 at 01:21:40PM -0300, Batista, Facundo wrote: > Creo que lo que buscas es que el lenguaje valide los tipos de los argumentos > automáticamente. Python, por definición, no hace eso. > Meta-consejo: si usas Python intenta programar en Python, no en C. Plantea > el problema, y luego ve como lo resuelves en Python, o trata de ver como lo > resolvieron otros en Python. No intentes resolverlo como si estuvieses en C. Ya, eso lo tengo asumido, debo empezar a pensar en Python ;-) -- Ricardo Catalinas Jimenez Madrid, Spain. th1nk3r(at)server01(dot)org http://www.server01.org GnuPG Key fingerprint = 662C EBF7 9220 0F14 C644 F90B DC3E A163 7F8D CDAE From th1nk3r en server01.org Mon May 23 20:26:53 2005 From: th1nk3r en server01.org (Ricardo Catalinas Jimenez) Date: Mon, 23 May 2005 20:26:53 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <200505231759.03649.jjdelcerromurciano@yahoo.es> References: <20050523145752.GA3190@jehuty.server01.org> <200505231759.03649.jjdelcerromurciano@yahoo.es> Message-ID: <20050523182653.GE27841@jehuty.server01.org> Me ha parecido muy interesante la propuesta de los `decoradores', aunque es una solucion un tanto compleja. Como ya he comentado en otro post estoy planteandome si estoy que yo estaba buscado es algo que merece la pena, o si por contra, python requiere de otra metodologia. Gracias por la informacion, investigare los `decoradoes' a ver si me merecen la pena. Un saludo. -- Ricardo Catalinas Jimenez Madrid, Spain. th1nk3r(at)server01(dot)org http://www.server01.org GnuPG Key fingerprint = 662C EBF7 9220 0F14 C644 F90B DC3E A163 7F8D CDAE ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From antonio.beamud en linkend.net Mon May 23 20:34:44 2005 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Mon, 23 May 2005 20:34:44 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523182653.GE27841@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> <200505231759.03649.jjdelcerromurciano@yahoo.es> <20050523182653.GE27841@jehuty.server01.org> Message-ID: <1116873284.3666.39.camel@homer.linkend.net> El lun, 23-05-2005 a las 20:26 +0200, Ricardo Catalinas Jimenez escribió: > Me ha parecido muy interesante la propuesta de los `decoradores', aunque > es una solucion un tanto compleja. > > Como ya he comentado en otro post estoy planteandome si estoy que yo > estaba buscado es algo que merece la pena, o si por contra, python > requiere de otra metodologia. > > > Gracias por la informacion, investigare los `decoradoes' a ver si me > merecen la pena. Yo uso, tanto si es en java como en python la "programación por contrato" (B. Meyer), haces un import contract (pycontract) y al documentar un método, una clase o un módulo: def mimetodo(self, a, b): """ pre: isinstance(a, ClaseA) isinstance(b, ClaseB) post: __return__ in [0,1,2,3] """ Y para las clases puedes usar los invariantes, con lo que detectas un montón de bugs de forma rápida. Tu código será muchisimo más robusto. Lo puedes desactivar cuando hayas comprobado que toda tu aplicación funciona sin violar ningún contrato para mejorar la velocidad... Normalmente a los 6 meses de que esté funcionando la aplicación :-) Mejoras la legibilidad del código tanto por que no usas un motón de clausulas if...then, como por que quedan las funciones perfectamente documentadas por una herramienta posterior de documentación... Cuanto más simple sea el cuerpo de una función más sencillo será mantenerlo. Espero que te sirva. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Mon May 23 20:44:33 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 23 May 2005 20:44:33 +0200 (CEST) Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523145752.GA3190@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> Message-ID: On Mon, 23 May 2005, Ricardo Catalinas Jimenez wrote: > Vengo de saber programar C, y con la costumbre de hacer programas > robustos, me gustatia saber como puedo comprobar a que clase pertenece > el parametro con el que se llama a una funcion desde el principio. > > Cuando me refiero a clase, me refiero a las clases fundamentales de > python como: int, long, string ... Si te preocupa recibir un objeto que pueda dar algún problema deberás recurrir a usar try: y en caso de error gestionalo como más te convenga. En python no tiene mucho sentido imponer un tipo de objeto como parametro. Permiteme un ejemplo. Seguro que hay ejemplos mejores pero yo tambien vengo de C y no llevo mucho tiempo con Python. La funcion sort() la puedes aplicar a una lista y una lista en python puede tener cualquier clase de elementos. x=['fgruhygte', 'jkju', 7, 9.00, 5, 1, 99, [8,'aa'], [3,'aa'], [1,'zz'], [3,'kk'] ] x.sort() print x No deja de ser curioso el resultado. [1, 5, 7, 9.0, 99, [1, 'zz'], [3, 'aa'], [3, 'kk'], [8, 'aa'], 'fgruhygte', 'jkju'] Realmente no estas obligado a usar sort() con una mezcla heterogenea de cosas pero tienes la posibilidad de usarlo. Parece rebuscado pero las oportunidades de ahorrase un montón de lineas de código aparecen más de una vez con este tipo de cosas. Yo necesité ordenar una lista de palabras por su longitud. Probe a ordenar una lista de listas formada por lonjitud y cadena y funcionó como yo quería. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From hernan en orgmf.com.ar Mon May 23 23:30:30 2005 From: hernan en orgmf.com.ar (=?us-ascii?Q?Hernan_Martinez_Foffani?=) Date: Mon, 23 May 2005 23:30:30 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523180248.GB27841@jehuty.server01.org> References: <20050523180248.GB27841@jehuty.server01.org> Message-ID: >> >>> class mi_clase: >> ... def funcion(self): >> ... pass >> ... >> >>> variable = mi_clase() >> >>> variable.funcion() >> >>> variable = 3 >> >>> variable >> 3 >> >>> > > Pero a lo que yo me refiero: > --- code --- >>>> class mi_clase: > ... def funcion(self): > ... pass > ... >>>> variable = mi_clase() >>>> variable.funcion() >>>> variable = 3 >>>> variable > 3 >>>> variable.funcion() > > Entonces tras esta instruccion python se queja, ya que `variable' ha > dejado de pertenecer a mi_clase, eso es al tipo de comprobacion que > me referia. Tecnicamente "variable" no pertenece a nada. El objeto que se creo al hacer "mi_clase()" se le pego una etiqueta cuyo nombre es "variable". "variable.funcion()" lo que hace es ejecutar el metodo "funcion()" del objeto al que refiere la etiqueta "variable". Luego a esa etiqueta se le pego el objeto 3. El 3 es un entero y ese tipo no tiene ningun metodo cuyo nombre sea "funcion" por eso da error. Esto quizas te interese: http://www.orgmf.com.ar/condor/objectthink.html -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Tue May 24 03:40:30 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 24 May 2005 03:40:30 +0200 Subject: por si interesa =?iso-8859-1?q?todav=EDa=3A_infraestructura_para_?= =?iso-8859-1?q?FAQ?= Message-ID: <4292860E.2040006@sicem.biz> Por si queréis crear una FAQ y no habéis encontrado todavía un sitio adecuado: http://hispapython.org/faq Es una wiki públicamente editable, pero está vacía todavía. Si no os sirve, avisad. Un saludo, Erny --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0521-0, 23/05/2005 Comprobado en: 24/05/2005 3:40:34 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From jordinas en gmail.com Tue May 24 08:31:23 2005 From: jordinas en gmail.com (Joan Ordinas) Date: Tue, 24 May 2005 08:31:23 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <1116873284.3666.39.camel@homer.linkend.net> References: <20050523145752.GA3190@jehuty.server01.org> <200505231759.03649.jjdelcerromurciano@yahoo.es> <20050523182653.GE27841@jehuty.server01.org> <1116873284.3666.39.camel@homer.linkend.net> Message-ID: <9140533f050523233143ce56c9@mail.gmail.com> On 5/23/05, Antonio Beamud Montero wrote: > El lun, 23-05-2005 a las 20:26 +0200, Ricardo Catalinas Jimenez > escribió: > Yo uso, tanto si es en java como en python la "programación por > contrato" (B. Meyer), haces un import contract (pycontract) y al > documentar un método, una clase o un módulo: > > def mimetodo(self, a, b): > """ > pre: > isinstance(a, ClaseA) > isinstance(b, ClaseB) > post: > __return__ in [0,1,2,3] > """ Coincido en recomendar vivamente la lectura de los libros de Bertnad Meyer. En Python puro podemos verificar precondiciones (y condiciones en general), con assert (de hecho igual que en C): def mimetodo(self, a, b): """ assert isinstance(a, ClaseA) assert isinstance(b, ClaseB) Si usamos "python -O' las sentencias 'assert' desaparecen, y la variable __debug__ siempre informa de si se ha usado '-O'. JJOR From hernan en orgmf.com.ar Tue May 24 13:40:04 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 24 May 2005 13:40:04 +0200 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <9140533f050523233143ce56c9@mail.gmail.com> References: <9140533f050523233143ce56c9@mail.gmail.com> Message-ID: >> Yo uso, tanto si es en java como en python la >> "programación por contrato" (B. Meyer), haces un import contract >> (pycontract) y al documentar un método, una clase o un módulo: >> >> def mimetodo(self, a, b): >> """ >> pre: >> isinstance(a, ClaseA) >> isinstance(b, ClaseB) >> post: >> __return__ in [0,1,2,3] >> """ > > Coincido en recomendar vivamente la lectura de los libros de Bertnad > Meyer. En Python puro podemos verificar precondiciones (y condiciones > en general), con assert (de hecho igual que en C): > > def mimetodo(self, a, b): > """ > assert isinstance(a, ClaseA) > assert isinstance(b, ClaseB) > > Si usamos "python -O' las sentencias 'assert' desaparecen, y la > variable __debug__ siempre informa de si se ha usado '-O'. Quizás en algún futuro Python llegue a tener una sintaxis (opcional) para especificar tipos. Ver: http://www.artima.com/weblogs/viewpost.jsp?thread=87182 Lo interesante de la propuesta es que la _semántica_ de la especificación de tipos puede ser definida por el programador, por ejemplo como adaptación de objetos: http://www.python.org/peps/pep-0246.html -H. From jileon en parcan.es Tue May 24 16:00:29 2005 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Tue, 24 May 2005 15:00:29 +0100 Subject: Comprobar la clase del parametro de una funcion In-Reply-To: <20050523182653.GE27841@jehuty.server01.org> References: <20050523145752.GA3190@jehuty.server01.org> <200505231759.03649.jjdelcerromurciano@yahoo.es> <20050523182653.GE27841@jehuty.server01.org> Message-ID: <4293337D.30504@parcan.es> Ricardo Catalinas Jimenez wrote: >Me ha parecido muy interesante la propuesta de los `decoradores', aunque >es una solucion un tanto compleja. > >Como ya he comentado en otro post estoy planteandome si estoy que yo >estaba buscado es algo que merece la pena, o si por contra, python >requiere de otra metodologia. > > Quizá una solución mejor para lo que quieres (Atrapar errores durante la programación) sería usar assert(). Me explico con un ejemplo: def suma(a,b): assert type(a) = type(0), 'El parametro a (%s) no es un entero' % a assert type(b) = type(0), 'El parametro b (%s) no es un entero' % b return a + b La ventaja del assert es que eleva una excepción, pero se puede desabilitar el codigo de assert (y no consumir ciclos de CPU en estas comprobaciones en la aplicación final) pasandole la opción -O al interprete de Python. De todas formas, no veo esto muy pythonico. Si quitas los assert la funcion tambien serviría, por ejemplo, para concatenar cadenas, o para sumar mis propios tipos de datos si he programado mis clases para que puedan ser sumadas... Para eso sirve el polimorfismo. Hay una explicación del assert en esta misma lista, concretamente aquí: http://listas.aditel.org/archivos/python-es/2005-February/012248.html From mauroka en gmail.com Wed May 25 00:30:30 2005 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Tue, 24 May 2005 19:30:30 -0300 Subject: =?iso-8859-1?q?Problema_de_instalaci=F3n_de_wxPython?= =?iso-8859-1?q?2=2E6?= Message-ID: <3c924a25050524153071d74771@mail.gmail.com> Hola, les comento mi problema. Estuve tratando de instalar wxPtyhon 2.6 en un Debian Sarge. Los pasos que realicé son los siguientes: cd wxPython-src-2.5.4.1 mkdir buildgtk cd buildgtk ../configure --with-gtk --enable-unicode make make -C contrib/src/animate make -C contrib/src/gizmos make -C contrib/src/stc make install make -C contrib/src/animate install make -C contrib/src/gizmos install make -C contrib/src/stc install /sbin/ldconfig cd ../wxPython python setup.py install BUILD_GLCANVAS=0 UNICODE=1 La instalación funciona a bien. El problema es cuando voy a la consola de python e intento importar wx, me tira el siguiente error: >>> import wx Traceback (most recent call last): File "", line 1, in ? File "/root/programas/wxPython-src-2.6.0.0/wxPython-src-2.6.0.0/wxPython/wx/__init__.py", line 42, in ? from wx._core import * File "/root/programas/wxPython-src-2.6.0.0/wxPython-src-2.6.0.0/wxPython/wx/_core.py", line 4, in ? import _core_ ImportError: libwx_gtk2_xrc-2.6.so.0: cannot open shared object file: No such file or directory El directorio "/root/programas/wxPython-src-2.6.0.0/wxPython-src-2.6.0.0" es desde donde se realizaron todos los pasos descriptos anteriormente. La ruta donde se instala wxWidgets es /opt/wx/2.6 que es donde se encuentra libwx_gtk2_xrc-2.6.so.0 (pero el nombre de este archivo en esa ruta es: libwx_gtk2d_xrc-2.6.so.0). No se si eso tendrá algo que ver. Desde ya muchas gracias a todos. Si alguno tiene alguna idea, le agradecería que me respondiera. Saludos. From javi.pacheco en terra.es Wed May 25 21:45:51 2005 From: javi.pacheco en terra.es (=?ISO-8859-1?Q?Javier_P=E9rez?=) Date: Wed, 25 May 2005 21:45:51 +0200 Subject: Como guardar un XML como minidom Message-ID: <4294D5EF.5040501@terra.es> Bueno, de principio me presento. Soy javi y soy de Cádiz (sur de españa) y es mi primer mensaje en esta lista. Llevo una semanita con Python así que estoy bastante verde. La pregunta es que estoy utilizando minidom para trabajar con archivos XML, y he podido agregar nodos sin problemas así: n = dom.createElement("nombre-nodo") dom.childNodes[0].appendChild(n) se que se ha creado porque luego pongo: print dom.toxml() y me sale el nodo dentro. La cuestión es que en el archivo XML no se queda grabado. Supongo que falta algún método para grabar los cambios en el archivo XML, pero no se cual ¿me podéis ayudar? gracias a todos por vuestra ayuda From gari en eibar.org Thu May 26 09:16:14 2005 From: gari en eibar.org (Gari Araolaza) Date: Thu, 26 May 2005 09:16:14 +0200 Subject: Como guardar un XML como minidom In-Reply-To: <4294D5EF.5040501@terra.es> References: <4294D5EF.5040501@terra.es> Message-ID: <429577BE.7070507@eibar.org> Hola Javier, Bueno, por lo que entiendo has modificado el XML en memoria, por lo que te faltaría guardarlo en un archivo: data = dom.toxml() modificado = open('modificado.xml','w') modificado.write(data) modificado.close() No sé si esto soluciona tu problema... Saludos Gari Javier Pérez wrote: > Bueno, de principio me presento. Soy javi y soy de Cádiz (sur de > españa) y es mi primer mensaje en esta lista. Llevo una semanita con > Python así que estoy bastante verde. > > La pregunta es que estoy utilizando minidom para trabajar con archivos > XML, y he podido agregar nodos sin problemas así: > > n = dom.createElement("nombre-nodo") > dom.childNodes[0].appendChild(n) > > se que se ha creado porque luego pongo: > > print dom.toxml() > > y me sale el nodo dentro. La cuestión es que en el archivo XML no se > queda grabado. Supongo que falta algún método para grabar los cambios > en el archivo XML, pero no se cual > From javi.pacheco en terra.es Thu May 26 10:00:50 2005 From: javi.pacheco en terra.es (=?ISO-8859-1?Q?Javier_P=E9rez?=) Date: Thu, 26 May 2005 10:00:50 +0200 Subject: Error en windows al importar un =?iso-8859-1?q?m=F3dulo?= Message-ID: <42958232.9080804@terra.es> Hola: Estoy intentando importar el módulo minidom de xml.dom en windows pero me da un error. Tengo un archivo .py que solo tiene esto >> from xml.dom import minidom Al ejecutarlo me da el siguiente error: C:\Python24>python.exe pruebas/xml.py Traceback (most recent call last): File "pruebas/xml.py", line 1, in ? from xml.dom import minidom File "C:\Python24\pruebas\xml.py", line 1, in ? from xml.dom import minidom ImportError: No module named dom Me he ido a C:\Python24\Lib\xml\dom y está el archivo minidom.py, así que el módulo está ahí pero no lo importa. El linux me funciona perfecto pero en windows no. Puede ser porque tengo que crear variables de entorno o algo de eso?? Estoy ejecutando directamente desde línea de comando, puede ser por es? necesito algún IDE o algo? cargar algo previamente a ejecutar el programa? ¿alguna idea? gracias por vuestro tiempo From i92fredy en hotmail.com Thu May 26 12:43:02 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Thu, 26 May 2005 12:43:02 +0200 Subject: Como guardar un XML como minidom In-Reply-To: <4294D5EF.5040501@terra.es> References: <4294D5EF.5040501@terra.es> Message-ID: Si extraes el doc del documento con alguno de los métodos que hay, puedes hacer esto: from xml.dom.ext import PrettyPrint f=codecs.open(archivo, 'w') PrettyPrint(doc,f) f.close() >From: Javier Pérez >Reply-To: La lista de python en castellano >To: Lista Python >Subject: [Python-es] Como guardar un XML como minidom >Date: Wed, 25 May 2005 21:45:51 +0200 > >Bueno, de principio me presento. Soy javi y soy de Cádiz (sur de españa) y >es mi primer mensaje en esta lista. Llevo una semanita con Python así que >estoy bastante verde. > >La pregunta es que estoy utilizando minidom para trabajar con archivos XML, >y he podido agregar nodos sin problemas así: > >n = dom.createElement("nombre-nodo") >dom.childNodes[0].appendChild(n) > >se que se ha creado porque luego pongo: > >print dom.toxml() > >y me sale el nodo dentro. La cuestión es que en el archivo XML no se queda >grabado. Supongo que falta algún método para grabar los cambios en el >archivo XML, pero no se cual > >¿me podéis ayudar? > >gracias a todos por vuestra ayuda >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From efoncu en agali.org Thu May 26 14:29:48 2005 From: efoncu en agali.org (Ezequiel Foncubierta) Date: Thu, 26 May 2005 14:29:48 +0200 Subject: Error en windows al importar un =?ISO-8859-1?Q?m=F3dulo?= In-Reply-To: <42958232.9080804@terra.es> References: <42958232.9080804@terra.es> Message-ID: <1117110588.16577.7.camel@localhost.localdomain> Hola, comprueba que exista C:\Python24\Lib\xml\__init__.py, ya que el error te lo da al importar el módulo dom en el paquete xml. Un saludo. -- Ezequiel Foncubierta Estévez - http://mogurito.agali.org Asociación de Gaditanos Linuxeros - http://www.agali.org efoncu en agali.org - mogurito en gmail.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From estudios en ciberania.cl Thu May 26 17:04:27 2005 From: estudios en ciberania.cl (Rodrigo Miranda) Date: Thu, 26 May 2005 11:04:27 -0400 Subject: Problema de =?ISO-8859-1?Q?instalaci=F3n_de_?= =?ISO-8859-1?Q?wxPython2=2E6?= In-Reply-To: <3c924a25050524153071d74771@mail.gmail.com> References: <3c924a25050524153071d74771@mail.gmail.com> Message-ID: <4295E57B.3040505@ciberania.cl> Mauro Sánchez escribió: >Hola, les comento mi problema. Estuve tratando de instalar wxPtyhon 2.6 en >un Debian Sarge. Los pasos que realicé son los siguientes: >cd wxPython-src-2.5.4.1 >mkdir buildgtk >cd buildgtk >../configure --with-gtk --enable-unicode >make >make -C contrib/src/animate >make -C contrib/src/gizmos >make -C contrib/src/stc >make install make -C contrib/src/animate install >make -C contrib/src/gizmos install >make -C contrib/src/stc install >/sbin/ldconfig >cd ../wxPython >python setup.py install BUILD_GLCANVAS=0 UNICODE=1 > >La instalación funciona a bien. El problema es cuando voy a la consola de >python e intento importar wx, me tira el siguiente error: > > >>>>import wx >>>> >>>> >Traceback (most recent call last): >File "", line 1, in ? >File "/root/programas/wxPython-src-2.6.0.0/wxPython-src-2.6.0.0/wxPython/wx/__init__.py", >line 42, in ? >from wx._core import * >File "/root/programas/wxPython-src-2.6.0.0/wxPython-src-2.6.0.0/wxPython/wx/_core.py", >line 4, in ? >import _core_ >ImportError: libwx_gtk2_xrc-2.6.so.0: cannot open shared object file: No >such file or directory > >El directorio "/root/programas/wxPython-src-2.6.0.0/wxPython-src-2.6.0.0" es >desde donde se realizaron todos los pasos descriptos anteriormente. La ruta >donde se instala wxWidgets es /opt/wx/2.6 que es donde se encuentra >libwx_gtk2_xrc-2.6.so.0 (pero el nombre de este archivo en esa ruta es: >libwx_gtk2d_xrc-2.6.so.0). No se si eso tendrá algo que ver. Desde ya muchas >gracias a todos. Si alguno tiene alguna idea, le agradecería que me >respondiera. Saludos. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > o te falta libwx_gtk2_xrc-2.6.so.0 o tienes problemas de permisos al momento de querer abrir el objeto, verifica eso. From dimabe en utp.edu.co Thu May 26 17:36:29 2005 From: dimabe en utp.edu.co (Diana =?iso-8859-1?b?TWFy7WE=?= Bedoya =?iso-8859-1?b?UmFt7XJleg==?=) Date: Thu, 26 May 2005 10:36:29 -0500 Subject: py2exe y psycopg Message-ID: <1117121789.4295ecfdaaeeb@www.utp.edu.co> Buen día a todos. quisiera saber si alguien puede ayudarme con esto: estoy utilizando el controlador PSYCOPG_1_99_10_WIN32_PY2_3.EXE para conectarme a una base de datos hecha en Postgres desde una aplicación desarrollada en windows con wxPython 2.4 y Pyhton 2.3. Cuando corro la aplicación con el comando python main.py por DOS, todo funciona muy bien y los querys a la base de datos se ejecutan correctamente (exceptuando la utilización de las tildes); cuando corro el comando python setup.py py2exe no sale ningún error y pareciera que el ejecutable se crea satisfactoriamente, sin embargo, cuando intento correr el main.exe generado, la aplicación no se ejecuta y en el log aparece el siguiente error: Traceback (most recent call last): File "main.py", line 4, in ? File "psycopg\__init__.pyc", line 18, in ? File "psycopg\_psycopg.pyc", line 9, in ? File "psycopg\_psycopg.pyc", line 7, in __load ImportError: No module named datetime Alguien puede ayudarme con esto? Gracias. ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From mario en micentro.net Thu May 26 19:07:00 2005 From: mario en micentro.net (Mario) Date: Thu, 26 May 2005 19:07:00 +0200 Subject: Control de texto en pantalla Message-ID: <42960234.9010405@micentro.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ~ Hola a todos. Soy nuevo por aqui y después de leer algún manual de python voy a experimentar alguna cosilla. De momento solo en modo texto. Mi pregunta es sencilla, ¿existe alguna forma de controlar el tamaño de la ventana en linux para que las aplicaciones que hagas se vean siempre igual?. ¿Existe alguna forma para poder colocar en un punto determinado de la pantalla un texto?. Recuerdo hace muchos muchos años aque comando LOCATE X,Y para posicionar un texto en la pantalla... ¿existe algo similar en python?. Bueno, un saludo y gracias. Espero algún día porder contestar preguntas... :-) Mario Rubio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFClgIzxtrOc9JsxiIRAlBPAKCJ0J/QRXMrnHa5sE4RFIwEYjZEowCbBRkH uJc/SJgwHwvIHCkyk5GVWbQ= =+F0D -----END PGP SIGNATURE----- From jmeile en hotmail.com Thu May 26 19:36:35 2005 From: jmeile en hotmail.com (Josef Meile) Date: Thu, 26 May 2005 19:36:35 +0200 Subject: Control de texto en pantalla In-Reply-To: <42960234.9010405@micentro.net> References: <42960234.9010405@micentro.net> Message-ID: <42960923.9070806@hotmail.com> Hola Mario, nunca lo he usado, pero sé que el módulo curses de python sirve para manipular la consola en modo texto: http://docs.python.org/lib/module-curses.html Saludos, Josef Mario wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > ~ Hola a todos. > > Soy nuevo por aqui y después de leer algún manual de python voy a > experimentar alguna cosilla. > De momento solo en modo texto. Mi pregunta es sencilla, ¿existe alguna > forma de controlar el tamaño de la ventana en linux para que las > aplicaciones que hagas se vean siempre igual?. ¿Existe alguna forma > para poder colocar en un punto determinado de la pantalla un texto?. > Recuerdo hace muchos muchos años aque comando LOCATE X,Y para > posicionar un texto en la pantalla... ¿existe algo similar en python?. > > Bueno, un saludo y gracias. > > Espero algún día porder contestar preguntas... :-) > > Mario Rubio > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.4 (MingW32) > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org > > iD8DBQFClgIzxtrOc9JsxiIRAlBPAKCJ0J/QRXMrnHa5sE4RFIwEYjZEowCbBRkH > uJc/SJgwHwvIHCkyk5GVWbQ= > =+F0D > -----END PGP SIGNATURE----- From mario en micentro.net Thu May 26 21:47:10 2005 From: mario en micentro.net (Mario) Date: Thu, 26 May 2005 21:47:10 +0200 Subject: Control de texto en pantalla In-Reply-To: <42960923.9070806@hotmail.com> References: <42960234.9010405@micentro.net> <42960923.9070806@hotmail.com> Message-ID: <429627BE.4000001@micentro.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola Josef. Muchas gracias. Este fin de semana me pongo acon esto a ver que sale. Saludos Josef Meile wrote: | Hola Mario, | | nunca lo he usado, pero sé que el módulo curses de python sirve | para manipular la consola en modo texto: | http://docs.python.org/lib/module-curses.html | | Saludos, Josef | | Mario wrote: | | ~ Hola a todos. | | Soy nuevo por aqui y después de leer algún manual de python voy a | experimentar alguna cosilla. De momento solo en modo texto. Mi | pregunta es sencilla, ¿existe alguna forma de controlar el tamaño | de la ventana en linux para que las aplicaciones que hagas se vean | siempre igual?. ¿Existe alguna forma para poder colocar en un punto | determinado de la pantalla un texto?. Recuerdo hace muchos muchos | años aque comando LOCATE X,Y para posicionar un texto en la | pantalla... ¿existe algo similar en python?. | | Bueno, un saludo y gracias. | | Espero algún día porder contestar preguntas... :-) | | Mario Rubio | | _______________________________________________ Python-es mailing | list Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFClie+xtrOc9JsxiIRAv7KAJ0W13wPviuRAzddMpYaScNJC2lZ3ACg3tmO rNEb1dgLVlKI/h/aL852riU= =CS1O -----END PGP SIGNATURE----- From lwayar en retronet.com.ar Thu May 26 22:00:26 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Thu, 26 May 2005 17:00:26 -0300 Subject: Control de texto en pantalla In-Reply-To: <42960234.9010405@micentro.net> References: <42960234.9010405@micentro.net> Message-ID: <200505261700.26581.lwayar@retronet.com.ar> El Jue 26 May 2005 14:07, Mario escribió: Fijate en los metodos que tiene una clase de tipo str. prueba el siguiente ejemplo: cadena="Esto es un texto" cadena.center(80) Para ver mas acerca de strings: help(str) Saludos. > ~ Hola a todos. > > Soy nuevo por aqui y después de leer algún manual de python voy a > experimentar alguna cosilla. > De momento solo en modo texto. Mi pregunta es sencilla, ¿existe alguna > forma de controlar el tamaño de la ventana en linux para que las > aplicaciones que hagas se vean siempre igual?. ¿Existe alguna forma > para poder colocar en un punto determinado de la pantalla un texto?. > Recuerdo hace muchos muchos años aque comando LOCATE X,Y para > posicionar un texto en la pantalla... ¿existe algo similar en python?. > > Bueno, un saludo y gracias. > > Espero algún día porder contestar preguntas... :-) > > Mario Rubio > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rastreador en gmx.net Thu May 26 22:06:21 2005 From: rastreador en gmx.net (Manuel Angel Fernandez) Date: Thu, 26 May 2005 22:06:21 +0200 Subject: Pythonchallenge Message-ID: <20050526220621.4212bb8d@manuel.zentinet.com> Hola a todos. Acabo de descubrir una web muy interesante donde nos proponen ir resolviendo las preguntas que nos hacen a base de programas en python. http://www.pythonchallenge.com/ Por cierto que la he descubierto gracias a una mención en el blog: http://kirai.bitacoras.com Saludos. -- Nombre : Manuel Angel Fernández E-Mail : rastreador at gmx.net Jabber : rastreador en jabber.org ICQ : 6284430 Yahoo IM : rastreador en yahoo.es Sip(fwd) : 651145 From jjdelcerromurciano en yahoo.es Thu May 26 23:10:55 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Thu, 26 May 2005 23:10:55 +0200 Subject: Control de texto en pantalla In-Reply-To: <42960234.9010405@micentro.net> References: <42960234.9010405@micentro.net> Message-ID: <200505262310.56078.jjdelcerromurciano@yahoo.es> Hola, Como ya te ha comentado Josef, puedes tirar de curses, lo que pasa es que curses es un tanto duro (por lo menos para muchos). Si solo quieres posicionar testo en algun sitio de la pantalla puedes usar algo como esto: import curses w = curses.initscr() w.addstr(10,10,"Hola!") w.addstr(11,10,"Pulsa una tecla para continuar...") w.refresh() curses.noecho() w.getch() curses.endwin() Simple pero efectivo. Te permite hacer muchas mas cosas y esto mismo de unas cuantas maneras distintas, pero si con algho asi te vale, no te compliques mucho mas la vida. Habia otra libreria para python en modo texto de mas alto nivel, con controiles de tipo lista, combos, cajas de texto y esas cosas modernas que esperamos que tenga un GUI, lo que sucede que ahora mismo no recuerdo como se llamaba, escarbare un poco por ahi y te buscare el nombre de la libreria. Un saludo Joaquin. El Jueves, 26 de Mayo de 2005 19:07, Mario escribió: > ~ Hola a todos. > > Soy nuevo por aqui y después de leer algún manual de python voy a > experimentar alguna cosilla. > De momento solo en modo texto. Mi pregunta es sencilla, ¿existe alguna > forma de controlar el tamaño de la ventana en linux para que las > aplicaciones que hagas se vean siempre igual?. ¿Existe alguna forma > para poder colocar en un punto determinado de la pantalla un texto?. > Recuerdo hace muchos muchos años aque comando LOCATE X,Y para > posicionar un texto en la pantalla... ¿existe algo similar en python?. > > Bueno, un saludo y gracias. > > Espero algún día porder contestar preguntas... :-) > > Mario Rubio > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From kayrosama en gmail.com Thu May 26 23:02:57 2005 From: kayrosama en gmail.com (Richard Flores) Date: Thu, 26 May 2005 15:02:57 -0600 Subject: Rosendo Martinez, Ayuda con conecciones a DB Oracle 8 y 9 Message-ID: <3ba83333050526140252c3e880@mail.gmail.com> Amigo Rosendo: Te saludo desde Nicaragua y te boy a tomar la palabra ... estoy migrando toda la programacion de las formas de oracle a python, soy nuevo con esto de python y necesito que me den un empujoncito ... he visto muchos ejemplos de pequenios programitas en python, pero no he visto uno especifico de coneccion a base de datos Oracle 8i y Oracle 9i ... hasta ahora que te vi hablar ... y boy a aprobecharme de tu nobleza ... todo lo tengo que hacer en modo caracter porque tengo terminales wyse60 ... Por ahora lo que tengo que hacer es elaborar consultas identicas a las que hace mis formas en oracle 8i para venderle la idea a mi jefe y que termine de decidirce con python. Rosendo Martinez rosendo.martinez en mail.m-centric.com Lun Jul 21 19:26:52 CEST 2003 * Mensaje anterior: [Python-es] Esto va ha ser muy muy duro. * Próximo mensaje: [Python-es] Esto va ha ser muy muy duro. * Mensajes ordenados por: [ fecha ] [ hilo ] [ asunto ] [ autor ] Bueno, yo accedo a Oracle com cx_Oracle y va de miedo. Es decir tan rápido como si lo hiciesemos desde las propias herramientas de Oracle. Por lo tanto, no sé si te valdrá Oracle como bbdd's pero python en este caso en concreto no te defraudará. Si necesitas algún ejemplo en este sentido pidelo y te lo envio. Un saludo. Rosendo. De antemano muchas gracias ... From morillas en posta.unizar.es Fri May 27 00:13:07 2005 From: morillas en posta.unizar.es (luis miguel morillas) Date: Fri, 27 May 2005 00:13:07 +0200 Subject: Como guardar un XML como minidom In-Reply-To: <4294D5EF.5040501@terra.es> References: <4294D5EF.5040501@terra.es> Message-ID: <20050526221306.GA1909@marmota> Asunto: [Python-es] Como guardar un XML como minidom Fecha: mié, may 25, 2005 at 09:45:51 +0200 Citando a Javier Pérez (javi.pacheco en terra.es): > Bueno, de principio me presento. Soy javi y soy de Cádiz (sur de españa) > y es mi primer mensaje en esta lista. Llevo una semanita con Python así > que estoy bastante verde. > > La pregunta es que estoy utilizando minidom para trabajar con archivos > XML, y he podido agregar nodos sin problemas así: > > n = dom.createElement("nombre-nodo") > dom.childNodes[0].appendChild(n) > > se que se ha creado porque luego pongo: > > print dom.toxml() > > y me sale el nodo dentro. La cuestión es que en el archivo XML no se > queda grabado. Supongo que falta algún método para grabar los cambios en > el archivo XML, pero no se cual > > ¿me podéis ayudar? > Como te han dicho, sólo tienes que escribirlo en el fichero. Ten cuidado con la codificación de todas formas, puedes tener problemas. Todo lo que se procesa debería de estar en unicode. Volviendo a tu ejemplo, creo que la mejor opción es: [damos por supuesto que ya tienes construido tu minidom en el objeto dom] from xml.dom.ext import Print f = file('doc.xml', 'wb') Print(dom, f, encoding='elqueuses') f.close() Te recomiento que mires un módulo que estamos construyendo que permite trabajar con xml con una api 100% python http://uche.ogbuji.net/uche.ogbuji.net/tech/4Suite/amara Un saludo -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From machucao4 en yahoo.es Fri May 27 01:29:17 2005 From: machucao4 en yahoo.es (Manuel Labra) Date: Fri, 27 May 2005 01:29:17 +0200 (CEST) Subject: Algunas Consultas Message-ID: <20050526232917.98085.qmail@web26203.mail.ukl.yahoo.com> Hola mi nombre es Manuel, y les escribo desde Valparaiso Chile. Toy intentando realizar una apliación en python, lo malo es que aun no me manejo muy bien en python. Aqui listo algunas dudas que tengo ojala puedan ayudarme. 1.- Como puedo tranformar una el tamaño de una imagen, si tengo algo de tamaño ej 500x500 a 300x300. Se que se puede ya que hace un tpo lo vi se hacia como en tres lineas de codigo, pero al parecer murio la pagina donde estaba. 2.- En wxglade se ocupan los sizers, pq en un manual dice que hay q poner un panel primero al sizers por defecto del frame y luego el gridsizers. ¿Que sentido tiene hacer esto?. 3.- Wxglade. Como puedo hacer que los sizers tengan tamaño variable, hice un grid de 3x3 y cada vez que ponia un boton imagen (bitmapbutton) y como la imagen era de un tamaño grande se me descontrolaba el frame (esto va relacionada con mi primera duda). Yo quiero que el elemento central sea de un tamaño mayor que el resto pero wxglade me ajustaba todos los sizers al tamaño mayor entre estos (creo que eso hizo). de ante mano le agradesco cualquier ayuda. saludos! ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From machucao4 en yahoo.es Fri May 27 01:37:20 2005 From: machucao4 en yahoo.es (Manuel Labra) Date: Fri, 27 May 2005 01:37:20 +0200 (CEST) Subject: Consulta en el tintero Message-ID: <20050526233720.39930.qmail@web26209.mail.ukl.yahoo.com> Hola soy Manuel nuevamente (disculpen mi insistencia), pero se me quedo una consulta en el tintero-. 4.- Si tengo un frame como puedo capturar un evento presentado desde el teclado?. ejemplo tengo un frame que me muestra una imagen y un button, pero quiero que al apretar "c" o "d" en el teclado se abra por ejemplo otro frame o una dialogo y se cierre el que tengo. Bueno ocupo wxpython para las interfacez y pygame para otras acciones ¿existe algo en estas bibliotecas que me puedan ayudar? De ante mano Gracias. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From lwayar en retronet.com.ar Fri May 27 02:01:06 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Thu, 26 May 2005 21:01:06 -0300 Subject: Funciones para bases de datos Message-ID: <200505262101.06209.lwayar@retronet.com.ar> Hola, estoy escribiendo unos programas que usan bases de datos y he creado un par de funciones que me gustaria compartir con ustedes si es que son de su utilidad y como soy relativamente nuevo en este lenguaje someterlo a su escrutinio a fin de corregirlas y perfecionarlas. Uso como mecanismo de abstraccion de la base de datos el ORM SQLObject. Para la interfaz de usuario uso Newt para python (Snack). La primera funcion tiene por objeto recibir el nombre de una tabla y la pantalla para newt y a partir de ello crear una lista con los registros de la tabla la que se despliega en un objeto newt Listbox de newt luego agrega tres botones con la clase de newt ButtonBar para el clasico Altas, Bajas y Modificaciones. Son necesarias las siguitentes librerias: from sqlobject import * from snack import * from string import * Ahora si la primera funcion: def abm_tabla(tabla,s): columnas = [col.name for col in tabla._columns] registros=tabla.select() botones = ButtonBar(s, (("Agregar", "agregar"), ("Modificar", "modificar"), ("Borrar", "borrar"))) lista = Listbox(registros.count(), width = 47, returnExit = 1) items = [[getattr(item, nom_columna) for nom_columna in columnas] for item in registros] if "id" not in columnas: columnas.insert(0, "id") for registro in registros: item = [getattr(registro, nom_columna) for nom_columna in columnas] linea='' for campo in item: linea=linea + " " + str(campo) lista.append(linea, registro) g = GridForm(s,tabla._table.capitalize()+" - Altas, bajas y modificaciones:", 1, 2) g.add(lista, 0, 0) g.add(botones, 0, 1, growx = 1) result = g.runOnce() if botones.buttonPressed(result) == "agregar": alta_registro(tabla,s) elif botones.buttonPressed(result) == "modificar": modif_registro(lista.current().id,s) elif botones.buttonPressed(result) == "borrar": Usuarios.delete(lista.current().id) La segunda funcion permite hacer el dataentry del registro, recibe nuevamente como parametros la tabla y la pantalla. Uso en este caso una clase EntryWindow de newt. def alta_registro(tabla,s): columnas = [col.name.capitalize() for col in tabla._columns] campos= [col.name for col in tabla._columns] (boton, (etiquetas)) = EntryWindow(s, 'Nuevo registro', 'Cargue ' + tabla._table.capitalize() + ':\n', columnas) dict_campos={} if boton=='ok': for x in range(len(campos)): dict_campos[campos[x]] = etiquetas[x] registro=tabla(**dict_campos) Espero que les sea de utilidad y me ayuden a perfecionar el codigo. Hay que destacar que la idea es que sin saber la estructura de cada tabla estas funciones sirvan para crear la lista y el dataentry de cualquier tabla. Saludos a la lista. Luis Tomas Wayar ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lwayar en retronet.com.ar Fri May 27 02:40:24 2005 From: lwayar en retronet.com.ar (Luis Tomas Wayar) Date: Thu, 26 May 2005 21:40:24 -0300 Subject: Funciones para bases de datos In-Reply-To: <200505262101.06209.lwayar@retronet.com.ar> References: <200505262101.06209.lwayar@retronet.com.ar> Message-ID: <200505262140.24498.lwayar@retronet.com.ar> El Jue 26 May 2005 21:01, Luis Tomas Wayar escribió: Hay un error en la ultima linea de la primera funcion, deberia decir: tabla.delete(lista.current().id) > Hola, estoy escribiendo unos programas que usan bases de datos y he creado un par de > funciones que me gustaria compartir con ustedes si es que son de su utilidad y como soy > relativamente nuevo en este lenguaje someterlo a su escrutinio a fin de corregirlas y perfecionarlas. > > Uso como mecanismo de abstraccion de la base de datos el ORM SQLObject. Para la interfaz > de usuario uso Newt para python (Snack). > > La primera funcion tiene por objeto recibir el nombre de una tabla y la pantalla para newt y > a partir de ello crear una lista con los registros de la tabla la que se despliega en un objeto newt Listbox > de newt luego agrega tres botones con la clase de newt ButtonBar para el clasico Altas, > Bajas y Modificaciones. > > Son necesarias las siguitentes librerias: > > from sqlobject import * > from snack import * > from string import * > > Ahora si la primera funcion: > > def abm_tabla(tabla,s): > columnas = [col.name for col in tabla._columns] > registros=tabla.select() > botones = ButtonBar(s, (("Agregar", "agregar"), ("Modificar", "modificar"), ("Borrar", "borrar"))) > lista = Listbox(registros.count(), width = 47, returnExit = 1) > items = [[getattr(item, nom_columna) for nom_columna in columnas] for item in registros] > if "id" not in columnas: > columnas.insert(0, "id") > for registro in registros: > item = [getattr(registro, nom_columna) for nom_columna in columnas] > linea='' > for campo in item: > linea=linea + " " + str(campo) > lista.append(linea, registro) > g = GridForm(s,tabla._table.capitalize()+" - Altas, bajas y modificaciones:", 1, 2) > g.add(lista, 0, 0) > g.add(botones, 0, 1, growx = 1) > result = g.runOnce() > if botones.buttonPressed(result) == "agregar": > alta_registro(tabla,s) > elif botones.buttonPressed(result) == "modificar": > modif_registro(lista.current().id,s) > elif botones.buttonPressed(result) == "borrar": > Usuarios.delete(lista.current().id) > > La segunda funcion permite hacer el dataentry del registro, recibe nuevamente como parametros > la tabla y la pantalla. Uso en este caso una clase EntryWindow de newt. > > def alta_registro(tabla,s): > columnas = [col.name.capitalize() for col in tabla._columns] > campos= [col.name for col in tabla._columns] > (boton, (etiquetas)) = EntryWindow(s, 'Nuevo registro', 'Cargue ' + tabla._table.capitalize() + ':\n', columnas) > dict_campos={} > if boton=='ok': > for x in range(len(campos)): > dict_campos[campos[x]] = etiquetas[x] > registro=tabla(**dict_campos) > > Espero que les sea de utilidad y me ayuden a perfecionar el codigo. Hay que destacar que la idea > es que sin saber la estructura de cada tabla estas funciones sirvan para crear la lista y el dataentry de > cualquier tabla. > > Saludos a la lista. > > > Luis Tomas Wayar > From javi.pacheco en terra.es Fri May 27 08:48:15 2005 From: javi.pacheco en terra.es (=?ISO-8859-1?Q?Javier_P=E9rez?=) Date: Fri, 27 May 2005 08:48:15 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Error_en_windows_?= =?ISO-8859-1?Q?al_importar_un_m=F3dulo?= In-Reply-To: <1117110588.16577.7.camel@localhost.localdomain> References: <42958232.9080804@terra.es> <1117110588.16577.7.camel@localhost.localdomain> Message-ID: <4296C2AF.3020009@terra.es> Si tengo el archivo __init__.py, tanto en el xml como en el xml.dom. Supongo que alguien habrá instalado python en windows. Tuvo que hacer algo más de instalarlo para que le funcionasen los módulos? gracias Ezequiel Foncubierta wrote: >Hola, > >comprueba que exista C:\Python24\Lib\xml\__init__.py, ya que el error te >lo da al importar el módulo dom en el paquete xml. > >Un saludo. > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From acastro en ciberdroide.com Fri May 27 09:40:37 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 27 May 2005 09:40:37 +0200 (CEST) Subject: raw_input_timeout Message-ID: Pretendo imponer un timeout a una entrada por teclado y pensé usar signal.alarm() pero parece que raw_input() hace algo raro con la alarma. El programita que pretendo hacer no devuelve el control pasado el tiempo establecido aunque si se ve afectado el resultado por el limite de tiempo. ===================8<----------------------------------------------- #!/usr/bin/python # -*- coding: latin1 -*- import signal TimeoutExcept= 'Timeout' def HandlerTimeout(signum, frame): raise TimeoutExcept def raw_input_timeout(prompt, timeout): signal.signal(signal.SIGALRM, HandlerTimeout) # Asociar manejador signal.alarm(timeout) # Programar la alarma a 'timeout' segundos. try: print ("Timeout in %d sec." % timeout) x=raw_input(prompt) except: return '' signal.alarm(0) # Desactivar la alarma return x x=raw_input_timeout("Nombre : ", 5) print "<%s>" % x ===================8<----------------------------------------------- -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From acurro en wanadoo.es Fri May 27 10:36:59 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Fri, 27 May 2005 10:36:59 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Error_en_windows_?= =?ISO-8859-1?Q?al_importar_un_m=F3dulo?= In-Reply-To: <42958232.9080804@terra.es> References: <42958232.9080804@terra.es> Message-ID: <4296DC2B.6020802@wanadoo.es> Javier Pérez escribió: > Hola: > > Estoy intentando importar el módulo minidom de xml.dom en windows pero > me da un error. Tengo un archivo .py que solo tiene esto > > >> from xml.dom import minidom > > Al ejecutarlo me da el siguiente error: > > C:\Python24>python.exe pruebas/xml.py > Traceback (most recent call last): > File "pruebas/xml.py", line 1, in ? > from xml.dom import minidom > File "C:\Python24\pruebas\xml.py", line 1, in ? > from xml.dom import minidom > ImportError: No module named dom > > Me he ido a C:\Python24\Lib\xml\dom y está el archivo minidom.py, así > que el módulo está ahí pero no lo importa. El linux me funciona > perfecto pero en windows no. Puede ser porque tengo que crear > variables de entorno o algo de eso?? > Pues sí, el intérprete carga los módulos indicados en el directorio actual, y después en los indicados en la variable de sistema PYTHONPATH. Si dicha variable no existe, entonces busca en las rutas indicadas por defecto en la instalación. Para comprobar el path de módulos actual, carga el intérprete y haz import sys print sys.path Y comprueba que tengas el directorio donde tienes minidom.py y xml.py en dicho path. Salu2 > Estoy ejecutando directamente desde línea de comando, puede ser por > es? necesito algún IDE o algo? cargar algo previamente a ejecutar el > programa? > > ¿alguna idea? > > gracias por vuestro tiempo > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From jjdelcerromurciano en yahoo.es Fri May 27 10:49:36 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Fri, 27 May 2005 10:49:36 +0200 Subject: raw_input_timeout In-Reply-To: References: Message-ID: <200505271049.36515.jjdelcerromurciano@yahoo.es> Hola, estaba probando tu codigo y a mi me anda. Yo estoy gastando un python 2.4. Si ejecuto tu programa con python testrawinput.py me sale tu prompt y a los pocos segundos me devuelve al shell. De todos modos yo cambiaria TimeoutExcept= 'Timeout' Por class TimeoutExcept(KeyboardInterrupt): pass Aunque no parece necesario. Un saludo Joaquin. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From acurro en wanadoo.es Fri May 27 11:02:16 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Fri, 27 May 2005 11:02:16 +0200 Subject: py2exe y psycopg In-Reply-To: <1117121789.4295ecfdaaeeb@www.utp.edu.co> References: <1117121789.4295ecfdaaeeb@www.utp.edu.co> Message-ID: <4296E218.9030801@wanadoo.es> Diana María Bedoya Ramírez escribió: Hola, el py2exe no te está incluyendo el mx.datetime en el ejecutable final, o bien no encuentra la referencia a la hora de la ejecución. Desconozco porqué, porque nunca he usado py2exe. Sin embargo, quizás como pista... desde mi ignorancia, si el py2exe en vez de compilación estática (incluyendo las librerías en el ejecutable final) hiciese dinámica, el resultado que tendrías sería que estaría haciendo referencia a una .dll que quizás para mx.datetime no exista, o no se cargue correctamente. La gente con más experiencia en py2exe te podrá decir exactamente en este punto. Sin embargo, el hecho de que con Python sí lo use y con py2exe el ejecutable final no acceda a él... pues da un buen camino por donde empezar, y creo que es este. Salu2 >Buen día a todos. >quisiera saber si alguien puede ayudarme con esto: >estoy utilizando el controlador PSYCOPG_1_99_10_WIN32_PY2_3.EXE para conectarme >a una base de datos hecha en Postgres desde una aplicación desarrollada en >windows con wxPython 2.4 y Pyhton 2.3. Cuando corro la aplicación con el >comando > >python main.py > >por DOS, todo funciona muy bien y los querys a la base de datos se ejecutan >correctamente (exceptuando la utilización de las tildes); cuando corro el >comando > >python setup.py py2exe > >no sale ningún error y pareciera que el ejecutable se crea satisfactoriamente, >sin embargo, cuando intento correr el main.exe generado, la aplicación no se >ejecuta y en el log aparece el siguiente error: > >Traceback (most recent call last): > File "main.py", line 4, in ? > File "psycopg\__init__.pyc", line 18, in ? > > File "psycopg\_psycopg.pyc", line 9, in ? > File "psycopg\_psycopg.pyc", line 7, in __load >ImportError: No module named datetime > >Alguien puede ayudarme con esto? Gracias. > > > > > >---------------------------------------------------------------- >This message was sent using IMP, the Internet Messaging Program. >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > From jjdelcerromurciano en yahoo.es Fri May 27 11:05:41 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Fri, 27 May 2005 11:05:41 +0200 Subject: Donde puedo dejar fuentes python. Message-ID: <200505271105.41555.jjdelcerromurciano@yahoo.es> Hola, Alguien sabe de algun sitio tipo sourceforge en el que pueda dejar proyectos de python de libre distribucion pero que este en castellano ? Leer el ingles vale, pero escribirlo me da mucho palo. y en sf hay que darse el alta todo en ingles. Hace unos dias Ernesto Revilla dejo un enlace a un wiki de faqs, ha pensado alguien en dar soporte a un web donde podamos dejar proyectos python ? Me gustaria dejarlas cosillas en una web en castellano. Si alguien conoce alguna y me lo dice se lo agradecere. Respecto al wiki de hispaPYTHON, ahora dispongo de algo de tiempo y no me molestaria contribuir de alguna manera. Como se coordinan las cosas que se dejan caer alli? Hay que preguntar antes de escribir algo ? Siempre me pregunto si lo que pueda escribir puede ser de utilidad para los demas. Un saludo Joaquin. ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, m?s seguridad http://correo.yahoo.es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Fri May 27 11:15:31 2005 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 27 May 2005 11:15:31 +0200 Subject: Donde puedo dejar fuentes python. References: <200505271105.41555.jjdelcerromurciano@yahoo.es> Message-ID: <001e01c5629c$a296cfe0$d900a8c0@catalin> Hecha un vistazo a http://www.pythonhispano.org/ Saludos, Catalin From hernan en orgmf.com.ar Fri May 27 11:21:22 2005 From: hernan en orgmf.com.ar (=?us-ascii?Q?Hernan_Martinez_Foffani?=) Date: Fri, 27 May 2005 11:21:22 +0200 Subject: Donde puedo dejar fuentes python. In-Reply-To: <200505271105.41555.jjdelcerromurciano@yahoo.es> References: <200505271105.41555.jjdelcerromurciano@yahoo.es> Message-ID: > Alguien sabe de algun sitio tipo sourceforge en el que pueda dejar > proyectos de python de libre distribucion pero que este en castellano > ? > > Leer el ingles vale, pero escribirlo me da mucho palo. y en sf hay > que darse el alta todo en ingles. ?Probaste berliOS? http://www.berlios.de/ -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Fri May 27 13:54:46 2005 From: dvilla en gmx.net (David Villa) Date: Fri, 27 May 2005 13:54:46 +0200 Subject: raw_input_timeout In-Reply-To: References: Message-ID: <1117194886.6105.12.camel@amy> Hola: Si esperas leer una linea (es decir, con su '\n') yo creo que lo más sencillo y elegante es select(): import sys, select timeout = 5 rd = select.select([sys.stdin],[],[], timeout)[0] if not rd: print 'tiempo excedido' else: print raw_input() Saludos El vie, 27-05-2005 a las 09:40 +0200, Antonio Castro escribió: > Pretendo imponer un timeout a una entrada por teclado y pensé > usar signal.alarm() pero parece que raw_input() hace algo raro > con la alarma. El programita que pretendo hacer no devuelve el > control pasado el tiempo establecido aunque si se ve afectado el > resultado por el limite de tiempo. > > ===================8<----------------------------------------------- > #!/usr/bin/python > # -*- coding: latin1 -*- > > import signal > > TimeoutExcept= 'Timeout' > > def HandlerTimeout(signum, frame): > raise TimeoutExcept > > def raw_input_timeout(prompt, timeout): > > signal.signal(signal.SIGALRM, HandlerTimeout) # Asociar manejador > signal.alarm(timeout) # Programar la alarma a 'timeout' segundos. > try: > print ("Timeout in %d sec." % timeout) > x=raw_input(prompt) > except: > return '' > signal.alarm(0) # Desactivar la alarma > return x > > x=raw_input_timeout("Nombre : ", 5) > print "<%s>" % x > ===================8<----------------------------------------------- > > From cparra en emergya.info Fri May 27 14:39:16 2005 From: cparra en emergya.info (Carlos Parra) Date: Fri, 27 May 2005 14:39:16 +0200 Subject: Donde puedo dejar fuentes python. In-Reply-To: <200505271105.41555.jjdelcerromurciano@yahoo.es> References: <200505271105.41555.jjdelcerromurciano@yahoo.es> Message-ID: <1117197556.8814.1.camel@localhost.localdomain> Sin duda, algo muy parecido a sourceforge en castellano es: http://software-libre.org/ El portal está promovido por hispalinux. On vie, 2005-05-27 at 11:05 +0200, Joaquin Jose del Cerro Murciano wrote: > Hola, > > Alguien sabe de algun sitio tipo sourceforge en el que pueda dejar proyectos > de python de libre distribucion pero que este en castellano ? > > Leer el ingles vale, pero escribirlo me da mucho palo. y en sf hay que darse > el alta todo en ingles. > > Hace unos dias Ernesto Revilla dejo un enlace a un wiki de faqs, ha pensado > alguien en dar soporte a un web donde podamos dejar proyectos python ? > > Me gustaria dejarlas cosillas en una web en castellano. > Si alguien conoce alguna y me lo dice se lo agradecere. > > Respecto al wiki de hispaPYTHON, ahora dispongo de algo de tiempo y no me > molestaria contribuir de alguna manera. Como se coordinan las cosas que se > dejan caer alli? Hay que preguntar antes de escribir algo ? Siempre me > pregunto si lo que pueda escribir puede ser de utilidad para los demas. > > Un saludo > Joaquin. > > > > ______________________________________________ > Renovamos el Correo Yahoo! > Nuevos servicios, ms seguridad > http://correo.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Carlos Parra Camargo Emergya, Soluciones Tecnológicas Tel. +34 954 98 10 53 FAX +34 954 98 11 79 Avda. Luis Montoto, 105 E41007 Sevilla cparra en emergya.info http://www.emergya.info ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Fri May 27 20:15:35 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 27 May 2005 20:15:35 +0200 (CEST) Subject: raw_input_timeout In-Reply-To: <1117194886.6105.12.camel@amy> References: <1117194886.6105.12.camel@amy> Message-ID: On Fri, 27 May 2005, David Villa wrote: > Hola: > > Si esperas leer una linea (es decir, con su '\n') yo creo que lo más > sencillo y elegante es select(): > > import sys, select > > timeout = 5 > rd = select.select([sys.stdin],[],[], timeout)[0] > > if not rd: > print 'tiempo excedido' > else: > print raw_input() Usaré select que no lo habia usado antes, gracias. De todas formas lo de elegante va en gustos y cuando necesite poner un timeout a un getch() de curses espero que me funcione lo que yo intenté con signal.alarm(timeout) porque select creo que no servirá. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From mauroka en gmail.com Sat May 28 00:04:21 2005 From: mauroka en gmail.com (=?ISO-8859-1?Q?Mauro_S=E1nchez?=) Date: Fri, 27 May 2005 19:04:21 -0300 Subject: =?ISO-8859-1?Q?Re:__Problema_de_instalaci=F3n_de_wxPython2.6?= In-Reply-To: <4295E57B.3040505@ciberania.cl> References: <3c924a25050524153071d74771@mail.gmail.com> <4295E57B.3040505@ciberania.cl> Message-ID: <3c924a250505271504760f9e31@mail.gmail.com> Listo, gracias, ya se solucionó. From minoztro en gmail.com Sat May 28 05:50:39 2005 From: minoztro en gmail.com (Milton inostroza) Date: Fri, 27 May 2005 23:50:39 -0400 Subject: rescatar exception al conectarme (pypgsql) a la base de datos Message-ID: <172699c505052720501b0bd8b6@mail.gmail.com> hola: Necesito que me ayuden con el siguiente codigo: def conectarbd(self): return (connect("localhost:5432:base_de_datos:usuario:contrase~a")) con esto me conecto a la base de datos llamada=base_de_datos, con el usuario=usuario y la contrase~a=contrase~a, ahora lo que quiero es rescatar la exception, en el sentido si existe algun problema al conectar a la base de datos, para decirle al usuario que elija otra base de datos para conectarse o para que simplemente la aplicación tengo un mensaje de error bonito y feliz :P....he pensado que el siguiente código me serviría (pero no le he probado) try: return (connect("localhost:5432:base_de_datos:usuario:contrase~a")) except: print "ERROR" no se si el try funciona cuando quiero retornar algun resultado???, sugerencias, salu2!!! -- Milton Inostroza Aguilera Secretario Academico Centro de Alumnos Encargado de Auspicios y Patrocinios - 6to. Encuentro Nacional de Linux Desarrollador de RemuneX (sistema de remuneraciones amparado bajo GPL) From henrique.ferreiro en gmail.com Sat May 28 15:38:53 2005 From: henrique.ferreiro en gmail.com (henrique.ferreiro en gmail.com) Date: Sat, 28 May 2005 15:38:53 +0200 Subject: thread.start_new_thread Message-ID: <20050528133853.GA6983@debian> Ola a todos! Tengo un pequeño problema con el uso de esta función. Este es el código: import gtk import gtk.glade import thread class gui: def __init__(self): self.wTree = gtk.glade.XML('archivo.glade') self.wTree.get_widget('window').connect('destroy', gtk.main_quit) dict = {} for key in dir(self.__class__): dict[key] = getattr(self, key) self.wTree.signal_autoconnect(dict) class main(gui): def __init__(self): gui.__init__(self) print thread.start_new_thread(self.bucle, ()) def bucle(): print 'ejecutando bucle' ... El problema es que se imprime el identificador del thread pero no llega a ejecutarse. En cambio, si lanzo el thread antes de la inicialización de la clase gui, sí que se ejecuta. ¿Alquien puede decirme qué pasa aquí? From jordinas en gmail.com Sat May 28 16:46:52 2005 From: jordinas en gmail.com (Joan Ordinas) Date: Sat, 28 May 2005 16:46:52 +0200 Subject: rescatar exception al conectarme (pypgsql) a la base de datos In-Reply-To: <172699c505052720501b0bd8b6@mail.gmail.com> References: <172699c505052720501b0bd8b6@mail.gmail.com> Message-ID: <9140533f05052807461572a75f@mail.gmail.com> On 5/28/05, Milton inostroza wrote: ... > try: > return (connect("localhost:5432:base_de_datos:usuario:contrase~a")) > except: > print "ERROR" > > no se si el try funciona cuando quiero retornar algun resultado???, No hay ninguna restricción en relación al código que puedes poner dentro de un 'try'. Otra cosa es el estilo, pero restricciones no existen. JJOR From dimabe en utp.edu.co Sat May 28 17:24:35 2005 From: dimabe en utp.edu.co (Diana =?iso-8859-1?b?TWFy7WE=?= Bedoya =?iso-8859-1?b?UmFt7XJleg==?=) Date: Sat, 28 May 2005 10:24:35 -0500 Subject: py2exe y psycopg (Alberto Curro) In-Reply-To: <20050527123939.13A2F144765A@devnull.aditel.org> References: <20050527123939.13A2F144765A@devnull.aditel.org> Message-ID: <1117293875.42988d3341f28@www.utp.edu.co> Gracias por responder Alberto, si alguien más tiene una idea de cómo hacer funcionar el py2exe con el psycopg, es bienvenida. > > Diana María Bedoya Ramírez escribió: > > Hola, > > el py2exe no te está incluyendo el mx.datetime en el ejecutable > final, o bien no encuentra la referencia a la hora de la ejecución. > Desconozco porqué, porque nunca he usado py2exe. Sin embargo, quizás > como pista... desde mi ignorancia, si el py2exe en vez de compilación > estática (incluyendo las librerías en el ejecutable final) hiciese > dinámica, el resultado que tendrías sería que estaría haciendo > referencia a una .dll que quizás para mx.datetime no exista, o no se > cargue correctamente. > > La gente con más experiencia en py2exe te podrá decir exactamente en > este punto. Sin embargo, el hecho de que con Python sí lo use y con > py2exe el ejecutable final no acceda a él... pues da un buen camino por > donde empezar, y creo que es este. > > Salu2 > > >Buen día a todos. > >quisiera saber si alguien puede ayudarme con esto: > >estoy utilizando el controlador PSYCOPG_1_99_10_WIN32_PY2_3.EXE para > conectarme > >a una base de datos hecha en Postgres desde una aplicación desarrollada en > >windows con wxPython 2.4 y Pyhton 2.3. Cuando corro la aplicación con el > >comando > > > >python main.py > > > >por DOS, todo funciona muy bien y los querys a la base de datos se ejecutan > >correctamente (exceptuando la utilización de las tildes); cuando corro el > >comando > > > >python setup.py py2exe > > > >no sale ningún error y pareciera que el ejecutable se crea > satisfactoriamente, > >sin embargo, cuando intento correr el main.exe generado, la aplicación no se > >ejecuta y en el log aparece el siguiente error: > > > >Traceback (most recent call last): > > File "main.py", line 4, in ? > > File "psycopg\__init__.pyc", line 18, in ? > > > > File "psycopg\_psycopg.pyc", line 9, in ? > > File "psycopg\_psycopg.pyc", line 7, in __load > >ImportError: No module named datetime > > > >Alguien puede ayudarme con esto? Gracias. > > > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From swokosky en gmail.com Sat May 28 17:44:26 2005 From: swokosky en gmail.com (Cesar Augusto Jaramillo Acevedo) Date: Sat, 28 May 2005 10:44:26 -0500 Subject: REDES NEURONALES CON PYTHON Message-ID: <8e09050305052808446996e54b@mail.gmail.com> BUEN DIA A TODOS... ALGUIEN PODRIA AYUDARME; LO QUE SUCEDE ES QUE NECESITO MATERIAL PARA TRABAJAR CON PYTHON EN EL AREA DE INTELIGENCIA ARTIFICIAL, MAS PRECISAMENTE EN LA IMPLEMENTACION DE REDES NEURONALES. MUCHAS GRACIAS From aruxek en gmail.com Sat May 28 19:04:08 2005 From: aruxek en gmail.com (Arux Kicho Ek) Date: Sat, 28 May 2005 12:04:08 -0500 Subject: REDES NEURONALES CON PYTHON In-Reply-To: <8e09050305052808446996e54b@mail.gmail.com> References: <8e09050305052808446996e54b@mail.gmail.com> Message-ID: <81a637ab0505281004177b09a4@mail.gmail.com> hay un articulo que habla sobre la materia, python enfocado a inteligencia artificial(redes neuronales). http://www-128.ibm.com/developerworks/library/l-neurnet/?ca=dgr-lnxw13NeuralNet From djcasco en gmail.com Sat May 28 05:30:55 2005 From: djcasco en gmail.com (David Casco) Date: Sat, 28 May 2005 00:30:55 -0300 Subject: Alguien tiene el diveintopython? Message-ID: El que posea el dive "into python" o "inmersion en python" versión 5.4 (creo que es la última) en español ya sea en pdf, .doc o html pero en un único archivo y pueda pasarmelo le agradeceria su colaboración comunicandose conmigo ya que no lo puedo conseguir. Desde ya muchas Gracias SAludos DAvid -- Que lo urgente no nos quite lo importante From pablomarmol en gmail.com Sun May 29 07:45:14 2005 From: pablomarmol en gmail.com (peter) Date: Sun, 29 May 2005 07:45:14 +0200 Subject: Alguien tiene el diveintopython? In-Reply-To: References: Message-ID: <32ec9b105052822451a3376e9@mail.gmail.com> El 28/05/05, David Casco escribió: > El que posea el dive "into python" o "inmersion en python" versión 5.4 (creo > que es la última) en español ya sea en pdf, .doc o html pero en un único > archivo y pueda pasarmelo le agradeceria su colaboración comunicandose > conmigo ya que no lo puedo conseguir. http://www.gulic.org/static/diveintopython-es.pdf 25 de enero de 2005 . From raguesjp en hotmail.com Sat May 28 16:50:38 2005 From: raguesjp en hotmail.com (jesus pablo marco lana) Date: Sat, 28 May 2005 14:50:38 +0000 Subject: ayuda Message-ID: hola estoy estudiando programacion con python y quisiera instalar zodb en mi python pero en windows si pudiese decirme el comando para poder instalarlo me seria de gran ayuda tengo python23 y se que hay que meterse en ms-dos pero no se el comando gracias _________________________________________________________________ ¿Estás pensando en cambiar de coche? Todas los modelos de serie y extras en MSN Motor. http://motor.msn.es/researchcentre/ From al3xmor3no en gmail.com Sun May 29 13:30:51 2005 From: al3xmor3no en gmail.com (Alex Moreno) Date: Sun, 29 May 2005 13:30:51 +0200 Subject: ayuda In-Reply-To: References: Message-ID: <31b57125050529043011af39b1@mail.gmail.com> si estás hablando de un paquete en python la instalación se hace con estos comando, desde el directorio en el que se encuentre el setup.py: python setup.py build python setup.py install pero vamos, que lo suyo es que te mires la documentación del paquete. Un saludo. On 5/28/05, jesus pablo marco lana wrote: > hola estoy estudiando programacion con python y quisiera instalar zodb en mi > python pero en windows si pudiese decirme el comando para poder instalarlo > me seria de gran ayuda tengo python23 > y se que hay que meterse en ms-dos pero no se el comando > > gracias > > _________________________________________________________________ > ¿Estás pensando en cambiar de coche? Todas los modelos de serie y extras en > MSN Motor. http://motor.msn.es/researchcentre/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From henrique.ferreiro en gmail.com Sun May 29 23:46:41 2005 From: henrique.ferreiro en gmail.com (henrique.ferreiro en gmail.com) Date: Sun, 29 May 2005 23:46:41 +0200 Subject: threading Message-ID: <20050529214641.GA7935@debian> Uso python en linux y no sé por qué non me funciona la función start_new_thread del módulo thread. Quería saber como compartir objetos usando fork(). Gracias. From hernan en orgmf.com.ar Mon May 30 10:59:14 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 30 May 2005 10:59:14 +0200 Subject: threading In-Reply-To: <20050529214641.GA7935@debian> References: <20050529214641.GA7935@debian> Message-ID: > Uso python en linux y no sé por qué > non me funciona la función start_new_thread > del módulo thread. > Quería saber como compartir objetos usando > fork(). fork y thead son cosas distintas. para compartir datos entre procesos necesitas usar algun mecanismo de ipc (shared memory, pipes, semaforos, sockets, mensajes) que son servicios del sistema operativo por lo que no entienden de objetos de python. en la práctica significa que deberías serializar y deserializar los objetos que quiera compartir. si usas hilos (threads) compartir los datos será mas sencillo. si tienes mucha experiencia con hilos lo mejor será que uses el modulo threading para manejar los hilos y el Queue para compartir datos. -H. From jjdelcerromurciano en yahoo.es Mon May 30 11:06:34 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Mon, 30 May 2005 11:06:34 +0200 Subject: threading In-Reply-To: <20050529214641.GA7935@debian> References: <20050529214641.GA7935@debian> Message-ID: <200505301106.34704.jjdelcerromurciano@yahoo.es> Hola, En princio si lo que quieres es compartir objetos entre varios procesos de forma similar a como podrias hacer con threads (con sus restricciones claro), hace un tiempo estube viendo el paquete POSH (http://poshmodule.sourceforge.net). Al final no llegue a usarlo por que encontre otra forma mejor de solucionar mi problema, pero el modulo ahi esta y si es lo que necesitas a por el. Ahora bien, antes de meterme a usar modulos externos, si lo que biene con la libreria standard de python hace lo que quieres, es decir te basta can el uso de thread, yo intentaria averiguar por que no te van los threads. - Que version de python usas ? - Bajo que S.O. ? - Has compilado tu el python o te venia ya compilado ? Me he encontrado con binarios de python que estaban compilados sin uso de threads (creo recordar que para poder usarlo con alguna version de apache habia que deabilitarle los thread a la hora de compilarlo en FreeBSD, yo use este S.O.). - Que error te da ? Un simple no me funciona es un poco vago, y da pocas pistas para saber que es lo que te puede estar pasando. Si ademas puedes dejar el codigo que no te va en unas pocas lineas y nos dejas una muestra mejor. Un saludo Joaquin El Domingo, 29 de Mayo de 2005 23:46, henrique.ferreiro en gmail.com escribió: > Uso python en linux y no sé por qué > non me funciona la función start_new_thread > del módulo thread. > Quería saber como compartir objetos usando > fork(). > > Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From javi.pacheco en terra.es Mon May 30 12:14:18 2005 From: javi.pacheco en terra.es (=?ISO-8859-1?Q?Javier_P=E9rez?=) Date: Mon, 30 May 2005 12:14:18 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Error_en_windows_?= =?ISO-8859-1?Q?al_importar_un_m=F3dulo?= In-Reply-To: <4296DC2B.6020802@wanadoo.es> References: <42958232.9080804@terra.es> <4296DC2B.6020802@wanadoo.es> Message-ID: <429AE77A.1020705@terra.es> Bueno. Todavía sigo sin poder importar xml.dom.minidom. He creado en las variables de entorno de windowsXP una variable PYTHONPATH con la ruta a las librería. La verdad que no se si esto había que hacerlo, pero yo lo he hecho. He mostrado el path del python y me sale esto: C:\Python24\pruebas>python.exe path.py ['C:\\Python24\\pruebas', 'C:\\Python24\\Lib', 'C:\\Windows\\System32\\python24 zip', 'C:\\Python24\\pruebas', 'C:\\Python24\\DLLs', 'C:\\Python24\\lib\\plat-w n', 'C:\\Python24\\lib\\lib-tk', 'C:\\Python24', 'C:\\Python24\\lib\\site-packa es'] El directorio actual si sale, pero no me sale el directorio donde tengo minidom. Yo creía que sólo necesitaba tener aquí la directorio a 'C:\\Python24\\Lib' y que ya se encargaba de importar python los módulos desde xml.dom (entrando en esos directorios a partir del directorio de las librerías) y luego importaba minidom. Supongo que aquí no tienen que aparecer todos los directorios de todos los módulos que tengo python. La cosa es que no se pq no funciona, porque parece que todo está correcto ¿donde estoy fallando? ¿alguien que utilice python en windows me puede echar una mano? saludos y gracias Alberto Curro wrote: > Javier Pérez escribió: > >> Hola: >> >> Estoy intentando importar el módulo minidom de xml.dom en windows >> pero me da un error. Tengo un archivo .py que solo tiene esto >> >> >> from xml.dom import minidom >> >> Al ejecutarlo me da el siguiente error: >> >> C:\Python24>python.exe pruebas/xml.py >> Traceback (most recent call last): >> File "pruebas/xml.py", line 1, in ? >> from xml.dom import minidom >> File "C:\Python24\pruebas\xml.py", line 1, in ? >> from xml.dom import minidom >> ImportError: No module named dom >> >> Me he ido a C:\Python24\Lib\xml\dom y está el archivo minidom.py, así >> que el módulo está ahí pero no lo importa. El linux me funciona >> perfecto pero en windows no. Puede ser porque tengo que crear >> variables de entorno o algo de eso?? >> > Pues sí, el intérprete carga los módulos indicados en el directorio > actual, y después en los indicados en la variable de sistema > PYTHONPATH. Si dicha variable no existe, entonces busca en las rutas > indicadas por defecto en la instalación. > > Para comprobar el path de módulos actual, carga el intérprete y haz > > > import sys > > print sys.path > > > Y comprueba que tengas el directorio donde tienes minidom.py y > xml.py en dicho path. > > Salu2 > > >> Estoy ejecutando directamente desde línea de comando, puede ser por >> es? necesito algún IDE o algo? cargar algo previamente a ejecutar el >> programa? >> >> ¿alguna idea? >> >> gracias por vuestro tiempo >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> >> > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From mlarreategi en codesyntax.com Mon May 30 12:27:27 2005 From: mlarreategi en codesyntax.com (Mikel Larreategi) Date: Mon, 30 May 2005 12:27:27 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Error_en_windows_?= =?ISO-8859-1?Q?al_importar_un_m=F3dulo?= In-Reply-To: <429AE77A.1020705@terra.es> References: <42958232.9080804@terra.es> <4296DC2B.6020802@wanadoo.es> <429AE77A.1020705@terra.es> Message-ID: <429AEA8F.1000105@codesyntax.com> Javier Pérez wrote: > ¿donde estoy fallando? ¿alguien que utilice python en windows me puede > echar una mano? > Tu archivo se llama xml.py? Si es así, puede que al hacer from xml.dom import minidom, esté intentando importar dom desde el propio archivo. Cambia el nombre a tu archivo y cuéntanos si te da algún error. Saludos, -- Mikel Larreategi mlarreategi en codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: (+34) 943 82 17 80 From acurro en wanadoo.es Mon May 30 12:32:49 2005 From: acurro en wanadoo.es (Alberto Curro) Date: Mon, 30 May 2005 12:32:49 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Error_en_windows_?= =?ISO-8859-1?Q?al_importar_un_m=F3dulo?= In-Reply-To: <429AE77A.1020705@terra.es> References: <42958232.9080804@terra.es> <4296DC2B.6020802@wanadoo.es> <429AE77A.1020705@terra.es> Message-ID: <429AEBD1.9040309@wanadoo.es> Javier Pérez escribió: a ver, modifica a cañón el pythonpath en el registro. En Linux tengo entendido que python usa la variable, y en windows se combina con el ya existente. En tu caso, por lo que sea no está cogiendo tu %PYTHONPATH%, por lo que debes decirle a python eso de otra manera. La versión win32 genera una clave propia en, como no, el registro de windows. No sé si tienes experiencia con el registro. Si no es así, no dudes en preguntar. La clave que buscas es HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.3\PythonPath. Ahí hay un valor default que contiene el pythonpath. Coge ese valor y añade al final la ruta del minidom. De todos modos, me da que te has saltado algo. ¿Has instalado el pywin32?. Porque instala el minidom específico para win32 y te genera las claves específicas (entre otras muchísimas cosas). Quizás si vienes de linux te olvides de este conjunto de módulos, muy interesante, que te da funcionalidades adicionales para windows. Ya contarás... > Bueno. Todavía sigo sin poder importar xml.dom.minidom. He creado en > las variables de entorno de windowsXP una variable PYTHONPATH con la > ruta a las librería. La verdad que no se si esto había que hacerlo, > pero yo lo he hecho. He mostrado el path del python y me sale esto: > > C:\Python24\pruebas>python.exe path.py > ['C:\\Python24\\pruebas', 'C:\\Python24\\Lib', > 'C:\\Windows\\System32\\python24 > zip', 'C:\\Python24\\pruebas', 'C:\\Python24\\DLLs', > 'C:\\Python24\\lib\\plat-w > n', 'C:\\Python24\\lib\\lib-tk', 'C:\\Python24', > 'C:\\Python24\\lib\\site-packa > es'] > > El directorio actual si sale, pero no me sale el directorio donde > tengo minidom. Yo creía que sólo necesitaba tener aquí la directorio a > 'C:\\Python24\\Lib' y que ya se encargaba de importar python los > módulos desde xml.dom (entrando en esos directorios a partir del > directorio de las librerías) y luego importaba minidom. Supongo que > aquí no tienen que aparecer todos los directorios de todos los módulos > que tengo python. La cosa es que no se pq no funciona, porque parece > que todo está correcto > > ¿donde estoy fallando? ¿alguien que utilice python en windows me puede > echar una mano? > > saludos y gracias > > Alberto Curro wrote: > >> Javier Pérez escribió: >> >>> Hola: >>> >>> Estoy intentando importar el módulo minidom de xml.dom en windows >>> pero me da un error. Tengo un archivo .py que solo tiene esto >>> >>> >> from xml.dom import minidom >>> >>> Al ejecutarlo me da el siguiente error: >>> >>> C:\Python24>python.exe pruebas/xml.py >>> Traceback (most recent call last): >>> File "pruebas/xml.py", line 1, in ? >>> from xml.dom import minidom >>> File "C:\Python24\pruebas\xml.py", line 1, in ? >>> from xml.dom import minidom >>> ImportError: No module named dom >>> >>> Me he ido a C:\Python24\Lib\xml\dom y está el archivo minidom.py, >>> así que el módulo está ahí pero no lo importa. El linux me funciona >>> perfecto pero en windows no. Puede ser porque tengo que crear >>> variables de entorno o algo de eso?? >>> >> Pues sí, el intérprete carga los módulos indicados en el >> directorio actual, y después en los indicados en la variable de >> sistema PYTHONPATH. Si dicha variable no existe, entonces busca en >> las rutas indicadas por defecto en la instalación. >> >> Para comprobar el path de módulos actual, carga el intérprete y haz >> >> >> import sys >> >> print sys.path >> >> >> Y comprueba que tengas el directorio donde tienes minidom.py y >> xml.py en dicho path. >> >> Salu2 >> >> >>> Estoy ejecutando directamente desde línea de comando, puede ser por >>> es? necesito algún IDE o algo? cargar algo previamente a ejecutar el >>> programa? >>> >>> ¿alguna idea? >>> >>> gracias por vuestro tiempo >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From hernan en orgmf.com.ar Mon May 30 12:47:04 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 30 May 2005 12:47:04 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Error_en_windows_al_importar_un_m=F3du?= =?iso-8859-1?Q?lo?= In-Reply-To: <429AE77A.1020705@terra.es> References: <429AE77A.1020705@terra.es> Message-ID: > Bueno. Todavía sigo sin poder importar xml.dom.minidom. He creado en > las variables de entorno de windowsXP una variable PYTHONPATH con la > ruta a las librería. La verdad que no se si esto había que hacerlo, > pero yo lo he hecho. He mostrado el path del python y me sale esto: creo que lo estás complicando mucho o tu instalación de python en windows no es correcta. solo tendrías que hacer: >>> import xml.dom.minidom >>> o, por ejemplo, también: >>> from xml.dom.minidom import parse, parseString >>> -H. From rastro en gmail.com Mon May 30 14:21:57 2005 From: rastro en gmail.com (r4str0) Date: Mon, 30 May 2005 08:21:57 -0400 Subject: [?]: MySQL-Python. Message-ID: <200505300821.57550.rastro@gmail.com> Tengo Slackware-9.1 con Python-2.3.1, gcc-3.2.3, y MySQL-python-1.2.0, pero al hacer 'python setup.py install' el 'gcc' me dá unos errores y por lo tanto no se instala el módulo. Ya bajé el MySQL-python-1.0.1 para probar, pero: ¿Ese es el módulo para conectarse con MySQL?, ¿Cual utilizan y cual recomiendan?. Saludos. -- : ####[ GNU/Linux One Stanza Tip (LOST) ]####################### Tema: Listar directorios solamente [#2] LOST #449 El alias siguiente mostrará sólos los directorios y los archivos quedan excluidos. Listará un directorio como directorio incluso si éste en un enlace simbólico. alias dir='ls -Lla | grep ^d' ####[http://www.ugu.com/]##################################### : From rastro en gmail.com Mon May 30 17:45:01 2005 From: rastro en gmail.com (r4str0) Date: Mon, 30 May 2005 11:45:01 -0400 Subject: [?]: You don't have permission... Message-ID: <200505301143.42723.rastro@gmail.com> "You don't have permission to access /adm_consultar.py on this server", eso es lo que me tiene dando vueltas, ya he revisado los permisos, antes sólo me reflejaba el código del 'script', ¿me faltará algo por configurar en el apache?. Saludos. P.D. Con el 'MySQL-python-1.0.1.tar.gz' todo va bien con MySQL. -- : ####[ GNU/Linux One Stanza Tip (LOST) ]####################### Tema: Listar todos los archivos con bit SUID activo LOST #361 Para listar todos los archivos con el bit SUID activo, como root haz: #find / -type f -perm +6000 -ls Luego para quitar el bit suid de algunos (por necesidad) haz: #chmod -s ####[vivekachary (at) yahoo.com]############################## : From boanerges_paz en yahoo.com Mon May 30 19:34:45 2005 From: boanerges_paz en yahoo.com (Pedro Paz) Date: Mon, 30 May 2005 12:34:45 -0500 (CDT) Subject: AUXILIO HELP ME, POR FAVOR Message-ID: <20050530173445.48098.qmail@web53809.mail.yahoo.com> HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE IMPRIME (CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN NECESITO SABER COMO MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL BUS ISA DE LA COMPUTADORA, SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y PUES ME HAN DEJADO UNA TAREA ALGO FUERTE, EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA Y PYTHON ES EL LENGUAJE IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS DE INTERNET PERO NO ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO ME DESPIDO ESPERANDO ALGUNA RESPUESTA Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" Shalom , Shalom Que Dios te bendiga --------------------------------- Do You Yahoo!? Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo. Visíta Yahoo! Noticias. From asanchezm en e-compugraf.com Mon May 30 19:46:54 2005 From: asanchezm en e-compugraf.com (Alejandro G. =?ISO-8859-1?Q?S=E1nchez_Mart=EDnez?=) Date: Mon, 30 May 2005 12:46:54 -0500 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <20050530173445.48098.qmail@web53809.mail.yahoo.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: <20050530124654.5375dbf3.asanchezm@e-compugraf.com> Y si Jesus es la solucion porque no le preguntas a él. En verdad que hoy si me molesto este tipode anuncios que ponen Y conste que soy catolico On Mon, 30 May 2005 12:34:45 -0500 (CDT) Pedro Paz wrote: > HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE > IMPRIME (CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN > NECESITO SABER COMO MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL > BUS ISA DE LA COMPUTADORA, SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y > PUES ME HAN DEJADO UNA TAREA ALGO FUERTE, EL LENGUAJE QUE DEBO > UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA Y PYTHON ES EL LENGUAJE > IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS DE INTERNET PERO NO > ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO > > ME DESPIDO ESPERANDO ALGUNA RESPUESTA > > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" > > > Shalom , Shalom > > Que Dios te bendiga > > > > > --------------------------------- > Do You Yahoo!? > Todo lo que quieres saber de Estados Unidos, América Latina y el resto > del Mundo. > Visíta Yahoo! Noticias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ************************************************* Visita la tienda de accesorios de GNU/Linux en www. e-compugraf.com/tienda ---------------------------------------------------------------- Alejandro G. Sánchez Martínez Computación Gráfica de México www.e-compugraf.com 55 51 40 72 asanchezm en e-compugraf.com lurkan en jaber.com GPG key 1024D/FA90587C 2003/09/02 fingerprint = B557 6185 4E38 59FB F58D D083 23A2 6FFD FA90 587C ---------------------------------------------------------------- ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From antonio.beamud en linkend.net Mon May 30 19:59:32 2005 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Mon, 30 May 2005 19:59:32 +0200 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <20050530173445.48098.qmail@web53809.mail.yahoo.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: <1117475972.10656.3.camel@homer.linkend.net> El lun, 30-05-2005 a las 12:34 -0500, Pedro Paz escribió: > HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE IMPRIME (CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN NECESITO SABER COMO MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL BUS ISA DE LA COMPUTADORA, SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y PUES ME HAN DEJADO UNA TAREA ALGO FUERTE, EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA Y PYTHON ES EL LENGUAJE IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS DE INTERNET PERO NO ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO > > ME DESPIDO ESPERANDO ALGUNA RESPUESTA > > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" > > > Shalom , Shalom > > Que Dios te bendiga No tengo nada en contra de tí, Pedro, pero has intentado buscar en Google primero... Jesus no se si te dará la solución, supongo que tendrá cosas mejores que hacer, pero google casi seguro que te lo deja muy facil. Recurre a la lista para cuando tengas realmente problemas.. Ah, y por netiqueta, no escribas los correos con todo en MAYUSCULAS, hace mal a la vista. Python y el puerto serie (http://www.google.es/search?q=Python+and serial+port) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mario en micentro.net Mon May 30 20:01:39 2005 From: mario en micentro.net (Mario) Date: Mon, 30 May 2005 20:01:39 +0200 Subject: Control de texto en pantalla In-Reply-To: <200505262310.56078.jjdelcerromurciano@yahoo.es> References: <42960234.9010405@micentro.net> <200505262310.56078.jjdelcerromurciano@yahoo.es> Message-ID: <429B5503.2070806@micentro.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Muchas gracias Joaquin. Con todo esto creo que me iré arreglando. Para empezar está bien. Un saludo y gracias Joaquin Jose del Cerro Murciano wrote: | Hola, | | Como ya te ha comentado Josef, puedes tirar de curses, lo que pasa | es que curses es un tanto duro (por lo menos para muchos). Si solo | quieres posicionar testo en algun sitio de la pantalla puedes usar | algo como esto: | | | import curses | | w = curses.initscr() | | w.addstr(10,10,"Hola!") w.addstr(11,10,"Pulsa una tecla para | continuar...") w.refresh() | | curses.noecho() w.getch() | | curses.endwin() | | Simple pero efectivo. Te permite hacer muchas mas cosas y esto | mismo de unas cuantas maneras distintas, pero si con algho asi te | vale, no te compliques mucho mas la vida. | | | -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFCm1UDxtrOc9JsxiIRAhmxAJ9j00Bz5PD7bVnpqRlFcBYqBPq5NQCggKxg B3fW6/72ryzgDC+bA+XFMIc= =wGup -----END PGP SIGNATURE----- From sertzen en gmail.com Mon May 30 20:04:03 2005 From: sertzen en gmail.com (Nestor Sertzen) Date: Mon, 30 May 2005 13:04:03 -0500 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <20050530173445.48098.qmail@web53809.mail.yahoo.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: Y que nos puedes comentar al respecto, ¿que has leido en los manuales? Oscar Ramirez hace un tiempo envio algo para enviar directamente a la impresora predeterminada. Cuando no encuentres algo en la lectura tradicional, busca en google, seguro que por alli encuentras algo. -------------------- Esto es sin ganas de generar polemica, pero Alejandro, podrias enviarle eso al privado y... no pasa nada :) Dicho sea de paso a mi tambien me molesta. Saludos Nestor El 30/05/05, Pedro Paz escribió: > HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE IMPRIME (CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN NECESITO SABER COMO MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL BUS ISA DE LA COMPUTADORA, SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y PUES ME HAN DEJADO UNA TAREA ALGO FUERTE, EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA Y PYTHON ES EL LENGUAJE IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS DE INTERNET PERO NO ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO > > ME DESPIDO ESPERANDO ALGUNA RESPUESTA > > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" > > Shalom , Shalom > > Que Dios te bendiga > > --------------------------------- > Do You Yahoo!? > Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo. > Visíta Yahoo! Noticias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- N From hernan en orgmf.com.ar Mon May 30 20:17:09 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 30 May 2005 20:17:09 +0200 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <20050530173445.48098.qmail@web53809.mail.yahoo.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: > ... COMO MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL > BUS ISA DE LA COMPUTADORA ... > ... EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE > DE PLATAFORMA ... ¿¡¿¡¿Manejar el Bus ISA con un lenguaje independiente de la plataforma?!?!? O no estás planteando bien el problema o tus profesores están mas perdidos que todos nosotros juntos. ;-) -H. From jjdelcerromurciano en yahoo.es Mon May 30 20:49:29 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Mon, 30 May 2005 20:49:29 +0200 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <20050530173445.48098.qmail@web53809.mail.yahoo.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: <200505302049.29932.jjdelcerromurciano@yahoo.es> Hola, La verdad es que no tenia claro si contestarte, el que contestarte o pasar. Realmente necesitas de "jesus" para abordar tu problema. Requisitos: 1.- Acceso a puertos paralelo. 2.- Acceso a puertos series. 3.- Acceso al BUS ISA (?). 4.- Acceso a impresoras. 5.- Lenguaje independiente de la plataforma. 6.- Debe rodar en Linux, Windows y MacOS. Pero que puñetas tienes que hacer ? El lenguaje, es eso, un lenguaje. Y normalmente no tiene nada que ver con las librerias que se usen para acceder al hardware. Es mas, cuanto mas utilidades tiene el lengueje y mas finas van para acceder al hardware mas dependiente de una plataforma suele ser. Con lo que punto 1-4 y 5 incompatibles. Ademas, para el acceso al HW tienes el S.O., y cada cual con un API distinto. No tiene nada que ver que el lenguaje ruede en las tres plataformas de referencia, no tienes librerias dentro de python que funcionen de forma similar en todas ellas. En el manejo de puertos series y paralelos puedes lograr cierta homogeneidad entre las tres plataformas que citas, pero eso no significa que te valla a rodar en otras plataformas. Acceso a impresoras parece que tambien (aunque no lo he hecho). Pero acceso al BUS ISA.....(?). Sobre Linux y MacOS, como S.O. decentes que se supone que son, en teoria no se puede hacer. Como un proceso de usuario va a tocarle las pelotillas al HW y arriesgarnos a que deje frita la maquina ?. En windows, igual puedes, y alla tu con tu dolor. Pero lo que nunca podras hacer es que sea multiplataforma tu codigo. Como bien insinua Hernan, no has debido enterarte de lo que te han pedido. Repasa lo que te han pedido y cuando lo tengas claro, planteate el abordarlo. Te documentas, y cuando tengas un problema concreto o necesites ayada sobre como enfocar la resolucion de algo mas concreto (por cierto ni siquiera te has dignado decir que tienes que hacer) vuelves a la lista y planteas una pregunta decentemente. Un saludo Joaquin. El Lunes, 30 de Mayo de 2005 19:34, Pedro Paz escribió: > HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE IMPRIME > (CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN NECESITO SABER COMO > MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL BUS ISA DE LA COMPUTADORA, > SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y PUES ME HAN DEJADO UNA TAREA ALGO > FUERTE, EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA > Y PYTHON ES EL LENGUAJE IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS > DE INTERNET PERO NO ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO > > ME DESPIDO ESPERANDO ALGUNA RESPUESTA > > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" > > > Shalom , Shalom > > Que Dios te bendiga > > > > > --------------------------------- > Do You Yahoo!? > Todo lo que quieres saber de Estados Unidos, América Latina y el resto del > Mundo. Visíta Yahoo! Noticias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From ceritium en gmail.com Mon May 30 21:38:05 2005 From: ceritium en gmail.com (Ceritium) Date: Mon, 30 May 2005 21:38:05 +0200 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <200505302049.29932.jjdelcerromurciano@yahoo.es> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> <200505302049.29932.jjdelcerromurciano@yahoo.es> Message-ID: 1º Los asuntos estan para algo, y son para poder yo ordenar e identificar los mensajes ocn posterioridad. Lo que hago cuando uno me llega con un asunto estupido o sin el lo devuelvo ocn esta explicacion y lo borro. 2º Es mucho mas comodo eer en minucula que todo mayuscula, ten respeto a tus compañeros y escribe en minuscula, 3º Y como ya han dicho mira antes en google aunke todos pecamos de eso de vez en cuando. On 5/30/05, Joaquin Jose del Cerro Murciano wrote: > Hola, > > La verdad es que no tenia claro si contestarte, el que contestarte o pasar. > Realmente necesitas de "jesus" para abordar tu problema. > > Requisitos: > 1.- Acceso a puertos paralelo. > 2.- Acceso a puertos series. > 3.- Acceso al BUS ISA (?). > 4.- Acceso a impresoras. > 5.- Lenguaje independiente de la plataforma. > 6.- Debe rodar en Linux, Windows y MacOS. > > Pero que puñetas tienes que hacer ? > > El lenguaje, es eso, un lenguaje. Y normalmente no tiene nada que ver con las > librerias que se usen para acceder al hardware. Es mas, cuanto mas utilidades > tiene el lengueje y mas finas van para acceder al hardware mas dependiente de > una plataforma suele ser. Con lo que punto 1-4 y 5 incompatibles. > > Ademas, para el acceso al HW tienes el S.O., y cada cual con un API distinto. > No tiene nada que ver que el lenguaje ruede en las tres plataformas de > referencia, no tienes librerias dentro de python que funcionen de forma > similar en todas ellas. > > En el manejo de puertos series y paralelos puedes lograr cierta homogeneidad > entre las tres plataformas que citas, pero eso no significa que te valla a > rodar en otras plataformas. > Acceso a impresoras parece que tambien (aunque no lo he hecho). Pero acceso al > BUS ISA.....(?). Sobre Linux y MacOS, como S.O. decentes que se supone que > son, en teoria no se puede hacer. Como un proceso de usuario va a tocarle las > pelotillas al HW y arriesgarnos a que deje frita la maquina ?. En windows, > igual puedes, y alla tu con tu dolor. Pero lo que nunca podras hacer es que > sea multiplataforma tu codigo. > > Como bien insinua Hernan, no has debido enterarte de lo que te han pedido. > Repasa lo que te han pedido y cuando lo tengas claro, planteate el abordarlo. > Te documentas, y cuando tengas un problema concreto o necesites ayada sobre > como enfocar la resolucion de algo mas concreto (por cierto ni siquiera te > has dignado decir que tienes que hacer) vuelves a la lista y planteas una > pregunta decentemente. > > Un saludo > Joaquin. > > > El Lunes, 30 de Mayo de 2005 19:34, Pedro Paz escribió: > > HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE IMPRIME > > (CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN NECESITO SABER COMO > > MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL BUS ISA DE LA COMPUTADORA, > > SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y PUES ME HAN DEJADO UNA TAREA ALGO > > FUERTE, EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA > > Y PYTHON ES EL LENGUAJE IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS > > DE INTERNET PERO NO ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO > > > > ME DESPIDO ESPERANDO ALGUNA RESPUESTA > > > > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" > > > > > > Shalom , Shalom > > > > Que Dios te bendiga > > > > > > > > > > --------------------------------- > > Do You Yahoo!? > > Todo lo que quieres saber de Estados Unidos, América Latina y el resto del > > Mundo. Visíta Yahoo! Noticias. > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > ______________________________________________ > Renovamos el Correo Yahoo! > Nuevos servicios, más seguridad > http://correo.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- http://ceritium.blogsome.com From optimasc en yahoo.com.mx Mon May 30 23:59:05 2005 From: optimasc en yahoo.com.mx (Mauricio Flores Olmos) Date: Mon, 30 May 2005 16:59:05 -0500 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> <200505302049.29932.jjdelcerromurciano@yahoo.es> Message-ID: <429B8CA9.6000708@yahoo.com.mx> Y como nota adicional: NO HAY BUS ISA EN MAC Aunque si se prodria hacer portable el codigo haciendo funciones dependientes para cada plataforma y elegirla con un simple if pero nota, NO HAY BUS ISA EN MAC. Aunque recuerdo en alguna ocasion sacaron una que tenia un procesador Intel 486 a 25 MHz por si querian ejecutar algo de PC, pero el principal procesador era un Motorola 68xxx, pero de eso hace mucho tiempo... Mauricio Ceritium escribió: >1º Los asuntos estan para algo, y son para poder yo ordenar e >identificar los mensajes ocn posterioridad. Lo que hago cuando uno me >llega con un asunto estupido o sin el lo devuelvo ocn esta explicacion >y lo borro. > >2º Es mucho mas comodo eer en minucula que todo mayuscula, ten respeto >a tus compañeros y escribe en minuscula, > >3º Y como ya han dicho mira antes en google aunke todos pecamos de eso >de vez en cuando. > >On 5/30/05, Joaquin Jose del Cerro Murciano wrote: > > >>Hola, >> >>La verdad es que no tenia claro si contestarte, el que contestarte o pasar. >>Realmente necesitas de "jesus" para abordar tu problema. >> >>Requisitos: >> 1.- Acceso a puertos paralelo. >> 2.- Acceso a puertos series. >> 3.- Acceso al BUS ISA (?). >> 4.- Acceso a impresoras. >> 5.- Lenguaje independiente de la plataforma. >> 6.- Debe rodar en Linux, Windows y MacOS. >> >>Pero que puñetas tienes que hacer ? >> >>El lenguaje, es eso, un lenguaje. Y normalmente no tiene nada que ver con las >>librerias que se usen para acceder al hardware. Es mas, cuanto mas utilidades >>tiene el lengueje y mas finas van para acceder al hardware mas dependiente de >>una plataforma suele ser. Con lo que punto 1-4 y 5 incompatibles. >> >>Ademas, para el acceso al HW tienes el S.O., y cada cual con un API distinto. >>No tiene nada que ver que el lenguaje ruede en las tres plataformas de >>referencia, no tienes librerias dentro de python que funcionen de forma >>similar en todas ellas. >> >>En el manejo de puertos series y paralelos puedes lograr cierta homogeneidad >>entre las tres plataformas que citas, pero eso no significa que te valla a >>rodar en otras plataformas. >>Acceso a impresoras parece que tambien (aunque no lo he hecho). Pero acceso al >>BUS ISA.....(?). Sobre Linux y MacOS, como S.O. decentes que se supone que >>son, en teoria no se puede hacer. Como un proceso de usuario va a tocarle las >>pelotillas al HW y arriesgarnos a que deje frita la maquina ?. En windows, >>igual puedes, y alla tu con tu dolor. Pero lo que nunca podras hacer es que >>sea multiplataforma tu codigo. >> >>Como bien insinua Hernan, no has debido enterarte de lo que te han pedido. >>Repasa lo que te han pedido y cuando lo tengas claro, planteate el abordarlo. >>Te documentas, y cuando tengas un problema concreto o necesites ayada sobre >>como enfocar la resolucion de algo mas concreto (por cierto ni siquiera te >>has dignado decir que tienes que hacer) vuelves a la lista y planteas una >>pregunta decentemente. >> >>Un saludo >>Joaquin. >> >> >>El Lunes, 30 de Mayo de 2005 19:34, Pedro Paz escribió: >> >> >>>HOLA, SOY NUEVO EN EL LENGUAJE PYTHON, Y NECESITO SABER COMO SE IMPRIME >>>(CON UNA IMPRESORA) EN LINUX, WINDOWS, MACOS, Y TAMBIEN NECESITO SABER COMO >>>MANEJAR EL PUERTO PARALELO, EL PUERTO SERIE Y EL BUS ISA DE LA COMPUTADORA, >>>SOY ESTUDIANTE DE INGENIERIA ELECTRICA Y PUES ME HAN DEJADO UNA TAREA ALGO >>>FUERTE, EL LENGUAJE QUE DEBO UTILIZAR DEBE SER INDEPENDIENTE DE PLATAFORMA >>>Y PYTHON ES EL LENGUAJE IDEAL PARA ELLO, YO TENGO ALGUNOS MANUALES BAJADOS >>>DE INTERNET PERO NO ME BRINDAN INFORMACION ACERCA DE LO ANTES DICHO >>> >>>ME DESPIDO ESPERANDO ALGUNA RESPUESTA >>> >>>Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" >>> >>> >>>Shalom , Shalom >>> >>> Que Dios te bendiga >>> >>> >>> >>> >>>--------------------------------- >>>Do You Yahoo!? >>>Todo lo que quieres saber de Estados Unidos, América Latina y el resto del >>>Mundo. Visíta Yahoo! Noticias. >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >> >> >>______________________________________________ >>Renovamos el Correo Yahoo! >>Nuevos servicios, más seguridad >>http://correo.yahoo.es >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From acastro en ciberdroide.com Tue May 31 08:56:46 2005 From: acastro en ciberdroide.com (Antonio Castro) Date: Tue, 31 May 2005 08:56:46 +0200 (CEST) Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <20050530173445.48098.qmail@web53809.mail.yahoo.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: On Mon, 30 May 2005, Pedro Paz wrote: > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" Lo importante no es si esas información es cierta o no. Lo importante es creer en cualquier disparate que se diga en nombre de la religión sea la que sea, y cuando más gordo el disparate mucho mejor. Está claro. De aquellos que renuncian a razonar por si mismos se obtiene el poder del seguidismo ciego, tonto y fanático en nombre eso si de la bondad, la iluminación suprema, la santidad, el premio eterno, o de lo que se quiera. La ciencia, la técnica, y la razón siempre han estados reñidas con la fe y la religión y por lo menos a mi, estas perlas de pretendida sabiduría, en una lista técnica, me molestan como no puedes hacerte una ligera idea. Será mejor que no siga, y pido perdón a la lista por desahogarme de esta forma. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From rubentato en yahoo.es Tue May 31 09:04:45 2005 From: rubentato en yahoo.es (ruben) Date: Tue, 31 May 2005 09:04:45 +0200 Subject: AUXILIO HELP ME, POR FAVOR References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: <004101c565af$08020740$0301a8c0@amd> Aparte de que el tal Jesús dudo mucho que supiera programar en Python (si se refiere al de la Biblia, claro):-P ----- Original Message ----- From: "Antonio Castro" To: "La lista de python en castellano" Sent: Tuesday, May 31, 2005 8:56 AM Subject: Re: [Python-es] AUXILIO HELP ME, POR FAVOR On Mon, 30 May 2005, Pedro Paz wrote: > Y RECUERDEN "A CUALQUIER PROBLEMA EN SU VIDA JESUS ES LA SOLUCION" Lo importante no es si esas información es cierta o no. Lo importante es creer en cualquier disparate que se diga en nombre de la religión sea la que sea, y cuando más gordo el disparate mucho mejor. Está claro. De aquellos que renuncian a razonar por si mismos se obtiene el poder del seguidismo ciego, tonto y fanático en nombre eso si de la bondad, la iluminación suprema, la santidad, el premio eterno, o de lo que se quiera. La ciencia, la técnica, y la razón siempre han estados reñidas con la fe y la religión y por lo menos a mi, estas perlas de pretendida sabiduría, en una lista técnica, me molestan como no puedes hacerte una ligera idea. Será mejor que no siga, y pido perdón a la lista por desahogarme de esta forma. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From javi.pacheco en terra.es Tue May 31 09:11:20 2005 From: javi.pacheco en terra.es (=?ISO-8859-1?Q?Javier_P=E9rez?=) Date: Tue, 31 May 2005 09:11:20 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Error_en_windows_?= =?ISO-8859-1?Q?al_importar_un_m=F3dulo?= In-Reply-To: <429AEA8F.1000105@codesyntax.com> References: <42958232.9080804@terra.es> <4296DC2B.6020802@wanadoo.es> <429AE77A.1020705@terra.es> <429AEA8F.1000105@codesyntax.com> Message-ID: <429C0E18.3050109@terra.es> Mikel Larreategi wrote: > Javier Pérez wrote: > >> ¿donde estoy fallando? ¿alguien que utilice python en windows me >> puede echar una mano? >> > > Tu archivo se llama xml.py? > > Si es así, puede que al hacer from xml.dom import minidom, esté > intentando importar dom desde el propio archivo. > > Cambia el nombre a tu archivo y cuéntanos si te da algún error. > > Saludos, Pues exactamente era eso. He cambiado el nombre al archivo y ya funciona. Gracias. Estas son las típicas cosas que es muy dificil darte cuenta (la verdad que yo no me hubiera dado cuenta en la vida) un saludo From pepe en diselpro.com Tue May 31 10:56:16 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 31 May 2005 10:56:16 +0200 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> Message-ID: <200505311056.17040.pepe@diselpro.com> El Martes, 31 de Mayo de 2005 08:56, Antonio Castro escribió: > Lo importante no es si esas información es cierta o no. Lo importante > es creer en cualquier disparate que se diga en nombre de la religión > sea la que sea, y cuando más gordo el disparate mucho mejor. Está claro. > > De aquellos que renuncian a razonar por si mismos se obtiene el poder del > seguidismo ciego, tonto y fanático en nombre eso si de la bondad, la > iluminación suprema, la santidad, el premio eterno, o de lo que se quiera. > > La ciencia, la técnica, y la razón siempre han estados reñidas con la fe y > la religión y por lo menos a mi, estas perlas de pretendida sabiduría, en > una lista técnica, me molestan como no puedes hacerte una ligera idea. > > Será mejor que no siga, y pido perdón a la lista por desahogarme de esta > forma. Hombre de poca Fe. Te tocará estrujarte los sesos haciéndote preguntas existencialistas el resto de tu vida... con lo fácil y práctico que es tener Fe ciega ;-P .... Salut. PD. Perdón por el peazo de "fuera de tema", pero como soy hombre de poca Fe, soy blanco fácil para las tentaciones XD. From i92fredy en hotmail.com Tue May 31 11:04:33 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 31 May 2005 11:04:33 +0200 Subject: Soappy y puertos Message-ID: Hola a todo en s!! Estoy trabajando con Soappy, y me ha surgido un problemilla con los puertos. o eso creo. Paso a explicarme: tengo hecho un proyectillo que consta de Cliente y Servidor. Este funciona perfectamente entre 2 ordenadores normales, me refiero a 2 PCs individuales con conexión a internet. El problema surge cuando quiero implementar el programa Servidor en el Servidor de la Universidad. En el mismo yo tengo una cuenta en el que tengo que alojar mi programa Servidor. Pero no lo consigo. Creo que puede ser por cosa de puertos abiertos y cerrados. El programa Servidor parece que se queda a la espera del programa Cliente, y cuando el programa Cliente intenta contactar con el programa Servidor, no lo consigue, pero no da error, parece que se quedara buscando eternamente. El programa Servidor se conecta en: - urnServidor = "150.214.111.195" - puertoEscucha = 8082 El programa Cliente: - direccionPuertoServidor = "150.214.111.195:8082" Parece que puede ser cosa de los puertos, o de permisos, o ... Trabajo con Linux, servidores Linux. Si alguien pudiera decirme como averiguar los puertos abiertos o disponibles para programas Clientes, como cambiar los estados, .. no sé, cosas de esas. Gracias a todo en s Fredy From antonio.beamud en linkend.net Tue May 31 11:07:58 2005 From: antonio.beamud en linkend.net (Antonio Beamud Montero) Date: Tue, 31 May 2005 11:07:58 +0200 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <1117530478.1653.15.camel@homer.linkend.net> El mar, 31-05-2005 a las 11:04 +0200, Alfredo Cañadas escribió: > Hola a todo en s!! > Estoy trabajando con Soappy, y me ha surgido un problemilla con los > puertos. o eso creo. Paso a explicarme: tengo hecho un proyectillo que > consta de Cliente y Servidor. Este funciona perfectamente entre 2 > ordenadores normales, me refiero a 2 PCs individuales con conexión a > internet. > El problema surge cuando quiero implementar el programa Servidor en > el Servidor de la Universidad. En el mismo yo tengo una cuenta en el que > tengo que alojar mi programa Servidor. Pero no lo consigo. Creo que puede > ser por cosa de puertos abiertos y cerrados. El programa Servidor parece que > se queda a la espera del programa Cliente, y cuando el programa Cliente > intenta contactar con el programa Servidor, no lo consigue, pero no da > error, parece que se quedara buscando eternamente. > El programa Servidor se conecta en: > - urnServidor = "150.214.111.195" > - puertoEscucha = 8082 > El programa Cliente: > - direccionPuertoServidor = "150.214.111.195:8082" > > Parece que puede ser cosa de los puertos, o de permisos, o ... > Trabajo con Linux, servidores Linux. Si alguien pudiera decirme como > averiguar los puertos abiertos o disponibles para programas Clientes, como > cambiar los estados, .. no sé, cosas de esas. Gracias a todo en s > Fredy > Nmap contra el servidor para ver que puertos tiene abiertos / filtrados. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From o.merchan en bussitel.es Tue May 31 11:12:41 2005 From: o.merchan en bussitel.es (Oscar Merchan) Date: Tue, 31 May 2005 11:12:41 +0200 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <1117530761.6964.9.camel@localhost.localdomain> El mar, 31-05-2005 a las 11:04 +0200, Alfredo Cañadas escribió: > Hola a todo en s!! > Estoy trabajando con Soappy, y me ha surgido un problemilla con los > puertos. o eso creo. Paso a explicarme: tengo hecho un proyectillo que > consta de Cliente y Servidor. Este funciona perfectamente entre 2 > ordenadores normales, me refiero a 2 PCs individuales con conexión a > internet. > El problema surge cuando quiero implementar el programa Servidor en > el Servidor de la Universidad. En el mismo yo tengo una cuenta en el que > tengo que alojar mi programa Servidor. Pero no lo consigo. Creo que puede > ser por cosa de puertos abiertos y cerrados. El programa Servidor parece que > se queda a la espera del programa Cliente, y cuando el programa Cliente > intenta contactar con el programa Servidor, no lo consigue, pero no da > error, parece que se quedara buscando eternamente. > El programa Servidor se conecta en: > - urnServidor = "150.214.111.195" > - puertoEscucha = 8082 > El programa Cliente: > - direccionPuertoServidor = "150.214.111.195:8082" > > Parece que puede ser cosa de los puertos, o de permisos, o ... > Trabajo con Linux, servidores Linux. Si alguien pudiera decirme como > averiguar los puertos abiertos o disponibles para programas Clientes, como > cambiar los estados, .. no sé, cosas de esas. Gracias a todo en s > Fredy > Buenas. Para averiguar los puertos abiertos de una maquina en Linux, puedes utilizar el nmap, la forma de usarlo seria .- nmap 150.214.111.195 Este te dira que puertos tienes abiertos, si necesitas una forma mas especifica de scaneo, usa el " man nmap " pya que tiene varias formas. Saludos, Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From i92fredy en hotmail.com Tue May 31 12:26:33 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 31 May 2005 12:26:33 +0200 Subject: Soappy y puertos In-Reply-To: <1117530761.6964.9.camel@localhost.localdomain> References: <1117530761.6964.9.camel@localhost.localdomain> Message-ID: Reconozco que de Servidores y puertos sé lo mismo que de capar ranas. ME sale esto: asalazar en box-shrek:~$ nmap 150.214.111.195 Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2005-05-31 12:22 EDT All 1660 scanned ports on 150.214.111.195 are: filtered Nmap run completed -- 1 IP address (1 host up) scanned in 72.909 seconds Ahora qué debo hacer? >From: Oscar Merchan >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Soappy y puertos >Date: Tue, 31 May 2005 11:12:41 +0200 > >El mar, 31-05-2005 a las 11:04 +0200, Alfredo Cañadas escribió: > > Hola a todo en s!! > > Estoy trabajando con Soappy, y me ha surgido un problemilla con >los > > puertos. o eso creo. Paso a explicarme: tengo hecho un proyectillo que > > consta de Cliente y Servidor. Este funciona perfectamente entre 2 > > ordenadores normales, me refiero a 2 PCs individuales con conexión a > > internet. > > El problema surge cuando quiero implementar el programa Servidor >en > > el Servidor de la Universidad. En el mismo yo tengo una cuenta en el que > > tengo que alojar mi programa Servidor. Pero no lo consigo. Creo que >puede > > ser por cosa de puertos abiertos y cerrados. El programa Servidor parece >que > > se queda a la espera del programa Cliente, y cuando el programa Cliente > > intenta contactar con el programa Servidor, no lo consigue, pero no da > > error, parece que se quedara buscando eternamente. > > El programa Servidor se conecta en: > > - urnServidor = "150.214.111.195" > > - puertoEscucha = 8082 > > El programa Cliente: > > - direccionPuertoServidor = "150.214.111.195:8082" > > > > Parece que puede ser cosa de los puertos, o de permisos, o ... > > Trabajo con Linux, servidores Linux. Si alguien pudiera decirme >como > > averiguar los puertos abiertos o disponibles para programas Clientes, >como > > cambiar los estados, .. no sé, cosas de esas. Gracias a todo en s > > Fredy > > > >Buenas. > >Para averiguar los puertos abiertos de una maquina en Linux, puedes >utilizar el nmap, la forma de usarlo seria .- > >nmap 150.214.111.195 > >Este te dira que puertos tienes abiertos, si necesitas una forma >mas especifica de scaneo, usa el " man nmap " pya que tiene varias >formas. > >Saludos, Oscar Merchan. > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Tue May 31 11:47:28 2005 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Tue, 31 May 2005 10:47:28 +0100 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <200505311047.28972.rabs@dimension-virtual.com> El Martes, 31 de Mayo de 2005 11:26, Alfredo Cañadas escribió: > Reconozco que de Servidores y puertos sé lo mismo que de capar > ranas. ME sale esto: > asalazar en box-shrek:~$ nmap 150.214.111.195 > > Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2005-05-31 12:22 > EDT All 1660 scanned ports on 150.214.111.195 are: filtered > > Nmap run completed -- 1 IP address (1 host up) scanned in 72.909 seconds > > Ahora qué debo hacer? Básicamente fastidiarte, por los puertos estan filtrados, si estás intentando conectar con el servidor de la universidad desde fuera de la red de la universidad, muy probablemente los cortafuegos de la universidad te lo están impidiendo. Saludos From i92fredy en hotmail.com Tue May 31 12:58:30 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 31 May 2005 12:58:30 +0200 Subject: Soappy y puertos In-Reply-To: <200505311047.28972.rabs@dimension-virtual.com> References: <200505311047.28972.rabs@dimension-virtual.com> Message-ID: Pero yo puedo tener acceso a la universidad, todo es hablar con mi director de proyecto y saber que deberíamos cambiar, o tocar, y lo solucionaríamos. Alguna idea de qué hacer en el servidor de la universidad? >From: Raúl Alexis Betancort Santana >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Soappy y puertos >Date: Tue, 31 May 2005 10:47:28 +0100 > >El Martes, 31 de Mayo de 2005 11:26, Alfredo Cañadas escribió: > > Reconozco que de Servidores y puertos sé lo mismo que de capar > > ranas. ME sale esto: > > asalazar en box-shrek:~$ nmap 150.214.111.195 > > > > Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2005-05-31 12:22 > > EDT All 1660 scanned ports on 150.214.111.195 are: filtered > > > > Nmap run completed -- 1 IP address (1 host up) scanned in 72.909 seconds > > > > Ahora qué debo hacer? > >Básicamente fastidiarte, por los puertos estan filtrados, si estás >intentando >conectar con el servidor de la universidad desde fuera de la red de la >universidad, muy probablemente los cortafuegos de la universidad te lo >están >impidiendo. > >Saludos >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Tue May 31 12:07:40 2005 From: rabs en dimension-virtual.com (=?iso-8859-1?q?Ra=FAl_Alexis_Betancort_Santana?=) Date: Tue, 31 May 2005 11:07:40 +0100 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <200505311107.40959.rabs@dimension-virtual.com> El Martes, 31 de Mayo de 2005 11:58, Alfredo Cañadas escribió: > Pero yo puedo tener acceso a la universidad, todo es hablar con mi > director de proyecto y saber que deberíamos cambiar, o tocar, y lo > solucionaríamos. Alguna idea de qué hacer en el servidor de la universidad? Pero es que no es el servidor el que te bloquea .. será el cortafuegos de la universidad o el del departamento. La prueba a hacer es muy facil .. si tienes cuenta en ese servidor (supongo que sí porque puedes lanzar la aplicación servidor) lanza la parte servidora de la aplicación, haz desde la própia máquina un telnet al puerto en el que escucha la aplicación, si te abre es el cortafuegos del departamento o el de la universidad el que te está bloqueando y tendrás que hablar con los encargados de la red de universidad para que te abran el puerto, aunque lo veo bastante dificil, suelen seguir políticas muy estrictas en cuanto a "abrir" puertos. Saludos From i92fredy en hotmail.com Tue May 31 13:22:23 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 31 May 2005 13:22:23 +0200 Subject: Soappy y puertos In-Reply-To: <200505311107.40959.rabs@dimension-virtual.com> References: <200505311107.40959.rabs@dimension-virtual.com> Message-ID: Muchas gracias!! La prueba ya la he hecho, y desde mi cuenta y con el telnet si que funciona de manera local. >From: Raúl Alexis Betancort Santana >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Soappy y puertos >Date: Tue, 31 May 2005 11:07:40 +0100 > >El Martes, 31 de Mayo de 2005 11:58, Alfredo Cañadas escribió: > > Pero yo puedo tener acceso a la universidad, todo es hablar con >mi > > director de proyecto y saber que deberíamos cambiar, o tocar, y lo > > solucionaríamos. Alguna idea de qué hacer en el servidor de la >universidad? > >Pero es que no es el servidor el que te bloquea .. será el cortafuegos de >la >universidad o el del departamento. > >La prueba a hacer es muy facil .. si tienes cuenta en ese servidor (supongo >que sí porque puedes lanzar la aplicación servidor) lanza la parte >servidora >de la aplicación, haz desde la própia máquina un telnet al puerto en el que >escucha la aplicación, si te abre es el cortafuegos del departamento o el >de >la universidad el que te está bloqueando y tendrás que hablar con los >encargados de la red de universidad para que te abran el puerto, aunque lo >veo bastante dificil, suelen seguir políticas muy estrictas en cuanto a >"abrir" puertos. > >Saludos >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From efoncu en agali.org Tue May 31 13:32:57 2005 From: efoncu en agali.org (Ezequiel Foncubierta) Date: Tue, 31 May 2005 13:32:57 +0200 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <1117539177.13435.0.camel@localhost.localdomain> Mejor puedes utilizar: netstat -puta Y te dará los puertos abiertos udp y tcp, además de las aplicaciones que han abierto los sockets. Un saludo. El mar, 31-05-2005 a las 11:04 +0200, Alfredo Cañadas escribió: > Hola a todo en s!! > Estoy trabajando con Soappy, y me ha surgido un problemilla con los > puertos. o eso creo. Paso a explicarme: tengo hecho un proyectillo que > consta de Cliente y Servidor. Este funciona perfectamente entre 2 > ordenadores normales, me refiero a 2 PCs individuales con conexión a > internet. > El problema surge cuando quiero implementar el programa Servidor en > el Servidor de la Universidad. En el mismo yo tengo una cuenta en el que > tengo que alojar mi programa Servidor. Pero no lo consigo. Creo que puede > ser por cosa de puertos abiertos y cerrados. El programa Servidor parece que > se queda a la espera del programa Cliente, y cuando el programa Cliente > intenta contactar con el programa Servidor, no lo consigue, pero no da > error, parece que se quedara buscando eternamente. > El programa Servidor se conecta en: > - urnServidor = "150.214.111.195" > - puertoEscucha = 8082 > El programa Cliente: > - direccionPuertoServidor = "150.214.111.195:8082" > > Parece que puede ser cosa de los puertos, o de permisos, o ... > Trabajo con Linux, servidores Linux. Si alguien pudiera decirme como > averiguar los puertos abiertos o disponibles para programas Clientes, como > cambiar los estados, .. no sé, cosas de esas. Gracias a todo en s > Fredy > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Ezequiel Foncubierta Estévez - http://mogurito.agali.org Asociación de Gaditanos Linuxeros - http://www.agali.org efoncu en agali.org - mogurito en gmail.com ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jjdelcerromurciano en yahoo.es Tue May 31 13:42:09 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Tue, 31 May 2005 13:42:09 +0200 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <200505311342.09646.jjdelcerromurciano@yahoo.es> Hola, Una pregunta, desde fuera accedes por telnet? Tienes acceso por ssh ? Si tienes acceso ssh y en un momento dado necesitas acceder a tu servidor SOAP podrias montarte un tunel para acceder a el. Si tienes acceso ssh y te interesa montar un tunel para acceder a tu servicio desde fuera lo dices y te comento como montarlo. Un saludo Joaquin ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From erny en sicem.biz Tue May 31 14:20:14 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 31 May 2005 14:20:14 +0200 Subject: Donde puedo dejar fuentes python. In-Reply-To: <200505271105.41555.jjdelcerromurciano@yahoo.es> References: <200505271105.41555.jjdelcerromurciano@yahoo.es> Message-ID: <429C567E.8070809@sicem.biz> Hola, aunque la otra gente ya te haya respondido.... si quieres dejar unos archivos en hispapython.org, no hay problema. Es un portal plone. Puedes crearte una cuenta y hacer lo que quieras. Si deseas ser revisor, es decir, publicar documentos directamente, te puedo dar los permisos necesarios. La Web todavía no tiene mucha estructura. La publicación de noticias es fácil, cada uno lo puede escribir en su propiar carpeta y el próximo revisor en entrar, lo aprueba y se ven el el portal. Para el tema de los documentos tengo que meter un elementillo para que funcione igual. Sin embargo, si deseas desarrollar el proyecto, lo que puedo recomendar, te aconsejaría que utilizaras otro servidor que tenga la infraestructura necesaria / habitual (bugtracker, foros, mailing-lists, etc.) Un saludo, Erny Joaquin Jose del Cerro Murciano escribió: >Hola > >Alguien sabe de algun sitio tipo sourceforge en el que pueda dejar proyectos >de python de libre distribucion pero que este en castellano ? > >Leer el ingles vale, pero escribirlo me da mucho palo. y en sf hay que darse >el alta todo en ingles. > >Hace unos dias Ernesto Revilla dejo un enlace a un wiki de faqs, ha pensado >alguien en dar soporte a un web donde podamos dejar proyectos python ? > >Me gustaria dejarlas cosillas en una web en castellano. >Si alguien conoce alguna y me lo dice se lo agradecere. > >Respecto al wiki de hispaPYTHON, ahora dispongo de algo de tiempo y no me >molestaria contribuir de alguna manera. Como se coordinan las cosas que se >dejan caer alli? Hay que preguntar antes de escribir algo ? Siempre me >pregunto si lo que pueda escribir puede ser de utilidad para los demas. > >Un saludo >Joaquin. > > > >______________________________________________ >Renovamos el Correo Yahoo! >Nuevos servicios, más seguridad >http://correo.yahoo.es > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > -- ========================================= NO A LAS PATENTES DE SOFTWARE http://proinnova.hispalinux.es ========================================= Ernesto Revilla sicem sl Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13 18220 Albolote http://www.sicem.biz Tel: 637 716189 MSN: aerd en mx3.redestb.es ICQ: 163888521 --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0522-2, 31/05/2005 Comprobado en: 31/05/2005 14:20:14 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From erny en sicem.biz Tue May 31 14:24:55 2005 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 31 May 2005 14:24:55 +0200 Subject: ayuda In-Reply-To: References: Message-ID: <429C5797.1010103@sicem.biz> No sé si ya te han respondido, pero como siempre... la respuesta es google: zodb windows Encontrarás en la página: http://www.zope.org/Products/ZODB3.2 el enlace a la versión para Python 2.3: http://www.zope.org/Products/ZODB3.2/ZODB%203.2.8/ZODB3-3.2.8.win32-py2.3.exe Con un doble-clic encima corre el maravilloso instalador que lo hace todo auntomáticamente. Erny jesus pablo marco lana escribió: > hola estoy estudiando programacion con python y quisiera instalar zodb > en mi python pero en windows si pudiese decirme el comando para poder > instalarlo me seria de gran ayuda tengo python23 > y se que hay que meterse en ms-dos pero no se el comando > > gracias > > _ --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0522-2, 31/05/2005 Comprobado en: 31/05/2005 14:24:56 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From i92fredy en hotmail.com Tue May 31 15:32:01 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 31 May 2005 15:32:01 +0200 Subject: Soappy y puertos In-Reply-To: <200505311342.09646.jjdelcerromurciano@yahoo.es> References: <200505311342.09646.jjdelcerromurciano@yahoo.es> Message-ID: Pues si, tengo acceso por ssh >From: Joaquin Jose del Cerro Murciano >Reply-To: La lista de python en castellano >To: python-es en aditel.org >Subject: Re: [Python-es] Soappy y puertos >Date: Tue, 31 May 2005 13:42:09 +0200 > > >Hola, > >Una pregunta, desde fuera accedes por telnet? Tienes acceso por ssh ? >Si tienes acceso ssh y en un momento dado necesitas acceder a tu servidor >SOAP >podrias montarte un tunel para acceder a el. >Si tienes acceso ssh y te interesa montar un tunel para acceder a tu >servicio >desde fuera lo dices y te comento como montarlo. > >Un saludo >Joaquin > > > > >______________________________________________ >Renovamos el Correo Yahoo! >Nuevos servicios, más seguridad >http://correo.yahoo.es >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From kalvinet en gmail.com Tue May 31 15:56:46 2005 From: kalvinet en gmail.com (Alvaro Mera del Castillo) Date: Tue, 31 May 2005 08:56:46 -0500 Subject: AUXILIO HELP ME, POR FAVOR In-Reply-To: <200505311056.17040.pepe@diselpro.com> References: <20050530173445.48098.qmail@web53809.mail.yahoo.com> <200505311056.17040.pepe@diselpro.com> Message-ID: Lo importante es no saturar la lista con mensajes fuera del propósito de esta. También hay listas de correo sobre cuestiones religiosas donde ese tipo de comentarios son pertinentes pero este no es el caso. Ya alguien había mencionado la netiqueta: http://www.netiqueta.org/netiqueta_correo.shtml Salu2 kalvinet -- -------------------------------------------------------------- Alvaro Mera del Castillo. :-) Blog: http://www.kalvinet.com.mx JABBER: kalvinet @ jabber.org MAIL: kalvinet arroba gmail.com ICQ: 198998204 ------------- PGP key 1024D/EEB21D5A 2003-06-06 Mi llave publica: http://www.kalvinet.com.mx/kalvinet.asc =;-) Fingerprint: 0E63 3FAD B13C CADB B97F AC2D 828B 6874 EEB2 1D5A -------------------------------------------------------------- From jjdelcerromurciano en yahoo.es Tue May 31 16:07:13 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Tue, 31 May 2005 16:07:13 +0200 Subject: Soappy y puertos In-Reply-To: References: Message-ID: <200505311607.14253.jjdelcerromurciano@yahoo.es> SI estas fuera de la universidad y quieres acceder a tu servidor SOAP que esta dentro de la universidad puedes hacerlo con el comando: ssh -l usuario -p puerto -L8082:127.0.0.1:8082 150.214.111.195 Donde "usuario" es tu usuario en la maquina de la universidad y "puerto" el puerto en el que esta el ssh, normalmente el 22. Una vez ejecutado este comando y loguedo en la maquina de la universidad, accediendo a tu puerto local 8082 estaras entrando al puerto 8082 de la maquina de la universidad. Es decir tu cliente de SOAP tendrias que configurarlo para que ataque a "http://127.0.0.1:8082" para que usase el servidor de la universidad. Si tu puesto fuera de la universidad no es un unix-like, osea que es un Güindous, puedes utilizar un cliente de ssh como el PuTTY, que tiene la opcion de mapeo de puertos (y no requiere instalacion). Una vez arrancado en el arbol de la izquierda seleccionas connection->ssh->tunnels y alli pones: source port : 8082 destination : 127.0.0.1:8082 [x] local [x] auto Y le das al boton "add" Vuelves al arbol de la izquierda y le das a "session", y alli seleccionas el host (la ip de la maquina de la universidad), y si esta en un puerto distinto al 22 se lo indicas. Puedes darle al boton "open" para iniciar la sesion ssh o salvar la configuracion para no tener que repetirla todas las veces. El putty lo puedes encontrar en: ttp://www.tartarus.org/~simon/putty-snapshots/x86/putty.exe O si lo prefieres lo buscas en google. A dia de hoy la version stable no me ha funcionado, asi que te he puesto la url del ultimo snapshot. Un saludo Joaquin ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From kortux en gmail.com Tue May 31 18:27:47 2005 From: kortux en gmail.com (Miguel Angel Guerrero) Date: Tue, 31 May 2005 11:27:47 -0500 Subject: Filechooser+pygtk Message-ID: Saludos listeros de casualidad alguien sabe en pygtk como puedo a un filechooser indicarle que se habar por defecto en un directorio como /etc. y en caso de estar llamando el filechooser con libglade, como seria en este caso, gracias desde ahora, ojala esta vez alguien si me pueda responder. -- Atte: ------------------------------------ Miguel Angel Guerrero Usuario GNU/Linux Registrado #353531 Webmaster Escuela de Gobierno Tomas Moro http://www.tomasmoro.net ------------------------------------ From i92fredy en hotmail.com Tue May 31 18:45:01 2005 From: i92fredy en hotmail.com (=?iso-8859-1?B?QWxmcmVkbyBDYfFhZGFz?=) Date: Tue, 31 May 2005 18:45:01 +0200 Subject: Filechooser+pygtk In-Reply-To: References: Message-ID: Creo que es esto lo que buscas: chooser.set_current_folder(pathname) >From: Miguel Angel Guerrero >Reply-To: La lista de python en castellano >To: python-es en aditel.org >Subject: [Python-es] Filechooser+pygtk >Date: Tue, 31 May 2005 11:27:47 -0500 > >Saludos listeros > > >de casualidad alguien sabe en pygtk como puedo a un filechooser >indicarle que se habar por defecto en un directorio como /etc. > >y en caso de estar llamando el filechooser con libglade, como seria en >este caso, gracias desde ahora, ojala esta vez alguien si me pueda >responder. >-- > >Atte: >------------------------------------ >Miguel Angel Guerrero >Usuario GNU/Linux Registrado #353531 >Webmaster Escuela de Gobierno Tomas Moro >http://www.tomasmoro.net >------------------------------------ >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Tue May 31 19:02:29 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Tue, 31 May 2005 12:02:29 -0500 (CDT) Subject: =?iso-8859-1?q?Python_para_altos_vol=FAmenes_de_dato?= =?iso-8859-1?q?s?= Message-ID: <20050531170229.90088.qmail@web50404.mail.yahoo.com> Saludos: Estoy muy próximo a iniciar un nuevo proyecto, donde una de los pocas cosas ciertas que hay es que la carga de datos será muy grande: es un proyecto a nivel nacional(México) para la evaluación de varios aspectos del sistema educativo. Como consecuencia estoy previendo tener una gran cantidad de datos provenientes de los varios millones de niños y profesores que se evaluarán constantemente. Gustosamente estoy pensando usar Python para mi proyecto, sin embargo, tengo mis dudas. Ya una vez tuve una amarga experiencia con un analizador léxico/sintáctico escrito en python que no soportó una gramática bastante grande que le proporcione, y que tuve que implementar en Java. ¿Alguien ustedes utiliza o ha escuchado de alguien que utilice python para grandes volúmenes de datos? ¿Deberé volver nuevamente a Java con la cola entre las patas? ¿Podré confiar en mod_python para la parte de Web? ¿Servlets en Jython serán una mejor opción que mod_python? ¿Scipy y Numpy podrían salvar mi orgullo de Pythonista? Saludos César ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From vergara02 en gmail.com Tue May 31 18:56:34 2005 From: vergara02 en gmail.com (Jose Manuel Vergara Portilla) Date: Tue, 31 May 2005 11:56:34 -0500 Subject: ayuda con mktime() Message-ID: <4729821f05053109569301f62@mail.gmail.com> Hola a todos resulta que despues de estar trabajando con mktime me pasa el siguiente problema: una vez que tengo un valor por ejemplo HrEntrada=int(time.mktime((0,0,0,8,0,0,0,0,0))) y a ese valor entero resultante, necesito sumarle un tiempo x TiempoX=int(time.mktime((0,0,0,9,30,0,0,0,0))) en teoria seria asi: 8:00+ 9:30 = 17:30 horas utilizando mktime seria: Vresultante = HrEntrada + TiempoX Vresultante =???? a esta variable le aplico una division: aux = Vresultante / 60 y ahora calcular la hora: hr= aux / 60 Min = aux % 60 pero no sucede asi esto me pasa en las sumas por en restas si puedo hacer lo que intento. algun comentario al respecto?. saludos.... From faltet en carabos.com Tue May 31 19:37:49 2005 From: faltet en carabos.com (Francesc Altet) Date: Tue, 31 May 2005 19:37:49 +0200 Subject: Python para altos =?iso-8859-1?q?vol=FAmenes_de?= datos In-Reply-To: <20050531170229.90088.qmail@web50404.mail.yahoo.com> References: <20050531170229.90088.qmail@web50404.mail.yahoo.com> Message-ID: <200505311937.49637.faltet@carabos.com> A Dimarts 31 Maig 2005 19:02, Cesar Cardenas Desales va escriure: > Estoy muy próximo a iniciar un nuevo proyecto, > donde una de los pocas cosas ciertas que hay es que la > carga de datos será muy grande: es un proyecto a nivel > nacional(México) para la evaluación de varios aspectos > del sistema educativo. Como consecuencia estoy > previendo tener una gran cantidad de datos > provenientes de los varios millones de niños y > profesores que se evaluarán constantemente. Por qué no haces unas pruebas primero?. Mi experiencia es que tanto MySQL como SQLite te pueden soportar esos volúmenes sin demasiados problemas (depende de lo que quieras hacer, claro). Si tienes tablas *realmente* grandes puedes usar PyTables para apoyarte. Una combinación SQLite/PyTables suele dar excelentes resultados. > ¿Alguien ustedes utiliza o ha escuchado de alguien > que utilice python para grandes volúmenes de datos? > ¿Deberé volver nuevamente a Java con la cola entre las > patas? ¿Podré confiar en mod_python para la parte de > Web? ¿Servlets en Jython serán una mejor opción que > mod_python? ¿Scipy y Numpy podrían salvar mi orgullo > de Pythonista? Yo diria que un uso racional de las herramientas arriba descritas + Numpy (o numarray) + SciPy + matplotlib es uno de los mejores caminos. Mira [2, 3, 4] para unas presentaciones acerca de esto. Mira también [5,6] para aplicaciones práticas. [1] http://pytables.sourceforge.net [2] http://www.scipy.org/wikis/scipy04/presentations2004/scipy04_ipython.pdf [3] http://www.scipy.org/wikis/scipy04/presentations2004/presentation_alted.pdf [4] http://www.scipy.org/wikis/scipy04/presentations2004/scipy04_jhunter_sh.pdf [5] http://pytables.sourceforge.net/doc/taller-sf1-color.pdf [6] http://pytables.sourceforge.net/doc/taller-sf2-color.pdf Suerte! -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" From qualopec en gmail.com Tue May 31 19:55:36 2005 From: qualopec en gmail.com (Javier Santana) Date: Tue, 31 May 2005 19:55:36 +0200 Subject: =?ISO-8859-1?Q?Re:__Python_para_altos_vol=FAmenes_de_dato_s?= In-Reply-To: <20050531170229.90088.qmail@web50404.mail.yahoo.com> References: <20050531170229.90088.qmail@web50404.mail.yahoo.com> Message-ID: google usa grandes cantidades de datos y ahí está :P. En cuanto a lo de migrar de python a java para manejar grandes cantidades de datos... On 5/31/05, Cesar Cardenas Desales wrote: > Saludos: > > Estoy muy próximo a iniciar un nuevo proyecto, > donde una de los pocas cosas ciertas que hay es que la > carga de datos será muy grande: es un proyecto a nivel > nacional(México) para la evaluación de varios aspectos > del sistema educativo. Como consecuencia estoy > previendo tener una gran cantidad de datos > provenientes de los varios millones de niños y > profesores que se evaluarán constantemente. > > Gustosamente estoy pensando usar Python para mi > proyecto, sin embargo, tengo mis dudas. Ya una vez > tuve una amarga experiencia con un analizador > léxico/sintáctico escrito en python que no soportó una > gramática bastante grande que le proporcione, y que > tuve que implementar en Java. > > ¿Alguien ustedes utiliza o ha escuchado de alguien > que utilice python para grandes volúmenes de datos? > ¿Deberé volver nuevamente a Java con la cola entre las > patas? ¿Podré confiar en mod_python para la parte de > Web? ¿Servlets en Jython serán una mejor opción que > mod_python? ¿Scipy y Numpy podrían salvar mi orgullo > de Pythonista? > > Saludos > > César > > > > > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From jjdelcerromurciano en yahoo.es Tue May 31 20:04:46 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Tue, 31 May 2005 20:04:46 +0200 Subject: Python para altos =?iso-8859-1?q?vol=FAmenes_de?= datos In-Reply-To: <20050531170229.90088.qmail@web50404.mail.yahoo.com> References: <20050531170229.90088.qmail@web50404.mail.yahoo.com> Message-ID: <200505312004.46849.jjdelcerromurciano@yahoo.es> Hola, Personalmente aun no me he tropezado con tener que manejar una aplicaccion en python del calibre que pareces indicar. Ahora bien, llegue a python desde Vb y alli si que me las tube que ver con ese tipo de aplicaciones. Normalmente el problema no suele estar en el lenguaje de programacion. Cuando te tropiezas con un rompecabezas de ese estilo el truco esta en un diseño de aplicacion y base de datos apropiado, y generalmente muy poco ortodoxo. Si sales por la calle de en medio y al final para hacer la explotacion tienes que recorrerte un par de millones de registros de una BD y hacer operaciones con ellos vas mal, y ademas no importa el lenguaje que uses. Elije un buen gestor de base de datos y centrate en el diseño y alimentacion de esa base de datos, pensando en facilitarte luego las tareas de explotacion. Para que te hagas una idea. La ultima aplicacion gorda que hize (con vb y sqlserver), tiene ya un par de tablas con unos 15 millones de registros, y para que andase hay que deshabilitar las optimizaciones del propio gestor de BD, y que tire de los indices que yo le digo. Ademas en el momento de insertar los datos se hacen todos los calculos que se puede y se guardan ya hechos para facilitar la explotacion. Si cuando me piden un informe tubiuese que calcularlo todo el usuario se podria ir a hecharse una siesta antes de que estubiese. Hace poco he tenido que hacer algo en python que maneja cartografia, y los datos cartograficos que tengo ocupan unas 5 Gb (shps+dbfs). El truco esta en organizarlo de forma que no tengas nunca que recorrerte los 5Gb en python para hacer algo con ellos. Los organizas de forma que puedas recortar la informacion a la hora de procesarla. Y apesar de ello, pintar un mapa supone mover unas 500.000 lineas. Pues te toca optimizar tu codigo, y ademas a mano. Y al final encuentras que hay partes que aun asi no puedes hacer nada con ellas. Si tienes una funcion que es llamada 500.000.000 veces, al final pasas del python y la compilas en pyrex, y puedes reducir el tiempo asta un 60%, y algunas las hize en C+swig y les llegue a sacar un 90%. Pero basicamente, invocar a una funcion 500 millones de veces, si la funcion esta en python, es lento; pero si esta en casi cualquiercosa tambien es lento. Resumiendo, python es apto para un volumen de datos grande ? Depende de como te lo puedas montar y de tu gestor de BBDD (a veces debes prescindir de un gestor de BBDD para obtener mejores rendimientos, pero no es lo normal). Como nota final, despues de ... muchos años de VB y Micorsoft, hace 3 años que trabajo con python como lenguaje de proposito general para mis aplicaciones, y uso PostGreSQL como gestor de BD. Aun no me he arrepentido. Un saludo Joaquin. El Martes, 31 de Mayo de 2005 19:02, Cesar Cardenas Desales escribió: > Saludos: > > Estoy muy próximo a iniciar un nuevo proyecto, > donde una de los pocas cosas ciertas que hay es que la > carga de datos será muy grande: es un proyecto a nivel > nacional(México) para la evaluación de varios aspectos > del sistema educativo. Como consecuencia estoy > previendo tener una gran cantidad de datos > provenientes de los varios millones de niños y > profesores que se evaluarán constantemente. > > Gustosamente estoy pensando usar Python para mi > proyecto, sin embargo, tengo mis dudas. Ya una vez > tuve una amarga experiencia con un analizador > léxico/sintáctico escrito en python que no soportó una > gramática bastante grande que le proporcione, y que > tuve que implementar en Java. > > ¿Alguien ustedes utiliza o ha escuchado de alguien > que utilice python para grandes volúmenes de datos? > ¿Deberé volver nuevamente a Java con la cola entre las > patas? ¿Podré confiar en mod_python para la parte de > Web? ¿Servlets en Jython serán una mejor opción que > mod_python? ¿Scipy y Numpy podrían salvar mi orgullo > de Pythonista? > > Saludos > > César > > > > > > ___________________________________________________________ > Do You Yahoo!? > La mejor conexión a Internet y 2GB extra a tu correo por $100 al > mes. http://net.yahoo.com.mx > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From jcea en argo.es Tue May 31 20:13:12 2005 From: jcea en argo.es (Jesus Cea) Date: Tue, 31 May 2005 20:13:12 +0200 Subject: Python para altos =?ISO-8859-1?Q?vol=FAmenes_d?= =?ISO-8859-1?Q?e_datos?= In-Reply-To: <200505312004.46849.jjdelcerromurciano@yahoo.es> References: <20050531170229.90088.qmail@web50404.mail.yahoo.com> <200505312004.46849.jjdelcerromurciano@yahoo.es> Message-ID: <429CA938.9030107@argo.es> Joaquin Jose del Cerro Murciano wrote: > Hace poco he tenido que hacer algo en python que maneja cartografia, y los > datos cartograficos que tengo ocupan unas 5 Gb (shps+dbfs). Uhm, ¿puedes dar info sobre esa aplicación o es confidencial?. Yo le estoy dando duro al tema de GPS y afines. Y en python :). -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From cescd en yahoo.com.mx Tue May 31 20:17:19 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Tue, 31 May 2005 13:17:19 -0500 (CDT) Subject: =?iso-8859-1?q?Re:=20=20Python=20para=20altos=20vol=FAmenes=20?= =?iso-8859-1?q?de=20datos?= In-Reply-To: <200505312004.46849.jjdelcerromurciano@yahoo.es> References: <200505312004.46849.jjdelcerromurciano@yahoo.es> Message-ID: <20050531181719.89341.qmail@web50407.mail.yahoo.com> Muchas gracias, buenos consejos. Solamente hago una aclaración. Al escribir Python me refiero a la PVM, a la implementación de Python, no al lenguaje. Solamente conozco unas cuantas implementaciones de Python: la de referencia, ActivePython, Stackless, Jython y alguna otra que se me escape. El problema con aquel analizador que comentaba, es que el error que surgía era críptico: http://listas.aditel.org/archivos/python-es/2004-April/009494.html Saludos César --- Joaquin Jose del Cerro Murciano escribió: > > Hola, > > Personalmente aun no me he tropezado con tener que > manejar una aplicaccion en > python del calibre que pareces indicar. Ahora bien, > llegue a python desde Vb > y alli si que me las tube que ver con ese tipo de > aplicaciones. Normalmente > el problema no suele estar en el lenguaje de > programacion. Cuando te > tropiezas con un rompecabezas de ese estilo el truco > esta en un diseño de > aplicacion y base de datos apropiado, y generalmente > muy poco ortodoxo. > Si sales por la calle de en medio y al final para > hacer la explotacion tienes > que recorrerte un par de millones de registros de > una BD y hacer operaciones > con ellos vas mal, y ademas no importa el lenguaje > que uses. > > Elije un buen gestor de base de datos y centrate en > el diseño y alimentacion > de esa base de datos, pensando en facilitarte luego > las tareas de > explotacion. > > Para que te hagas una idea. La ultima aplicacion > gorda que hize (con vb y > sqlserver), tiene ya un par de tablas con unos 15 > millones de registros, y > para que andase hay que deshabilitar las > optimizaciones del propio gestor de > BD, y que tire de los indices que yo le digo. Ademas > en el momento de > insertar los datos se hacen todos los calculos que > se puede y se guardan ya > hechos para facilitar la explotacion. Si cuando me > piden un informe tubiuese > que calcularlo todo el usuario se podria ir a > hecharse una siesta antes de > que estubiese. > > Hace poco he tenido que hacer algo en python que > maneja cartografia, y los > datos cartograficos que tengo ocupan unas 5 Gb > (shps+dbfs). El truco esta en > organizarlo de forma que no tengas nunca que > recorrerte los 5Gb en python > para hacer algo con ellos. Los organizas de forma > que puedas recortar la > informacion a la hora de procesarla. Y apesar de > ello, pintar un mapa supone > mover unas 500.000 lineas. Pues te toca optimizar tu > codigo, y ademas a mano. > Y al final encuentras que hay partes que aun asi no > puedes hacer nada con > ellas. Si tienes una funcion que es llamada > 500.000.000 veces, al final pasas > del python y la compilas en pyrex, y puedes reducir > el tiempo asta un 60%, y > algunas las hize en C+swig y les llegue a sacar un > 90%. Pero basicamente, > invocar a una funcion 500 millones de veces, si la > funcion esta en python, es > lento; pero si esta en casi cualquiercosa tambien es > lento. > > Resumiendo, python es apto para un volumen de datos > grande ? > > Depende de como te lo puedas montar y de tu gestor > de BBDD (a veces debes > prescindir de un gestor de BBDD para obtener mejores > rendimientos, pero no es > lo normal). > > Como nota final, > despues de ... muchos años de VB y Micorsoft, hace 3 > años que trabajo con > python como lenguaje de proposito general para mis > aplicaciones, y uso > PostGreSQL como gestor de BD. > Aun no me he arrepentido. > > Un saludo > Joaquin. > > El Martes, 31 de Mayo de 2005 19:02, Cesar Cardenas > Desales escribió: > > Saludos: > > > > Estoy muy próximo a iniciar un nuevo proyecto, > > donde una de los pocas cosas ciertas que hay es > que la > > carga de datos será muy grande: es un proyecto a > nivel > > nacional(México) para la evaluación de varios > aspectos > > del sistema educativo. Como consecuencia estoy > > previendo tener una gran cantidad de datos > > provenientes de los varios millones de niños y > > profesores que se evaluarán constantemente. > > > > Gustosamente estoy pensando usar Python para mi > > proyecto, sin embargo, tengo mis dudas. Ya una vez > > tuve una amarga experiencia con un analizador > > léxico/sintáctico escrito en python que no soportó > una > > gramática bastante grande que le proporcione, y > que > > tuve que implementar en Java. > > > > ¿Alguien ustedes utiliza o ha escuchado de > alguien > > que utilice python para grandes volúmenes de > datos? > > ¿Deberé volver nuevamente a Java con la cola entre > las > > patas? ¿Podré confiar en mod_python para la parte > de > > Web? ¿Servlets en Jython serán una mejor opción > que > > mod_python? ¿Scipy y Numpy podrían salvar mi > orgullo > > de Pythonista? > > > > Saludos > > > > César > > > > > > > > > > > > > ___________________________________________________________ > > Do You Yahoo!? > > La mejor conexión a Internet y 2GB extra a > tu correo por $100 al > > mes. http://net.yahoo.com.mx > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > ______________________________________________ > Renovamos el Correo Yahoo! > Nuevos servicios, más seguridad > http://correo.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ From cescd en yahoo.com.mx Tue May 31 20:26:57 2005 From: cescd en yahoo.com.mx (Cesar Cardenas Desales) Date: Tue, 31 May 2005 13:26:57 -0500 (CDT) Subject: =?iso-8859-1?q?Re:=20=20Python=20para=20altos=20vol=FAmenes=20?= =?iso-8859-1?q?de=20datos?= In-Reply-To: <429CA938.9030107@argo.es> References: <429CA938.9030107@argo.es> Message-ID: <20050531182658.251.qmail@web50405.mail.yahoo.com> Se capturarán datos de evaluación a nivel nacional mediante hojas que se procesan mediante un lector óptico. Una vez que se tengan esos datos que me imagino serán enormes (al menos 30 millones de estudiantes http://www.sep.gob.mx/wb2/sep/sep_07JOR040405) Los datos se mandarán a oracle, y habrá que analizarlos y explotarlos de algún modo que aún no ha sido definido. --- Jesus Cea escribió: > Joaquin Jose del Cerro Murciano wrote: > > Hace poco he tenido que hacer algo en python que > maneja cartografia, y los > > datos cartograficos que tengo ocupan unas 5 Gb > (shps+dbfs). > > Uhm, ¿puedes dar info sobre esa aplicación o es > confidencial?. Yo le > estoy dando duro al tema de GPS y afines. Y en > python :). > > -- > Jesus Cea Avion _/_/ > _/_/_/ _/_/_/ > jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ > _/_/ _/_/ _/_/ > _/_/ _/_/ > _/_/_/_/_/ > PGP Key Available at KeyServ _/_/ _/_/ _/_/ > _/_/ _/_/ > "Things are not so easy" _/_/ _/_/ _/_/ > _/_/ _/_/ _/_/ > "My name is Dump, Core Dump" _/_/_/ _/_/_/ > _/_/ _/_/ > "El amor es poner tu felicidad en la felicidad de > otro" - Leibniz > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ___________________________________________________________ Do You Yahoo!? La mejor conexión a Internet y 2GB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From jjdelcerromurciano en yahoo.es Tue May 31 20:46:23 2005 From: jjdelcerromurciano en yahoo.es (Joaquin Jose del Cerro Murciano) Date: Tue, 31 May 2005 20:46:23 +0200 Subject: Cartografia y python In-Reply-To: <429CA938.9030107@argo.es> References: <20050531170229.90088.qmail@web50404.mail.yahoo.com> <200505312004.46849.jjdelcerromurciano@yahoo.es> <429CA938.9030107@argo.es> Message-ID: <200505312046.23533.jjdelcerromurciano@yahoo.es> El Martes, 31 de Mayo de 2005 20:13, Jesus Cea escribió: > Joaquin Jose del Cerro Murciano wrote: > > Hace poco he tenido que hacer algo en python que maneja cartografia, y > > los datos cartograficos que tengo ocupan unas 5 Gb (shps+dbfs). > > Uhm, ¿puedes dar info sobre esa aplicación o es confidencial?. Yo le > estoy dando duro al tema de GPS y afines. Y en python :). Hola, Los modulos de cartografia de los que hablaba son propiedad de la ultima empresa en la que trabaje y no creo que los pueda airear sin mas. Pero contar algo de lo que se hizo, por que no? El proyecto consistia en montar un servidor XMLRPC que permitiese perdirle un mapa a partir de unos datos de entrada y nos devolviese un PNG y algo mas de informacion extra. Los datos cartograficos estaban en ficheros shp y dbf y para acceder a ellos tire de pyShapelib. Lo que sucede es que el wraper de python no esta muy bien hecho y tras una primera maqueta, en la que casi tiramos la toalla, pasamos a usar directamente la libreria en C (shapelib) y todo cambio bastante. Cuando cargabas una linea de 10.000 segmentos el wraper de python te creaba 10.000 objetos para acceder a los segmentos, y eso dolia mucho. Si tiras de las funciones de C no pierdes apenas funcionalidad y te ahorras la creacion de miles de objetos que no necesitas. Los datos cartograficos estaban en coordenadas geograficas, longitud-latitud, cosa que ahorra mucho tiempo, ya que despues de darle muchas vueltas pasamos de proyecciones y todo sale bastante bien. Lo unico que hicimos fue unas funciones para trasladar las coordenadas a pixels de forma lineal y punto. Para pintar el mapa usamos el draw del PIL. Para la funcion de paso de coordenadas geograficas a pixels, acabamos usando una funcion en pyrex. Y en general el codigo esta bastante optimizado para que utilice al maximo las prestaciones de la maquina virtual de CPython. En general los resultados fueron bastante buenos. Ahora estoy a ratos y por libre replanteandome el proyecto. Estoy viendo de cargar los datos en PostgreSQL+PostGIS, y viendo de retocar el control de wx, FloatCanvas, para que pueda trabajar con datos cartograficos mas grandes y ligados a la BD sin que se muera en el intento. Pero eso de ir a ratos y sin un proyecto/encargo detras hace que las cosas vayan despacio. Si acabo teniendo algo, como no hay encargho detras, intentare publicarlo en algun sitio y dejarlo Open Source, si es que lo consigo. Aunque mis problemas para publicar cosas en la red son cosa de otro ilo de discusion. Un saludo Joaquin ______________________________________________ Renovamos el Correo Yahoo! Nuevos servicios, más seguridad http://correo.yahoo.es From hernan en orgmf.com.ar Tue May 31 21:08:49 2005 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 31 May 2005 21:08:49 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Python_para_altos_vol=FAmenes_de_datos?= In-Reply-To: <20050531181719.89341.qmail@web50407.mail.yahoo.com> References: <20050531181719.89341.qmail@web50407.mail.yahoo.com> Message-ID: > Solamente hago una aclaración. Al escribir Python me > refiero a la PVM, a la implementación de Python, no al > lenguaje. Solamente conozco unas cuantas > implementaciones de Python: la de referencia, > ActivePython, Stackless, Jython y alguna otra que se > me escape. ActivePython es la oficial mas paquetes de terceros. Stackless es un fork del oficial que no utiliza la pila de C. Jython es una reescritura del VM en java. A no ser que tengas restricciones específicas te recomiendo la distribucion oficial. > El problema con aquel analizador que comentaba, es que > el error que surgía era críptico: > > http://listas.aditel.org/archivos/python-es/2004-April/009494.html Hoy podrías usar ANTLR (que es de lo mejorcito que hay) http://www.antlr.org/doc/python-runtime.html Una pena que no estuviera disponible en el momento de desarrollar tu proyecto... -H. From cabrerachaparro en gmail.com Tue May 31 22:54:29 2005 From: cabrerachaparro en gmail.com (Daniel cabrera) Date: Tue, 31 May 2005 15:54:29 -0500 Subject: wxPython y Base de Datos Message-ID: <8565ad905053113548ef5f9b@mail.gmail.com> Hola, por favor alguien podria darme algun dato de algun manual de wxPython para trabajar con BD, como por ejemplo como hacer para llenar una grid con informacion de una BD. Gracias -- Daniel Cabrera Chaparro From pepe en diselpro.com Tue May 31 23:52:09 2005 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 31 May 2005 23:52:09 +0200 Subject: ayuda con mktime() In-Reply-To: <4729821f05053109569301f62@mail.gmail.com> References: <4729821f05053109569301f62@mail.gmail.com> Message-ID: <200505312352.09304.pepe@diselpro.com> El Martes, 31 de Mayo de 2005 18:56, Jose Manuel Vergara Portilla escribió: > Hola a todos resulta que despues de estar trabajando con mktime me > pasa el siguiente problema: > > una vez que tengo un valor por ejemplo > HrEntrada=int(time.mktime((0,0,0,8,0,0,0,0,0))) > y a ese valor entero resultante, necesito sumarle un tiempo x > TiempoX=int(time.mktime((0,0,0,9,30,0,0,0,0))) > en teoria seria asi: > 8:00+ 9:30 = 17:30 horas > > utilizando mktime seria: > Vresultante = HrEntrada + TiempoX > Vresultante =???? > > a esta variable le aplico una division: > aux = Vresultante / 60 > > y ahora calcular la hora: > hr= aux / 60 > Min = aux % 60 > > pero no sucede asi esto me pasa en las sumas por en restas si puedo > hacer lo que intento. > algun comentario al respecto?. > saludos.... > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es "El inicio de los tiempos" en unix es el 1 de enero de 1970. Si le pones un cero en el año, mktime interpreta el año 2000. Para hacer operaciones aritméticas con tiempo, utiliza mejor el módulo datetime. --code-- >>time.mktime((1970,1,1,1,0,0,0,0,0)) 0.0 -- Salut.