From nmelgarejodiaz en gmail.com Tue Apr 1 10:22:34 2008 From: nmelgarejodiaz en gmail.com (Natali Melgarejo Diaz) Date: Tue Apr 1 10:22:49 2008 Subject: [Python-es] [OFFTOPIC] Motor de informes Message-ID: Buenas a todos, Este offtopic es para hacer una consulta para los que se manejen bien en PHP . Queria saber si alguno de vosotros sabe de algún motor de reportes es decir, q convierta listas de datos facilmente en formato Excel (no PDF ni Word :-P ) Si es asi os agredecería me lo dijera por este mismo medio. Saludos a todos :) ********Natali******** From jrvilda en gmail.com Tue Apr 1 10:43:34 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Tue Apr 1 10:43:49 2008 Subject: [Python-es] Re: duda sobre formato ico stream In-Reply-To: References: Message-ID: Bueno ... Tras varios días mirando, no he dado con el formato, pero lo que si que he dado es con la herramienta para poder sacar este formato, de modo que si alguien quiere usar icono en su aplicación y incrustarlo en la misma. La herramienta viene con wxpython , y se llama image2py. http://www.wxpython.org/docs/api/wx.tools-module.html wx.tools uN SALUDO El día 30/03/08, Josu Rodriguez escribió: > > Hola buenas, > > Me gustaría incrustar una imagen en un programita que estoy haciendo, pero > no entiendo el formato. > He visto que se puede pasar de una cadena a imagen tipo: > > > '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x96\x00\x00\x00\x96\x08\x02\ > > Pero.... ¿Que formato es este? base 64 ,xpm o ... > > Tengo el icono en un pilón de formatos pero cuando los abro con el editor > no tiene ninguno este formato. > ¿Como puedo convertir mi .ico en este formato? > > Llevo un rato buscando y no encuentro nada. la verdad es que no lo tengo > muy claro. > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Josu Rodriguez Vilda > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From ogunsett en gmail.com Tue Apr 1 12:52:12 2008 From: ogunsett en gmail.com (Oscar Gunsett) Date: Tue Apr 1 13:08:55 2008 Subject: [Python-es] Re: Problema al ejecutar al inicio In-Reply-To: <47F0B0B5.1020900@gmail.com> References: <47ECDB0E.6050001@gmail.com> <47F0B0B5.1020900@gmail.com> Message-ID: Es evidente que al poner el programa al inicio de Windors no pusiste el PATH que tomaría el ejecutable como referencia para buscar los archivos. Esto se puede resolver de varias maneras: 1) Configurando adecuadamente la invocación desde windors 2) Trabajar en el código con path absolutos. 3) Usar el módulo os para cambiar el PATH que por defecto tomaran. El día 31/03/08, Luis Orellana Orihuela escribió: > > Luis Orellana Orihuela escribió: > > Realicé un pequeño Script en Python, posteriormente lo pasé a > > ejecutable con Py2exe. La aplicación lee unos ficheros para > > posteriormente tratarlos. Todo funciona correctamente. El problema es > > que quiero que se ejecute al comienzo de Windows, para ello modifico > > la clave oportuna en el registro de Windows. Bien, reinicio y me > > aparece un error de ejecución del programa: > > > > Traceback (most recent call last): > > File "programa.pyw", line 26, in > > IOError: [Errno 2] No such file or directory: 'info.txt' > > > > Según la traza el archivo del que tiene que leer programa.pyw no > > existe, lo cual no es cierto, existe y está bien formado. Prueba de > > ello es que si funciona el programa cuando lo ejecuto manualmente > > después. Para solucionarlo probé a retrasar la lectura del archivo con > > un time.sleep(10), aún así el problema persiste. A ver si conocéis la > > causa de este error. > > > > Muchas gracias. > > > Al parecer el problema estaba en que el código abría el archivo haciendo > referencia a la ruta relativa, la cual cambiaba al cambiar de ubicación > el archivo. Para solucionarlo se me ha ocurrido usar argv[0]: > > antes: > archivo=open("info.txt","r") > > ahora: > archivo=open(sys.argv[0]+"\..\info.txt","r") > > de esta forma queda solucionado el problema. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From rafaelcantos en hotmail.com Tue Apr 1 13:35:16 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Tue Apr 1 13:38:35 2008 Subject: [Python-es] =?windows-1252?q?Un_peque=F1o_problema?= Message-ID: buenas a todos. Estoy desarrollando una aplicación para leer libros digitales con sonido. Mas o menos es un índice que se muestra por pantalla y cada entrada del índic hace referencia a un archivo en mp3, el cuál contiene la parte esa del libro en audio. El problema surge al abrir un libro. El libro se abre, unque no se muestra en pantalla y se se queda pillado en el gestor de ficheros. Además, busca el archivo de mp3 y lo reroduce. Sin embargo, como hay varios archivos mp3 con el contenido, un bucle while los reproduce uno tras uno. Es decir, hace todo eso, pero hasta que no termina de reproducir el último archivo de audio, no se cierra la ventana del gestor de archivos, siendo imposible detener, pausar o lo que sea la reproducción, ver el índice, etc, pues el control no ha vyelto a la ventana principal. ¿Alguna idea para solucionar esto? Estoy usando pygtk y pygst. Lo único que quiero es que una vez que se abra el libro, se muestre el índice y se pueda manejar la aplicación (todas las opciones que posee y controlar el sonido) mientrasel sonido se reproduce, pero sin afectar al funcionamiento de la aplicación. Se me olvidaba, desde el menú hecho con pygtk usando gtk.menubar() se usa una retrollamada (si no me equivoco, no se puede usar un método normal), la cual es la que se encarga de abrir el libro y buscar los archivos mp3 a reproducir. muchas gracias por anticipado y espero vuestras ideas o soluciones. Rafa _________________________________________________________________ Tecnología, moda, motor, viajes,?suscríbete a nuestros boletines para estar siempre a la última Guapos y guapas, clips musicales y estrenos de cine. From faltet en carabos.com Tue Apr 1 14:21:26 2008 From: faltet en carabos.com (Francesc Altet) Date: Tue Apr 1 14:21:49 2008 Subject: [Python-es] Sin =?iso-8859-1?q?=F1_ni_tildes_en_xml_con?= wxpython In-Reply-To: <8c50b5f00803300403r40e98e69p6088d89549f0a04@mail.gmail.com> References: <8c50b5f00803300403r40e98e69p6088d89549f0a04@mail.gmail.com> Message-ID: <200804011421.26704.faltet@carabos.com> A Sunday 30 March 2008, Oscar (.teri) Triano escrigué: > Hola a todos, tengo un problema grave al intentar escribir en xml el > contenido de campos de textos, todo esto sucede en un formulario, si > tiene caracteres como ñ. Por ejemplo al intentar escribir en xml un > campo de texto que tiene como contenido "niño" me da el siguiente > error: > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in > position 7: ordinal not in range(128) Por el error, parece que el código de la ñ que le estás pasando está en isolatin1 y no en utf-8. No dices qué plataforma usas, pero si estás en Unix, intenta poner la variable LANG del entorno desde el cual lanzas tu aplicación a algo parecido LANG=es_ES.UTF-8 (y no te olvides de exportarla). > Lo curioso es que con GTK no me pone pegas y hago exactamente lo > mismo. Supongo que el GTK debe tener su propio sistema de selección de códigos. Saludos, -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" From pych3m4 en gmail.com Tue Apr 1 18:43:14 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue Apr 1 18:43:25 2008 Subject: =?ISO-8859-1?Q?Re:_[Python-es]_Un_peque=F1o_problema?= In-Reply-To: References: Message-ID: <2c9fb0dd0804010943r2ff9b523x5e71b5fb480559e0@mail.gmail.com> El 1/04/08, Rafael Cantos escribió: > Estoy desarrollando una aplicación para leer libros digitales con sonido. Mas o menos es un índice que se muestra por pantalla y cada entrada del índic hace referencia a un archivo en mp3, el cuál contiene la parte esa del libro en audio. > El problema surge al abrir un libro. El libro se abre, unque no se muestra en pantalla y se se queda pillado en el gestor de ficheros. Además, busca el archivo de mp3 y lo reroduce. Sin embargo, como hay varios archivos mp3 con el contenido, un bucle while los reproduce uno tras uno. > Es decir, hace todo eso, pero hasta que no termina de reproducir el último archivo de audio, no se cierra la ventana del gestor de archivos, siendo imposible detener, pausar o lo que sea la reproducción, ver el índice, etc, pues el control no ha vyelto a la ventana principal. > ¿Alguna idea para solucionar esto? Estoy usando pygtk y pygst. Parece el típico problema de falta de orientación a la multitarea. Necesitas ejecutar varios hilos, al menos uno para ejecutar el audio y otro para controlar el interface. Aparte de ésto, supongo que necesitas ejecutar "asíncronamente" el audio. From bmx._ en hotmail.com Tue Apr 1 19:07:11 2008 From: bmx._ en hotmail.com (BMX FREESTYLE) Date: Tue Apr 1 19:07:21 2008 Subject: [Python-es] help Message-ID: motores de busqueda para archivos invertidos alguen me puede ayudar con este tema _________________________________________________________________ Get in touch in an instant. Get Windows Live Messenger now. http://www.windowslive.com/messenger/overview.html?ocid=TXT_TAGLM_WL_Refresh_getintouch_042008 From lasizoillo en gmail.com Tue Apr 1 19:53:27 2008 From: lasizoillo en gmail.com (lasizoillo) Date: Tue Apr 1 19:53:45 2008 Subject: [Python-es] help In-Reply-To: References: Message-ID: <49414f570804011053pf645eefv591d8231eaf9fb90@mail.gmail.com> ¿Que es un archivo invertido? Para hacer un buscador de archivos (a secas) yo miraria: http://swapoff.org/pyndexter Tiene buena pinta eso de no depender de ninguno en fase de desarrollo y elegir el que más te guste para producción. No me ha resultado demasiado facil el depliegue de xapian o hyperstraier :-( El 1/04/08, BMX FREESTYLE escribió: > > motores de busqueda para archivos invertidos alguen me puede ayudar con este tema > _________________________________________________________________ From alxgnar en gmail.com Tue Apr 1 21:50:28 2008 From: alxgnar en gmail.com (=?UTF-8?Q?alex_ordo=C3=B1ez?=) Date: Tue Apr 1 21:50:47 2008 Subject: [Python-es] Cambiar icono en Tk In-Reply-To: References: Message-ID: <26a762360804011250uf1cc0a3v6744cccc0c7c6a92@mail.gmail.com> 2008/3/31, pepitovadecurt : > > Quisiera saber como se cambia el icono en las pantallas Tk y dónde poner > el archivo .ico > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > no se si esto es lo que deseas ventana=Tk() .... .... ventana.iconbitmap('7.ico') ventana.mainloop() From minoztro en gmail.com Tue Apr 1 23:01:05 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Tue Apr 1 23:01:23 2008 Subject: [Python-es] dudas con settrace Message-ID: <172699c50804011401j8654e21t68ec5ab0de138c2c@mail.gmail.com> estimados: tengo el siguiente codigo: import sys def trace(frame,event,arg): lineno = frame.f_lineno code = frame.f_code locals = frame.f_locals print locals if event == "call": #print code.co_names return trace elif event == "line": return trace elif event == "return": pass sys.settrace(trace) class prueba(object): x = 0 def __init__(self): z = 1 return a = prueba() y cuando lo ejecuto la salida es la siguiente: minostro@peregrino:~/Escritorio/settrace$ python duda_settrace.py {} {} {'__module__': '__main__'} {'x': 0, '__module__': '__main__'} {'x': 0, '__module__': '__main__', '__init__': } {'self': <__main__.prueba object at 0xb7d05e2c>} {'self': <__main__.prueba object at 0xb7d05e2c>} {'self': <__main__.prueba object at 0xb7d05e2c>, 'z': 1} {'self': <__main__.prueba object at 0xb7d05e2c>, 'z': 1} Hasta ahi todo conforme, pero si le agrego una linea mas a mi script como por ejemplo{despues de la ultima linea}: a.y = 20 el settrace no me imprime nada por la consola...que puedo hacer?..la idea es seguir utlizando settrace...gracias por vuestra ayuda -- Milton Inostroza Aguilera From leandrotocalini en gmail.com Wed Apr 2 00:21:03 2008 From: leandrotocalini en gmail.com (leandro tocalini) Date: Wed Apr 2 00:21:09 2008 Subject: [Python-es] [OFFTOPIC] Motor de informes In-Reply-To: References: Message-ID: On Tue, Apr 1, 2008 at 5:22 AM, Natali Melgarejo Diaz < nmelgarejodiaz@gmail.com> wrote: > Buenas a todos, > > Este offtopic es para hacer una consulta para los que se manejen bien en > PHP > . Queria saber si alguno de vosotros sabe de algún motor de reportes es > decir, q convierta listas de datos facilmente en formato Excel (no PDF ni > Word :-P ) > Si es asi os agredecería me lo dijera por este mismo medio. > > Saludos a todos :) > > > ********Natali******** > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > Y porq no armas un script en python con excelerator y listo lo podes armar para correrlo en una page. From damufo en gmail.com Wed Apr 2 13:17:01 2008 From: damufo en gmail.com (damufo) Date: Wed Apr 2 13:30:22 2008 Subject: [Python-es] Acceso a base de datos access 97 desde linux Message-ID: <47F36B2D.3080202@gmail.com> Hola lista: Me gustaría saber si hay alguna forma de acceder para leer y/o escribir a una base de datos access97 desde gnu/linux (ubuntu) con python. Algún módulo? web donde los explique? Saludos y gracias -- Dani From rafaelcantos en hotmail.com Wed Apr 2 14:47:14 2008 From: rafaelcantos en hotmail.com (Rafael Cantos) Date: Wed Apr 2 14:47:24 2008 Subject: [Python-es] =?iso-8859-1?q?RE=3A_Un_peque=F1o_problema?= In-Reply-To: <20080402113025.AC69D15EF814@devnull.aditel.org> References: <20080402113025.AC69D15EF814@devnull.aditel.org> Message-ID: Si no te he entendido mal Chema, es que cada ilo se ejecute independientemente, y que cuando haya que reproducir algo, se le pase la información necesaria al audio. Gracias, voy a intentarlo. Saludos. Rafa> > Message: 2> Date: Tue, 1 Apr 2008 18:43:14 +0200> From: "Chema Cortes" > Subject: Re: [Python-es] Un pequeño problema> To: " Lista de discusión sobre python en castellano "> > Message-ID:> <2c9fb0dd0804010943r2ff9b523x5e71b5fb480559e0@mail.gmail.com>> Content-Type: text/plain; charset=ISO-8859-1> > El 1/04/08, Rafael Cantos escribió:> > > Estoy desarrollando una aplicación para leer libros digitales con sonido. Mas o menos es un índice que se muestra por pantalla y cada entrada del índic hace referencia a un archivo en mp3, el cuál contiene la parte esa del libro en audio.> > El problema surge al abrir un libro. El libro se abre, unque no se muestra en pantalla y se se queda pillado en el gestor de ficheros. Además, busca el archivo de mp3 y lo reroduce. Sin embargo, como hay varios archivos mp3 con el contenido, un bucle while los reproduce uno tras uno.> > Es decir, hace todo eso, pero hasta que no termina de reproducir el último archivo de audio, no se cierra la ventana del gestor de archivos, siendo imposible detener, pausar o lo que sea la reproducción, ver el índice, etc, pues el control no ha vyelto a la ventana principal.> > ¿Alguna idea para solucionar esto? Estoy usando pygtk y pygst.> > Parece el típico problema de falta de orientación a la multitarea.> Necesitas ejecutar varios hilos, al menos uno para ejecutar el audio y> otro para controlar el interface. Aparte de ésto, supongo que> necesitas ejecutar "asíncronamente" el audio.> > > ------------------------------ _________________________________________________________________ MSN Video. http://video.msn.com/?mkt=es-es From miracomovengo en gmail.com Wed Apr 2 15:52:03 2008 From: miracomovengo en gmail.com (Jose) Date: Wed Apr 2 15:52:44 2008 Subject: [Python-es] Python MPI Message-ID: <73e8f67f0804020652m74fe54f4t4871bee748c3b511@mail.gmail.com> Hola! Acabo de ingresar a la lista; me presento. Me llamo Jose y estoy terminando la carrera de informática de sistemas en Madrid. A la vez estoy haciendo el proyecto y trabajando de mañana en un empresa como administrador de sistemas. Bueno, mi primera pregunta es saber si hay algún módulo para trabajar con mpi, a poder ser basado en LAM/MPI. El caso es que en una asignatura tengo que hacer un sistema de ficheros paralelo en C con MPI. Y estoy viendo la posibilidad de hacerlo en Python.... ¿Alguien hace computación paralela? ¿Alguna aportación? Muchas gracias! From faltet en carabos.com Wed Apr 2 16:11:15 2008 From: faltet en carabos.com (Francesc Altet) Date: Wed Apr 2 16:11:39 2008 Subject: [Python-es] Python MPI In-Reply-To: <73e8f67f0804020652m74fe54f4t4871bee748c3b511@mail.gmail.com> References: <73e8f67f0804020652m74fe54f4t4871bee748c3b511@mail.gmail.com> Message-ID: <200804021611.16153.faltet@carabos.com> A Wednesday 02 April 2008, Jose escrigué: > Hola! > > Acabo de ingresar a la lista; me presento. > Me llamo Jose y estoy terminando la carrera de informática de > sistemas en Madrid. A la vez estoy haciendo el proyecto y trabajando > de mañana en un empresa como administrador de sistemas. > > Bueno, mi primera pregunta es saber si hay algún módulo para trabajar > con mpi, a poder ser basado en LAM/MPI. El caso es que en una > asignatura tengo que hacer un sistema de ficheros paralelo en C con > MPI. Y estoy viendo la posibilidad de hacerlo en Python.... > > ¿Alguien hace computación paralela? ¿Alguna aportación? Pues no la hago, aunque me gustaria ;-) Sin embargo, he oido hablar muy bien de mpi4py (http://mpi4py.scipy.org/). Una de las ventajas de este paquete es su gran nivel de integración con NumPy, lo cual le hace ideal para paralelizar cálculos con arrays. Saludos, -- >0,0< Francesc Altet     http://www.carabos.com/ V V Cárabos Coop. V.   Enjoy Data "-" From necudeco en gmail.com Wed Apr 2 18:19:08 2008 From: necudeco en gmail.com (necudeco) Date: Wed Apr 2 18:19:15 2008 Subject: [Python-es] Acceso a base de datos access 97 desde linux In-Reply-To: <47F36B2D.3080202@gmail.com> References: <47F36B2D.3080202@gmail.com> Message-ID: <2ccb93070804020919q6a9c3be7ue1da9a3fdc061011@mail.gmail.com> Hola damufo, espero que esto te sirva. http://necudeco.com/index.php/2008/04/02/acceder-a-msaccess-desde-python-o-php/ Saludos On Wed, Apr 2, 2008 at 6:17 AM, damufo wrote: > Hola lista: > Me gustaría saber si hay alguna forma de acceder para leer y/o escribir a > una base de datos access97 desde gnu/linux (ubuntu) con python. Algún > módulo? web donde los explique? > Saludos y gracias > > -- > Dani > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- NeCuDeCo Asociacion Peruana de Software Libre http://necudeco.com http://apesol.org Your Jugdment Day is NOW sudo kills -9 $richard_penguin_signature From miracomovengo en gmail.com Wed Apr 2 18:55:01 2008 From: miracomovengo en gmail.com (Jose) Date: Wed Apr 2 18:58:11 2008 Subject: [Python-es] Acerca de import Message-ID: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> No entiendo muy bien cuál es la diferencia de hacer import modulo dentro de un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. La verdad es que yo siempre lo he visto fuera de cualquier clase, pero ¿por qué es esto así? ¿siempre es así? Muchas gracias y perdón si es una duda muy trivial (estoy empezando en python :-P ) JOSE :-) From willian.radicaled en gmail.com Wed Apr 2 19:15:58 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Wed Apr 2 19:34:09 2008 Subject: [Python-es] Acerca de import In-Reply-To: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> References: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> Message-ID: Si haces un import dentro de las funciones o las clases solamente será funcional los módulos de ese import dentro de estas. Me entiendes? 2008/4/2 Jose : > No entiendo muy bien cuál es la diferencia de hacer import modulo dentro > de > un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. > > La verdad es que yo siempre lo he visto fuera de cualquier clase, pero > ¿por > qué es esto así? ¿siempre es así? > > Muchas gracias y perdón si es una duda muy trivial (estoy empezando en > python :-P ) > > JOSE :-) > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com From markuz en islascruz.org Wed Apr 2 19:11:12 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Wed Apr 2 19:36:20 2008 Subject: [Python-es] Acerca de import In-Reply-To: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> References: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> Message-ID: <1207156272.6401.19.camel@cucusa> El import lo puedes usar donde gustes, al menos el del tipo "import modulo", y aunque python maneja los imports de forma que no reimportes un modulo cuando lo tienes en la lista de modulos pues es bueno no andar haciendo que python lo busque de nuevo cada vez que mandas a llamar una funcion o clase. De forma que, si, es mejor ponerlo al encabezado de tu modulo, asi, tendra alcance para todas las clases, metodos y funciones de tu modulo y solo importas 1 vez. On Wed, 2008-04-02 at 18:55 +0200, Jose wrote: > No entiendo muy bien cuál es la diferencia de hacer import modulo dentro de > un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. > > La verdad es que yo siempre lo he visto fuera de cualquier clase, pero ¿por > qué es esto así? ¿siempre es así? > > Muchas gracias y perdón si es una duda muy trivial (estoy empezando en > python :-P ) > > JOSE :-) > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz@islascruz.org markuz@unixmexico.org markuz@linuxpozarica.com marco.islas@gmail.com islacruz@yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 189 bytes Descripción: This is a digitally signed message part Url : /archivos/python-es/attachments/20080402/d8ba7fd6/attachment.pgp From miracomovengo en gmail.com Wed Apr 2 19:47:14 2008 From: miracomovengo en gmail.com (Jose) Date: Wed Apr 2 19:58:22 2008 Subject: [Python-es] Acerca de import In-Reply-To: <1207156272.6401.19.camel@cucusa> References: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> <1207156272.6401.19.camel@cucusa> Message-ID: <73e8f67f0804021047x28d19f0dm1cddf58fdfdf30cc@mail.gmail.com> Entiendo. Así que da igual donde lo vaya a usar, que si necesito importar algo lo pongo arriba del todo, fuera de cualquier clase, método o lo que sea. Y esto no se ve para nada afectado por el rendimiento ya que es únicamente para cuestiones de visibilidad en tiempo de "compilación". Muchas gracias, de verdad! El día 2/04/08, Marco Antonio Islas Cruz escribió: > > El import lo puedes usar donde gustes, al menos el del tipo "import > modulo", y aunque python maneja los imports de forma que no reimportes > un modulo cuando lo tienes en la lista de modulos pues es bueno no andar > haciendo que python lo busque de nuevo cada vez que mandas a llamar una > funcion o clase. > > De forma que, si, es mejor ponerlo al encabezado de tu modulo, asi, > tendra alcance para todas las clases, metodos y funciones de tu modulo y > solo importas 1 vez. > > > On Wed, 2008-04-02 at 18:55 +0200, Jose wrote: > > No entiendo muy bien cuál es la diferencia de hacer import modulo dentro > de > > un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. > > > > La verdad es que yo siempre lo he visto fuera de cualquier clase, pero > ¿por > > qué es esto así? ¿siempre es así? > > > > Muchas gracias y perdón si es una duda muy trivial (estoy empezando en > > python :-P ) > > > > JOSE :-) > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > -- > > <--Linux... Because I'm Free--> > Marco Antonio Islas Cruz > "Markuz" > Linux User #280229 > markuz@islascruz.org > markuz@unixmexico.org > markuz@linuxpozarica.com > marco.islas@gmail.com > islacruz@yahoo.com > http://www.islascruz.org > http://sourceforge.net/projects/gpkg/ > http://www.linuxpozarica.com > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > From markuz en islascruz.org Wed Apr 2 20:41:54 2008 From: markuz en islascruz.org (Marco Antonio Islas Cruz) Date: Wed Apr 2 20:42:13 2008 Subject: [Python-es] Acerca de import In-Reply-To: <73e8f67f0804021047x28d19f0dm1cddf58fdfdf30cc@mail.gmail.com> References: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> <1207156272.6401.19.camel@cucusa> <73e8f67f0804021047x28d19f0dm1cddf58fdfdf30cc@mail.gmail.com> Message-ID: <1207161714.6401.23.camel@cucusa> On Wed, 2008-04-02 at 19:47 +0200, Jose wrote: > Entiendo. > > Así que da igual donde lo vaya a usar, que si necesito importar algo lo > pongo arriba del todo, fuera de cualquier clase, método o lo que sea. > > Y esto no se ve para nada afectado por el rendimiento ya que es únicamente > para cuestiones de visibilidad en tiempo de "compilación". En realidad, si se ve afectado, no es lo mismo que importes un modulo al principio a que lo importes dentro de una funcion que se va a estar usando constantemente. Por que? porque python tiene en cada vez que llamas la funcion checar si el modulo ha sido importado o no, lo que obviamente, es mas trabajo del que se necesita. > > Muchas gracias, de verdad! > > El día 2/04/08, Marco Antonio Islas Cruz escribió: > > > > El import lo puedes usar donde gustes, al menos el del tipo "import > > modulo", y aunque python maneja los imports de forma que no reimportes > > un modulo cuando lo tienes en la lista de modulos pues es bueno no andar > > haciendo que python lo busque de nuevo cada vez que mandas a llamar una > > funcion o clase. > > > > De forma que, si, es mejor ponerlo al encabezado de tu modulo, asi, > > tendra alcance para todas las clases, metodos y funciones de tu modulo y > > solo importas 1 vez. > > > > > > On Wed, 2008-04-02 at 18:55 +0200, Jose wrote: > > > No entiendo muy bien cuál es la diferencia de hacer import modulo dentro > > de > > > un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. > > > > > > La verdad es que yo siempre lo he visto fuera de cualquier clase, pero > > ¿por > > > qué es esto así? ¿siempre es así? > > > > > > Muchas gracias y perdón si es una duda muy trivial (estoy empezando en > > > python :-P ) > > > > > > JOSE :-) > > > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > -- > > > > <--Linux... Because I'm Free--> > > Marco Antonio Islas Cruz > > "Markuz" > > Linux User #280229 > > markuz@islascruz.org > > markuz@unixmexico.org > > markuz@linuxpozarica.com > > marco.islas@gmail.com > > islacruz@yahoo.com > > http://www.islascruz.org > > http://sourceforge.net/projects/gpkg/ > > http://www.linuxpozarica.com > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes -- <--Linux... Because I'm Free--> Marco Antonio Islas Cruz "Markuz" Linux User #280229 markuz@islascruz.org markuz@unixmexico.org markuz@linuxpozarica.com marco.islas@gmail.com islacruz@yahoo.com http://www.islascruz.org http://sourceforge.net/projects/gpkg/ http://www.linuxpozarica.com ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 189 bytes Descripción: This is a digitally signed message part Url : /archivos/python-es/attachments/20080402/5f7bed20/attachment.pgp From mobile en ibinsa.com Wed Apr 2 20:24:42 2008 From: mobile en ibinsa.com (Gabriel Ibanez) Date: Wed Apr 2 20:45:55 2008 Subject: [Python-es] Cambiar icono en Tk References: <26a762360804011250uf1cc0a3v6744cccc0c7c6a92@mail.gmail.com> Message-ID: <001d01c894ee$d52e0770$0a01a8c0@mobile> Holas, Amplio un poco mas con otro ejemplo. No es mas que un menu que utilizo bastante: ################# # MENU # ################# from Tkinter import * import os from datetime import date class App: def __init__(self, master): pad_x = 2 pad_y = 3 wi = 18 # width of the button #date = datetime.datetime.now() now = date.today() now = now.strftime("%d/%m/%y") frame = Frame(master, width=200, height=100, borderwidth=5, relief=RAISED, background="white") frame.pack() w1 = Button(frame, text="FACTURACION", command=self.Factu, padx=pad_x, pady=pad_y, width=wi) w1.grid(row=1, column=1) w2 = Button(frame, text="EDITOR", command=self.Editor, padx=pad_x, pady=pad_y, width=wi) w2.grid(row=2, column=1) w3 = Button(frame, text="Catalogo 1", command=self.Catalogo_1, padx=pad_x, pady=pad_y, width=wi) w3.grid(row=1, column=2) w4 = Button(frame, text="Catalogo 2", command=self.Catalogo_2, padx=pad_x, pady=pad_y, width=wi) w4.grid(row=2, column=2) w5 = Button(frame, text="Catalogo 3", command=self.Catalogo_3, padx=pad_x, pady=pad_y, width=wi) w5.grid(row=3, column=2) w6 = Button(frame, text="Catalogo 4", command=self.Catalogo_4, padx=pad_x, pady=pad_y, width=wi) w6.grid(row=4, column=2) text = Text(frame, wrap=WORD, height=3, width=21) text.insert(END, "\n ") text.tag_config("a", underline=1) text.insert(END, "FECHA", "a") text.insert(END, " :: ") text.insert(END, now) text.grid(row=3, column=1, rowspan=2) text.config(state=DISABLED) #wq = Button(frame, text="Salir", fg="red", command=frame.quit) #wq.grid(row=2, column=3) def Factu(self): os.chdir("C:\FACTU") cmd = "START GCI000 K" os.system(cmd) def Editor(self): os.chdir("L:\EDI") cmd = "START EDI000" os.system(cmd) def Catalogo_1(self): os.system("start AcroRd32 L:\Catalogos\catalogo_1.pdf") def Catalogo_2(self): os.system("start AcroRd32 L:\Catalogos\catalogo_2.pdf") def Catalogo_3(self): os.system("start AcroRd32 L:\Catalogos\catalogo_3.pdf") def Catalogo_4(self): os.system("start AcroRd32 L:\Catalogos\catalogo_4.pdf") # MAIN root = Tk() app = App(root) root.geometry("+0+0") root.wm_iconbitmap("icono.ico") root.wm_title("MENU") text = Text(root) root.mainloop() #eof Creo que salen varias cosas interesantes. saludos - Gabriel - ----- Original Message ----- From: "alex ordoñez" To: "Lista de discusión sobre python en castellano" Sent: Tuesday, April 01, 2008 9:50 PM Subject: Re: [Python-es] Cambiar icono en Tk > 2008/3/31, pepitovadecurt : >> >> Quisiera saber como se cambia el icono en las pantallas Tk y dónde poner >> el archivo .ico >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > > no se si esto es lo que deseas > > ventana=Tk() > .... > .... > ventana.iconbitmap('7.ico') > ventana.mainloop() > -------------------------------------------------------------------------------- _______________________________________________ Lista de correo Python-es http://listas.aditel.org/listinfo/python-es FAQ: http://listas.aditel.org/faqpyes From jcaballero.hep en gmail.com Wed Apr 2 21:36:17 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed Apr 2 21:48:27 2008 Subject: [Python-es] insecure string pickle Message-ID: Hola a todos, esta es la primera vez que hago una pregunta en esta lista. Agradezco por adelantado vuestra atención y paciencia, y muchas gracias por la ayuda que podáis ofrecerme. Estoy intentando serializar un objeto mediante pickle.dumps() y pasar el resultado como argumento a otro programa que ejecuto con commands.getstatusoutput( ) Paso el objeto serializado como argumento porque estoy intentado evitar, en la medida de lo posible, hacerlo a través de un fichero intermedio. La secuencia viene a ser como sigue: line = pickle.dumps( object ) line = ' '.join(line.split('\n')) line = '"%s"' % line st, out = commands.getstatusoutput('./prog2.py %s' % line ) Las líneas segunda y tercera del ejemplo son para convertir el resultado de dumps() en una única cadena, y que esté contenida entre dobles comillas para evitar problemas con la shell. El segundo programa deshace estos cambios, de la siguiente manera: line=sys.argv[1] line='\n'.join(line.split()) o=pickle.loads(line) Lo he intentado con un objeto de una clase bastante simple, y funciona perfectamente. Esto significa que la secuencia de pasos en ambos programas es correcta. Pero cuando lo intento con un objeto de una clase un poco más compleja obtengo el siguiente mensaje de error: Traceback (most recent call last): File "./prog2b.py", line 10, in ? o=pickle.loads(line) File "/usr/lib/python2.2/pickle.py", line 986, in loads return Unpickler(file).load() File "/usr/lib/python2.2/pickle.py", line 597, in load dispatch[key](self) File "/usr/lib/python2.2/pickle.py", line 667, in load_string raise ValueError, "insecure string pickle" ValueError: insecure string pickle Creo que puede ser porque el resultado del método dumps no es todo lo bueno que debería. Este es, por cierto, dicho valor (antes de procesarlo): ccopy_reg _reconstructor p0 (cmyproxyUtils MyProxyInterface p1 c__builtin__ object p2 Ntp3 R(dp4 S'_MyProxyInterface__userDN' p5 S'/DC=org/DC=doegrids/OU=People/CN=Jose\ Caballero\ 832651' p6 sS'_MyProxyInterface__vomsattributes' p7 S'' p8 sS'_MyProxyInterface__servername' p9 S'myproxy.fnal.gov' p10 sS'_MyProxyInterface__pilotownerDN' p11 g8 sS'_MyProxyInterface__myproxylogon_refdate' p12 I1181620800 sS'_MyProxyInterface__proxypath' p13 S'/tmp/ESTO_ES_UNA_PRUEBA' p14 sS'_MyProxyInterface__pilotproxypath' p15 S'/tmp/x509up_u10139' p16 sS'_MyProxyInterface__command' p17 g8 sS'_MyProxyInterface__myproxyinit_refdate' p18 I1181620800 sbp19 . Y éste es el resutado tras el procesamiento, y que paso como argumento al segundo programa: "ccopy_reg _reconstructor p0 (cmyproxyUtils MyProxyInterface p1 c__builtin__ object p2 Ntp3 R(dp4 S'_MyProxyInterface__userDN' p5 S'/DC=org/DC=doegrids/OU=People/CN=Jose\\ Caballero\\ 832651' p6 sS'_MyProxyInterface__vomsattributes' p7 S'' p8 sS'_MyProxyInterface__servername' p9 S'myproxy.fnal.gov' p10 sS'_MyProxyInterface__pilotownerDN' p11 g8 sS'_MyProxyInterface__myproxylogon_refdate' p12 I1181620800 sS'_MyProxyInterface__proxypath' p13 S'/tmp/ESTO_ES_UNA_PRUEBA' p14 sS'_MyProxyInterface__pilotproxypath' p15 S'/tmp/x509up_u10139' p16 sS'_MyProxyInterface__command' p17 g8 sS'_MyProxyInterface__myproxyinit_refdate' p18 I1181620800 sbp19 ." ¿Ven alguna cadena que pueda estar corrompida y que no sea válida para el método loads()? Nota, si lo hago usando un fichero intermedio, mediante los métodos dump() y load(), todo funciona perfectamente. Muchas gracias. Toda ayuda que puedan ofrecerme será más que bien venida. Saludos Jose From minoztro en gmail.com Wed Apr 2 22:01:54 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Wed Apr 2 22:03:30 2008 Subject: [Python-es] saber a que clase pertenece un __init__ cualquiera Message-ID: <172699c50804021301q48d11b22w80d8a80ce111cf51@mail.gmail.com> Estimado: Necesito saber en un programa a quien pertenece el metodo __init__, ejemplo: >>> class prueba(object): ... def __init__(self): ... a = 20 ... >>> print prueba.__dict__ {'__dict__': , '__module__': '__main__', '__weakref__': , '__doc__': None, '__init__': } hasta ahi todo bien....es decir puedo identificar el metodo __init__ desde el diccionario interno de la clase..pero como lo puedo hacer de vuelta es decir, lo sigueinte: >>> print prueba.__dict__['__init__'] y a partir de este objeto saber a que clase esta vinculada....al parecer esta dificil la cosa ya que es un unbound method =/....alguien me puede orientar, he tratado de manipular frame, function, code...pero nada. Gracias por vuestra ayuda, -- Milton Inostroza Aguilera From gcarrera2 en alumno.uned.es Wed Apr 2 23:35:27 2008 From: gcarrera2 en alumno.uned.es (=?ISO-8859-1?Q?Germ=E1n_Carrera?=) Date: Wed Apr 2 23:36:36 2008 Subject: [Python-es] Python MPI In-Reply-To: <200804021611.16153.faltet@carabos.com> References: <73e8f67f0804020652m74fe54f4t4871bee748c3b511@mail.gmail.com> <200804021611.16153.faltet@carabos.com> Message-ID: <47F3FC1F.7050802@alumno.uned.es> Hola José y Francesc, Yo trabajé en temas computación Grid e hice un pqequeño script/wrap para lanzar jobs de tipo MPI a la Grid de EGEE usando Python (puedo mandarte el enlace si te sirve de ayuda). las máquinas que se usan en MPI se conectan entre si mediante ssh o usan nfs. Igual puedes usar algo tipo fuse para hacer un sistema de ficheros común sobre los existentes y escribir el módulo en python.pero lo que comentas no parece facil de hacer, al menos en tiempo. En principio es lo que se me ocurre, si es para el proyecto de fin de carrera y necesitas alguna idea para hacer con Python y MPI te puedo dar alguna idea. Saludos. Francesc Altet wrote: > A Wednesday 02 April 2008, Jose escrigué: > >> Hola! >> >> Acabo de ingresar a la lista; me presento. >> Me llamo Jose y estoy terminando la carrera de informática de >> sistemas en Madrid. A la vez estoy haciendo el proyecto y trabajando >> de mañana en un empresa como administrador de sistemas. >> >> Bueno, mi primera pregunta es saber si hay algún módulo para trabajar >> con mpi, a poder ser basado en LAM/MPI. El caso es que en una >> asignatura tengo que hacer un sistema de ficheros paralelo en C con >> MPI. Y estoy viendo la posibilidad de hacerlo en Python.... >> >> ¿Alguien hace computación paralela? ¿Alguna aportación? >> > > Pues no la hago, aunque me gustaria ;-) Sin embargo, he oido hablar muy > bien de mpi4py (http://mpi4py.scipy.org/). Una de las ventajas de este > paquete es su gran nivel de integración con NumPy, lo cual le hace > ideal para paralelizar cálculos con arrays. > > Saludos, > > From jrvilda en gmail.com Wed Apr 2 23:46:06 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Wed Apr 2 23:46:15 2008 Subject: [Python-es] mostrar la salida en debugview Message-ID: Hola amigos, Alguien sabe como puedo desviar la salida de log al debugview, para saber el estado en el que se encuentra el programa en ejecución. Un saludo -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From jrvilda en gmail.com Thu Apr 3 00:02:05 2008 From: jrvilda en gmail.com (Josu Rodriguez) Date: Thu Apr 3 00:02:15 2008 Subject: [Python-es] Re: mostrar la salida en debugview In-Reply-To: References: Message-ID: juer , ya lo siento, pero prometo que he estado buscando antes, solo que no encontraba las palabras exactas a buscar. Existe en la libreria win32api la función win32api.OutputDebugString('msg'), con la cual podemos hacer que nuestra aplicación wxpython, envíe mensajes a la salida standar de debug en windows, de manera que podamos mientras la aplicación esta en ejecución, mirar si tenemos abierto el debugview, esos print que podemos ver cuando se ejecuta en modo consola. También para una vez que el programa sea compilado con py2exe, podamos ver los mensajes. Creo que lo habitual es controlar con una función para que si tenemos alguna clave de registro o si tenemos un fichero con alguna clave, pues que muestre o no muestre los mensajes. El día 2/04/08, Josu Rodriguez escribió: > > Hola amigos, > > Alguien sabe como puedo desviar la salida de log al debugview, para saber > el estado en el que se encuentra el programa en ejecución. > > > Un saludo > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Josu Rodriguez Vilda > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Josu Rodriguez Vilda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From pepe en diselpro.com Thu Apr 3 00:11:12 2008 From: pepe en diselpro.com (Pepe Aracil) Date: Thu Apr 3 00:34:06 2008 Subject: [Python-es] insecure string pickle In-Reply-To: References: Message-ID: <47F40480.8020202@diselpro.com> Hola. Has mirado la cadena que devuelve sys.argv[1] para ver donde se ha "corrompido" el mega-argumento? me parece que tendrás que "escapar" algún que otro caracter. En vez de pasar todo ese tocho como argumento en la linea de comandos, es preferible que lo pases por la entrada estandar del segundo programa. Saludos. Jose Caballero escribió: > Hola a todos, > esta es la primera vez que hago una pregunta en esta lista. Agradezco por > adelantado vuestra atención y paciencia, y muchas gracias por la ayuda que > podáis ofrecerme. > > > Estoy intentando serializar un objeto mediante pickle.dumps() y pasar el > resultado como argumento a otro programa que ejecuto con > commands.getstatusoutput( ) > Paso el objeto serializado como argumento porque estoy intentado evitar, en > la medida de lo posible, hacerlo a través de un fichero intermedio. > La secuencia viene a ser como sigue: > > line = pickle.dumps( object ) > line = ' '.join(line.split('\n')) > line = '"%s"' % line > st, out = commands.getstatusoutput('./prog2.py %s' % line ) > > > Las líneas segunda y tercera del ejemplo son para convertir el resultado de > dumps() en una única cadena, y que esté contenida entre dobles comillas para > evitar problemas con la shell. > El segundo programa deshace estos cambios, de la siguiente manera: > > > line=sys.argv[1] > line='\n'.join(line.split()) > o=pickle.loads(line) > > > Lo he intentado con un objeto de una clase bastante simple, y funciona > perfectamente. Esto significa que la secuencia de pasos en ambos programas > es correcta. > Pero cuando lo intento con un objeto de una clase un poco más compleja > obtengo el siguiente mensaje de error: > > Traceback (most recent call last): > File "./prog2b.py", line 10, in ? > o=pickle.loads(line) > File "/usr/lib/python2.2/pickle.py", line 986, in loads > return Unpickler(file).load() > File "/usr/lib/python2.2/pickle.py", line 597, in load > dispatch[key](self) > File "/usr/lib/python2.2/pickle.py", line 667, in load_string > raise ValueError, "insecure string pickle" > ValueError: insecure string pickle > > > Creo que puede ser porque el resultado del método dumps no es todo lo bueno > que debería. Este es, por cierto, dicho valor (antes de procesarlo): > > ccopy_reg > _reconstructor > p0 > (cmyproxyUtils > MyProxyInterface > p1 > c__builtin__ > object > p2 > Ntp3 > R(dp4 > S'_MyProxyInterface__userDN' > p5 > S'/DC=org/DC=doegrids/OU=People/CN=Jose\ > Caballero\ > 832651' > p6 > sS'_MyProxyInterface__vomsattributes' > p7 > S'' > p8 > sS'_MyProxyInterface__servername' > p9 > S'myproxy.fnal.gov' > p10 > sS'_MyProxyInterface__pilotownerDN' > p11 > g8 > sS'_MyProxyInterface__myproxylogon_refdate' > p12 > I1181620800 > sS'_MyProxyInterface__proxypath' > p13 > S'/tmp/ESTO_ES_UNA_PRUEBA' > p14 > sS'_MyProxyInterface__pilotproxypath' > p15 > S'/tmp/x509up_u10139' > p16 > sS'_MyProxyInterface__command' > p17 > g8 > sS'_MyProxyInterface__myproxyinit_refdate' > p18 > I1181620800 > sbp19 > . > > > > Y éste es el resutado tras el procesamiento, y que paso como argumento al > segundo programa: > > "ccopy_reg _reconstructor p0 (cmyproxyUtils MyProxyInterface p1 c__builtin__ > object p2 Ntp3 R(dp4 S'_MyProxyInterface__userDN' p5 > S'/DC=org/DC=doegrids/OU=People/CN=Jose\\ Caballero\\ 832651' p6 > sS'_MyProxyInterface__vomsattributes' p7 S'' p8 > sS'_MyProxyInterface__servername' p9 S'myproxy.fnal.gov' p10 > sS'_MyProxyInterface__pilotownerDN' p11 g8 > sS'_MyProxyInterface__myproxylogon_refdate' p12 I1181620800 > sS'_MyProxyInterface__proxypath' p13 S'/tmp/ESTO_ES_UNA_PRUEBA' p14 > sS'_MyProxyInterface__pilotproxypath' p15 S'/tmp/x509up_u10139' p16 > sS'_MyProxyInterface__command' p17 g8 > sS'_MyProxyInterface__myproxyinit_refdate' p18 I1181620800 sbp19 ." > > > ¿Ven alguna cadena que pueda estar corrompida y que no sea válida para el > método loads()? > Nota, si lo hago usando un fichero intermedio, mediante los métodos dump() y > load(), todo funciona perfectamente. > > Muchas gracias. > Toda ayuda que puedan ofrecerme será más que bien venida. > > > Saludos > Jose > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From jcaballero.hep en gmail.com Thu Apr 3 01:39:15 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu Apr 3 01:39:31 2008 Subject: [Python-es] insecure string pickle In-Reply-To: <47F40480.8020202@diselpro.com> References: <47F40480.8020202@diselpro.com> Message-ID: Hola Pepe, muchas gracias por perder tu tiempo con este asuntillo. [comentarios en el texto] El día 2/04/08, Pepe Aracil escribió: > > Hola. > > Has mirado la cadena que devuelve sys.argv[1] para ver donde se > ha "corrompido" el mega-argumento? me parece que tendrás que > "escapar" algún que otro caracter. Tiene toda la pinta. La cuestión ahora es averiguar cual, pues no tengo claro que el módulo pickle entienda los "caracteres escape-ados" igual que hace la shell. Requiere un poco de estudio por mi parte. En vez de pasar todo ese tocho como argumento en la linea de comandos, > es preferible que lo pases por la entrada estandar del segundo programa. Lo puedo probar. ¿Te refieres a usar algo tipo popen2 o similar? Saludos. > > > > Jose Caballero escribió: > > > Hola a todos, > > esta es la primera vez que hago una pregunta en esta lista. Agradezco > por > > adelantado vuestra atención y paciencia, y muchas gracias por la ayuda > que > > podáis ofrecerme. > > > > > > Estoy intentando serializar un objeto mediante pickle.dumps() y pasar el > > resultado como argumento a otro programa que ejecuto con > > commands.getstatusoutput( ) > > Paso el objeto serializado como argumento porque estoy intentado evitar, > en > > la medida de lo posible, hacerlo a través de un fichero intermedio. > > La secuencia viene a ser como sigue: > > > > line = pickle.dumps( object ) > > line = ' '.join(line.split('\n')) > > line = '"%s"' % line > > st, out = commands.getstatusoutput('./prog2.py %s' % line ) > > > > > > Las líneas segunda y tercera del ejemplo son para convertir el resultado > de > > dumps() en una única cadena, y que esté contenida entre dobles comillas > para > > evitar problemas con la shell. > > El segundo programa deshace estos cambios, de la siguiente manera: > > > > > > line=sys.argv[1] > > line='\n'.join(line.split()) > > o=pickle.loads(line) > > > > > > Lo he intentado con un objeto de una clase bastante simple, y funciona > > perfectamente. Esto significa que la secuencia de pasos en ambos > programas > > es correcta. > > Pero cuando lo intento con un objeto de una clase un poco más compleja > > obtengo el siguiente mensaje de error: > > > > Traceback (most recent call last): > > File "./prog2b.py", line 10, in ? > > o=pickle.loads(line) > > File "/usr/lib/python2.2/pickle.py", line 986, in loads > > return Unpickler(file).load() > > File "/usr/lib/python2.2/pickle.py", line 597, in load > > dispatch[key](self) > > File "/usr/lib/python2.2/pickle.py", line 667, in load_string > > raise ValueError, "insecure string pickle" > > ValueError: insecure string pickle > > > > > > Creo que puede ser porque el resultado del método dumps no es todo lo > bueno > > que debería. Este es, por cierto, dicho valor (antes de procesarlo): > > > > ccopy_reg > > _reconstructor > > p0 > > (cmyproxyUtils > > MyProxyInterface > > p1 > > c__builtin__ > > object > > p2 > > Ntp3 > > R(dp4 > > S'_MyProxyInterface__userDN' > > p5 > > S'/DC=org/DC=doegrids/OU=People/CN=Jose\ > > Caballero\ > > 832651' > > p6 > > sS'_MyProxyInterface__vomsattributes' > > p7 > > S'' > > p8 > > sS'_MyProxyInterface__servername' > > p9 > > S'myproxy.fnal.gov' > > p10 > > sS'_MyProxyInterface__pilotownerDN' > > p11 > > g8 > > sS'_MyProxyInterface__myproxylogon_refdate' > > p12 > > I1181620800 > > sS'_MyProxyInterface__proxypath' > > p13 > > S'/tmp/ESTO_ES_UNA_PRUEBA' > > p14 > > sS'_MyProxyInterface__pilotproxypath' > > p15 > > S'/tmp/x509up_u10139' > > p16 > > sS'_MyProxyInterface__command' > > p17 > > g8 > > sS'_MyProxyInterface__myproxyinit_refdate' > > p18 > > I1181620800 > > sbp19 > > . > > > > > > > > Y éste es el resutado tras el procesamiento, y que paso como argumento > al > > segundo programa: > > > > "ccopy_reg _reconstructor p0 (cmyproxyUtils MyProxyInterface p1 > c__builtin__ > > object p2 Ntp3 R(dp4 S'_MyProxyInterface__userDN' p5 > > S'/DC=org/DC=doegrids/OU=People/CN=Jose\\ Caballero\\ 832651' p6 > > sS'_MyProxyInterface__vomsattributes' p7 S'' p8 > > sS'_MyProxyInterface__servername' p9 S'myproxy.fnal.gov' p10 > > sS'_MyProxyInterface__pilotownerDN' p11 g8 > > sS'_MyProxyInterface__myproxylogon_refdate' p12 I1181620800 > > sS'_MyProxyInterface__proxypath' p13 S'/tmp/ESTO_ES_UNA_PRUEBA' p14 > > sS'_MyProxyInterface__pilotproxypath' p15 S'/tmp/x509up_u10139' p16 > > sS'_MyProxyInterface__command' p17 g8 > > sS'_MyProxyInterface__myproxyinit_refdate' p18 I1181620800 sbp19 ." > > > > > > ¿Ven alguna cadena que pueda estar corrompida y que no sea válida para > el > > método loads()? > > Nota, si lo hago usando un fichero intermedio, mediante los métodos > dump() y > > load(), todo funciona perfectamente. > > > > Muchas gracias. > > Toda ayuda que puedan ofrecerme será más que bien venida. > > > > > > Saludos > > Jose > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From sendero.luminoso en gmail.com Thu Apr 3 02:04:02 2008 From: sendero.luminoso en gmail.com (ivan obeso) Date: Thu Apr 3 02:04:13 2008 Subject: [Python-es] Minimizar ventana en TKinter Message-ID: <38f547470804021704j64c52d51m558b7ba62b8c342c@mail.gmail.com> Hola buenas. Estoy haciendo unas pruebas en TKinter (y Windows), y me gustaria preguntar algo. No se si se podra hacer, pero... ¿Hay alguna manera de minimizar una ventana y que se quede en la barra al lado del reloj de Windows? ya me entendeis, como que se quede en un "segundo plano". Saludos. From jcaballero.hep en gmail.com Thu Apr 3 04:35:15 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu Apr 3 04:35:21 2008 Subject: [Python-es] insecure string pickle In-Reply-To: References: <47F40480.8020202@diselpro.com> Message-ID: > > > El día 2/04/08, Pepe Aracil escribió: > > > > Hola. > > > > Has mirado la cadena que devuelve sys.argv[1] para ver donde se > > ha "corrompido" el mega-argumento? me parece que tendrás que > > "escapar" algún que otro caracter. > > > > Tiene toda la pinta. La cuestión ahora es averiguar cual, pues no tengo > claro que el módulo pickle entienda los "caracteres escape-ados" igual que > hace la shell. Requiere un poco de estudio por mi parte. > Creo que no había entendido bien tu comentario, como se puede deducir de mi respuesta, algo carente de sentido. Sí, parece que hay algún tipo de problema con los espacios en blanco, y quizás las barras (\) y las dobles comillas (") From jcaballero.hep en gmail.com Thu Apr 3 04:59:52 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Thu Apr 3 05:00:07 2008 Subject: [Python-es] insecure string pickle In-Reply-To: References: <47F40480.8020202@diselpro.com> Message-ID: > > El día 2/04/08, Pepe Aracil escribió: > > > > Hola. > > > > Has mirado la cadena que devuelve sys.argv[1] para ver donde se > > ha "corrompido" el mega-argumento? me parece que tendrás que > > "escapar" algún que otro caracter. > > > Ya he encontrado el problema. En la cadena original, tras la serialización, había una parte con espacios en blanco. En el proceso de 1) pasar todo a una cadena sin saltos de carro para construir el argumento 2) cambiar espacios en blanco por saltos de carro para recuperar la cadena original estaba introduciendo saltos de carro también donde estaban aquellos espacio en blanco originales. Luego la cadena recuperada y la original no eran iguales. Gracias Pepe por hacerme mirar en la dirección correcta. Jose From py en ch3m4.org Thu Apr 3 07:29:10 2008 From: py en ch3m4.org (Chema Cortes) Date: Thu Apr 3 07:29:37 2008 Subject: [Python-es] RE: Un =?iso-8859-1?q?peque=F1o?= problema In-Reply-To: References: <20080402113025.AC69D15EF814@devnull.aditel.org> Message-ID: <200804030729.19225.py@ch3m4.org> El Wednesday 02 April 2008 14:47:14 Rafael Cantos escribió: > Si no te he entendido mal Chema, es que cada ilo se ejecute > independientemente, y que cuando haya que reproducir algo, se le pase la > información necesaria al audio. > > Gracias, voy a intentarlo. Es una idea para que mires, pero faltaría ver algo del código para ser más concreto. Lo que está claro es que si ejecutas un bucle así: for afile in lista_audio: playwav(afile) No a parar hasta que termine de ejecutar todos los audios. Se require que, de alguna forma, se llame al bucle de eventos para que el GUI pueda intervenir. Así mismo, no tengo ni idea de cómo ejecutas el audio, pero si lo haces "síncronamente" no habrá manera de interrumpir su ejecución hasta que no haya acabado. Lo de usar hilos es una idea que funciona bien con interfaces gráficos, aunque no se puede hablar de hilos "independientes", sino de hilo principal y secundarios. Normalmente, el control del GUI se debe hacer desde un único hilo, casi siempre el hilo principal desde el que lanza el resto de hilos secundarios. ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 189 bytes Descripción: This is a digitally signed message part. Url : /archivos/python-es/attachments/20080403/392fa899/attachment.pgp From py en ch3m4.org Thu Apr 3 07:42:42 2008 From: py en ch3m4.org (Chema Cortes) Date: Thu Apr 3 07:49:45 2008 Subject: [Python-es] Acerca de import In-Reply-To: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> References: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> Message-ID: <200804030742.47084.py@ch3m4.org> El Wednesday 02 April 2008 18:55:01 Jose escribió: > No entiendo muy bien cuál es la diferencia de hacer import modulo dentro de > un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. > > La verdad es que yo siempre lo he visto fuera de cualquier clase, pero ¿por > qué es esto así? ¿siempre es así? Como te han comentado, se hace por cuestiones de visibilidad (alcance, "scope"). Si importas dentro de una clase, el módulo será alcanzable sólo por la clase. No hay absolutamente ningún problema de rendimiento por importar de nuevo un módulo que estaba ya importado. A veces se necesita controlar el alcance por temas de romper importaciones cíclicas, donde dos módulos se importan entre sí (A importa B y B importa A). Mira este mensaje de la lista: La referencia a la FAQ correcta es: ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 189 bytes Descripción: This is a digitally signed message part. Url : /archivos/python-es/attachments/20080403/7cae4611/attachment.pgp From damufo en gmail.com Thu Apr 3 08:13:00 2008 From: damufo en gmail.com (damufo) Date: Thu Apr 3 08:13:18 2008 Subject: [Python-es] Acceso a base de datos access 97 desde linux In-Reply-To: <2ccb93070804020919q6a9c3be7ue1da9a3fdc061011@mail.gmail.com> References: <47F36B2D.3080202@gmail.com> <2ccb93070804020919q6a9c3be7ue1da9a3fdc061011@mail.gmail.com> Message-ID: <47F4756C.8050203@gmail.com> > On Wed, Apr 2, 2008 at 6:17 AM, damufo wrote: > >> Hola lista: >> Me gustaría saber si hay alguna forma de acceder para leer y/o escribir a >> una base de datos access97 desde gnu/linux (ubuntu) con python. Algún >> módulo? web donde los explique? >> Saludos y gracias >>damufo -- necudeco escribiu: > Hola damufo, > espero que esto te sirva. > > http://necudeco.com/index.php/2008/04/02/acceder-a-msaccess-desde-python-o-php/ > > Saludos -- Espero que sí, lo probaré con ubuntu y contaré que tal. Saludos y gracias From pepe en diselpro.com Thu Apr 3 10:12:11 2008 From: pepe en diselpro.com (Pepe Aracil) Date: Thu Apr 3 10:22:30 2008 Subject: [Python-es] Acerca de import In-Reply-To: <73e8f67f0804021047x28d19f0dm1cddf58fdfdf30cc@mail.gmail.com> References: <73e8f67f0804020955h25dd59bcp8d23e3aa4571589d@mail.gmail.com> <1207156272.6401.19.camel@cucusa> <73e8f67f0804021047x28d19f0dm1cddf58fdfdf30cc@mail.gmail.com> Message-ID: <47F4915B.6090503@diselpro.com> Hola Jose. Algunas veces te encontrarás imports condicionados dentro de sentencias "if", suelen ser módulos que dependen de la plataforma o aplicaciones CGI que cargan solo los modulos que necesitan utilizar en la petición. Tambien te los puedes encontrar dentro de un try/except con módulos que exportan la misma API pero que están implementados de forma distinita como pickle y cpickle o StringIO y cStringIO. Deben de haber un montón de casos más donde no interesa hacer un import estático al inicio del script. Saludos. Jose escribió: > Entiendo. > > Así que da igual donde lo vaya a usar, que si necesito importar algo lo > pongo arriba del todo, fuera de cualquier clase, método o lo que sea. > > Y esto no se ve para nada afectado por el rendimiento ya que es únicamente > para cuestiones de visibilidad en tiempo de "compilación". > > Muchas gracias, de verdad! > > El día 2/04/08, Marco Antonio Islas Cruz escribió: >> El import lo puedes usar donde gustes, al menos el del tipo "import >> modulo", y aunque python maneja los imports de forma que no reimportes >> un modulo cuando lo tienes en la lista de modulos pues es bueno no andar >> haciendo que python lo busque de nuevo cada vez que mandas a llamar una >> funcion o clase. >> >> De forma que, si, es mejor ponerlo al encabezado de tu modulo, asi, >> tendra alcance para todas las clases, metodos y funciones de tu modulo y >> solo importas 1 vez. >> >> >> On Wed, 2008-04-02 at 18:55 +0200, Jose wrote: >>> No entiendo muy bien cuál es la diferencia de hacer import modulo dentro >> de >>> un def, o fuera (pero dentro de una clase) o fuera de cualquier clase. >>> >>> La verdad es que yo siempre lo he visto fuera de cualquier clase, pero >> ¿por >>> qué es esto así? ¿siempre es así? >>> >>> Muchas gracias y perdón si es una duda muy trivial (estoy empezando en >>> python :-P ) >>> >>> JOSE :-) >>> _______________________________________________ >>> Lista de correo Python-es >>> http://listas.aditel.org/listinfo/python-es >>> FAQ: http://listas.aditel.org/faqpyes >> -- >> >> <--Linux... Because I'm Free--> >> Marco Antonio Islas Cruz >> "Markuz" >> Linux User #280229 >> markuz@islascruz.org >> markuz@unixmexico.org >> markuz@linuxpozarica.com >> marco.islas@gmail.com >> islacruz@yahoo.com >> http://www.islascruz.org >> http://sourceforge.net/projects/gpkg/ >> http://www.linuxpozarica.com >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes From pythown en gmail.com Thu Apr 3 11:09:06 2008 From: pythown en gmail.com (=?ISO-8859-1?Q?Antonio_G=F3mez_Antoranz?=) Date: Thu Apr 3 11:09:28 2008 Subject: [Python-es] IF y AND / OR Message-ID: <47F49EB2.9020705@gmail.com> Vale, se que es muy trivial, pero seguro que me podrán ayudar con sus comentarios: *_ ¿No se pueden usar los operadores 'or' y 'and' dentro de un condición de if?_*, me explico con un ejemplo: es un programa que busca 'vocales' y 'consonantes' en una cadena llamada 'frase': *for a in frase: if a == ('a'): print a, 'es una vocal' vocal = vocal +1 elif a == ('e'): print a, 'es una vocal' vocal = vocal +1* El texto de arriba no se podría escribir así: * if a == ('a' or 'e'): print a, 'es una vocal' vocal = vocal +1 * Por lo que he visto, el if solo compara la *'a'* y pasa de la *'e'*, con lo que hay que usar *'elif'*, pero me parece algo feo repetir todas y cada de las comparaciones de las vocales. "Empezar porque si y acabar no se cuando" HdS From cgalisteo en k-rolus.net Thu Apr 3 11:25:43 2008 From: cgalisteo en k-rolus.net (Carlos) Date: Thu Apr 3 11:26:01 2008 Subject: [Python-es] IF y AND / OR In-Reply-To: <47F49EB2.9020705@gmail.com> References: <47F49EB2.9020705@gmail.com> Message-ID: On Thu, Apr 3, 2008 at 11:09 AM, Antonio Gómez Antoranz wrote: > * if a == ('a' or 'e'): > print a, 'es una vocal' > vocal = vocal +1 Prueba esto: if (a =='a') or (a == 'e'): print a, 'es una vocal' Un saludo. -- --- Carlos Galisteo http://blog.k-rolus.net PGP_key::http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key_Fingerprint::F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 --- From dani en danigm.net Thu Apr 3 11:27:41 2008 From: dani en danigm.net (Daniel Garcia Moreno) Date: Thu Apr 3 11:29:04 2008 Subject: [Python-es] IF y AND / OR In-Reply-To: <47F49EB2.9020705@gmail.com> References: <47F49EB2.9020705@gmail.com> Message-ID: <1207214861.30386.1.camel@goonie.us.es> El jue, 03-04-2008 a las 11:09 +0200, Antonio Gómez Antoranz escribió: > Vale, se que es muy trivial, pero seguro que me podrán ayudar con sus > comentarios: > *_ > ¿No se pueden usar los operadores 'or' y 'and' dentro de un condición de > if?_*, me explico con un ejemplo: es un programa que busca 'vocales' y > 'consonantes' en una cadena llamada 'frase': > > *for a in frase: > > if a == ('a'): > > print a, 'es una vocal' > vocal = vocal +1 > > elif a == ('e'): > > print a, 'es una vocal' > vocal = vocal +1* > > > El texto de arriba no se podría escribir así: > > * if a == ('a' or 'e'): > > print a, 'es una vocal' > vocal = vocal +1 > > * > Por lo que he visto, el if solo compara la *'a'* y pasa de la *'e'*, con > lo que hay que usar *'elif'*, pero me parece algo feo repetir todas y > cada de las comparaciones de las vocales. Puedes usar el operador in, y una lista, por ejemplo: if a in ('a', 'e'): print a, 'es una vocal' From ghankiewicz en rastertech.es Thu Apr 3 11:34:08 2008 From: ghankiewicz en rastertech.es (Grzegorz Adam Hankiewicz) Date: Thu Apr 3 11:34:36 2008 Subject: [Python-es] IF y AND / OR In-Reply-To: <47F49EB2.9020705@gmail.com> References: <47F49EB2.9020705@gmail.com> Message-ID: <47F4A490.9020604@rastertech.es> Antonio Gómez Antoranz escribió: > * if a == ('a' or 'e'): if a in ['a', 'e', 'i', ...]: -- Rastertech España S.A. Grzegorz Adam Hankiewicz /Jefe de Producto TeraVial/ C/ Perfumería 21. Nave I. Polígono industrial La Mina 28770 Colmenar Viejo. Madrid (España) Tel. +34 918 467 390 (Ext.17) *·* Fax +34 918 457 889 ghankiewicz@rastertech.es *·* www.rastertech.es From ogunsett en gmail.com Thu Apr 3 12:24:53 2008 From: ogunsett en gmail.com (Oscar Gunsett) Date: Thu Apr 3 12:25:01 2008 Subject: [Python-es] IF y AND / OR In-Reply-To: <47F4A490.9020604@rastertech.es> References: <47F49EB2.9020705@gmail.com> <47F4A490.9020604@rastertech.es> Message-ID: Tenes varios caminos. Una analizar la expresión 'a' or 'e' , que es válida dentro de python, or es un conector lógico y compara dos expresiones booleanas que deben devolver un valor de verdad como sea True o False. Si una expresión tiene la forma de constantes se le asigna True cuando son distintos a Null, en el caso de una cadena cuando esta está vacia obtiene el valor de False. En otro lenguaje cuando utilizamos el or este nos devuelve un valor booleano pero en python no devuelve el objeto que contiene el valor booleano por lo tanto: 'a' or 'e' da como resultado 'a' por que es el primer objeto que tiene un valor de true. Tenes otras alternativas como lo expresado en los mails anteriores al cual le agrego una mas: 'a' in 'aei...' Y también la utilización de métodos aplicados a cadenas, en consola haces >>>dir('') y utilizar help() para investigar. Y si el manejo de cadenas se vuelve parte importante del programa tendrás que investigar todos los módulos que está pensados para esto, a partir del mas conocido como el módulo string. From luis.ore.ori en gmail.com Thu Apr 3 12:29:02 2008 From: luis.ore.ori en gmail.com (Luis Orellana Orihuela) Date: Thu Apr 3 12:29:35 2008 Subject: [Python-es] Tratar =?iso-8859-1?q?c=F3digo_python_en_suite_ofim=E1tica?= Message-ID: <47F4B16E.8080305@gmail.com> Saludos, Estoy haciendo una memoria en la que se describe una aplicación Python. En principio uso Word, aunque podría usar Writer de OpenOffice. El caso es que me gustaría que al pasar el código al Word mantuviese el formato amigable del IDE (colores). a ver si alguien conoce alguna herramienta para tal fin. Gracias! From miracomovengo en gmail.com Thu Apr 3 15:31:06 2008 From: miracomovengo en gmail.com (Jose) Date: Thu Apr 3 15:32:14 2008 Subject: [Python-es] Magic Numbers Message-ID: <73e8f67f0804030631i2dd2be63r68962b38672f2550@mail.gmail.com> Buenas tardes! Estoy intentando hacer un módulo para descomprimir ficheros y necesito diferenciar por tipo de fichero. Una buena idea para hacer esto es por el 'magic number' de los ficheros o por el tipo mime. A mí me gusta más la primera opción pero no sé cómo hacerlo... ¿Cómo hacéis vosotros para diferenciar por el tipo del fichero? Gracias! From abermudez en hispasec.com Thu Apr 3 15:50:05 2008 From: abermudez en hispasec.com (Alejandro Bermudez Araguez) Date: Thu Apr 3 16:12:18 2008 Subject: [Python-es] Magic Numbers In-Reply-To: <73e8f67f0804030631i2dd2be63r68962b38672f2550@mail.gmail.com> References: <73e8f67f0804030631i2dd2be63r68962b38672f2550@mail.gmail.com> Message-ID: <47F4E08D.9040608@hispasec.com> Lee los dos primeros bytes del archivo, por ejemplo: PK => ZIP Ra => RAR Es tan simple como abrir el archivo en modo binario, leer los dos primeros bytes, y comparar. Supongo que por inet debe haber una lista larga de "magic number" y sino, siemprepuedes abrir uno del tipo que te interese y ver los dos primeros bytes. Saludos Jose escribió: > Buenas tardes! > > Estoy intentando hacer un módulo para descomprimir ficheros y necesito > diferenciar por tipo de fichero. > Una buena idea para hacer esto es por el 'magic number' de los ficheros o > por el tipo mime. > A mí me gusta más la primera opción pero no sé cómo hacerlo... > > ¿Cómo hacéis vosotros para diferenciar por el tipo del fichero? > > Gracias! > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > > From inigo_aldazabal en ehu.es Thu Apr 3 15:53:27 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Thu Apr 3 16:21:07 2008 Subject: [Python-es] IF y AND / OR In-Reply-To: <47F4A490.9020604@rastertech.es> References: <47F49EB2.9020705@gmail.com> <47F4A490.9020604@rastertech.es> Message-ID: <200804031553.28314.inigo_aldazabal@ehu.es> El Jueves, 3 de Abril de 2008 11:34, Grzegorz Adam Hankiewicz escribió: > Antonio Gómez Antoranz escribió: > > * if a == ('a' or 'e'): > > if a in ['a', 'e', 'i', ...]: Y aun if a in 'aeiou': From txema en nabla.net Thu Apr 3 20:31:02 2008 From: txema en nabla.net (Txema Vicente) Date: Thu Apr 3 20:30:54 2008 Subject: =?iso-8859-1?Q?Re:_=5BPython-es=5D_Tratar_c=F3digo_python_en_suite_ofim?= =?iso-8859-1?Q?=E1tica?= References: <47F4B16E.8080305@gmail.com> Message-ID: <003601c895b8$df652cd0$2100a8c0@tvs> Copiando de eclipse (con pydev) y pegando en word conserva los colores. Por si acaso: http://www.eclipse.org/ http://pydev.sourceforge.net/ From callejluis en yahoo.com Thu Apr 3 20:49:43 2008 From: callejluis en yahoo.com (juan luis) Date: Thu Apr 3 20:50:03 2008 Subject: [Python-es] String to List In-Reply-To: <001d01c894ee$d52e0770$0a01a8c0@mobile> Message-ID: <569517.43871.qm@web65615.mail.ac4.yahoo.com> Hola a todos: Estoy realizando mis primeros pasos en Python y veo como en este forum se realizan avances interesantes lo cierto es que derrepente el siguiente pequeno problema les parecera muy sencillo pero yo busque informacion al respecto y no la encontre,Se que se puede emplear por ejemplo l=list(x) pero cuando hago esto mis datos se separan de uno en uno y en mi caso necesito que se separen por cantidades espaciadas en mi archivo de entrada: Me explico mejor mi archivo es de formato .asc y contiene numeros 50 filas por 50 columnas cuando leo el archivo este es alamacenado en una variable: ===================================== import os os.chdir(r'\\datos_phyton') f = open("archivo.asc", "r") b = f.read() print b ===================================== 52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 .... 70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52..... 52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52..... .... .... ===================================== El tipo de archivo de b es (str)... Cuando convierto a lista c=list(b) ocurre lo siguiente .. ======== ['5', '9', '\t', '5', '7', '\t', '5', '3', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '2', '\t', '5', '8', '\t', '6', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '4', '9', '\t', '4', '9', '\t', '5', '0', '\t', .....] ======== y lo que busco es [ [52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ......] [70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52......] [52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52......] [......]] Por favor si alguien me pudiera dar alguna solucion le agradeceria mucho y disculpas por hacer derrepente consultas como esta. Muchas gracias y estare atento a alguna respuesta. Atte. Luis ..... --------------------------------- ¡Capacidad ilimitada de almacenamiento en tu correo! No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: http://correo.espanol.yahoo.com/ From dani en danigm.net Thu Apr 3 20:53:05 2008 From: dani en danigm.net (Daniel Garcia Moreno) Date: Thu Apr 3 20:53:38 2008 Subject: [Python-es] String to List In-Reply-To: <569517.43871.qm@web65615.mail.ac4.yahoo.com> References: <569517.43871.qm@web65615.mail.ac4.yahoo.com> Message-ID: <1207248785.5887.2.camel@localhost.localdomain> El jue, 03-04-2008 a las 13:49 -0500, juan luis escribió: > Hola a todos: > > Estoy realizando mis primeros pasos en Python y veo como en este forum se realizan avances interesantes lo cierto es que derrepente el siguiente pequeno problema les parecera muy sencillo pero yo busque informacion al respecto y no la encontre,Se que se puede emplear por ejemplo l=list(x) pero cuando hago esto mis datos se separan de uno en uno y en mi caso necesito que se separen por cantidades espaciadas en mi archivo de entrada: > > Me explico mejor mi archivo es de formato .asc y contiene numeros 50 filas por 50 columnas cuando leo el archivo este es alamacenado en una variable: > ===================================== > import os > os.chdir(r'\\datos_phyton') > f = open("archivo.asc", "r") > b = f.read() > print b > ===================================== > 52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 .... > 70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52..... > 52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52..... > .... > .... > ===================================== > El tipo de archivo de b es (str)... > Cuando convierto a lista c=list(b) ocurre lo siguiente .. > ======== > ['5', '9', '\t', '5', '7', '\t', '5', '3', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '2', '\t', '5', '8', '\t', '6', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '4', '9', '\t', '4', '9', '\t', '5', '0', '\t', .....] > ======== > y lo que busco es > > [ [52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ......] > [70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52......] > [52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52......] > [......]] > > Por favor si alguien me pudiera dar alguna solucion le agradeceria mucho y disculpas por hacer derrepente consultas como esta. > Muchas gracias y estare atento a alguna respuesta. > Puedes utilizar str.split() lineas = b.split('\n') for l in lineas: l = lista = [l.split(' ') for l in b.split('\n')] ------------ próxima parte ------------ Se ha borrado un mensaje que no está en formato texto plano... Nombre : no disponible Tipo : application/pgp-signature Tamaño : 197 bytes Descripción: Esta parte del mensaje =?ISO-8859-1?Q?está? digitalmente Url : /archivos/python-es/attachments/20080403/b093a666/attachment-0001.pgp From pyarnau en gmail.com Thu Apr 3 21:10:50 2008 From: pyarnau en gmail.com (Arnau Sanchez) Date: Thu Apr 3 21:10:44 2008 Subject: [Python-es] String to List In-Reply-To: <569517.43871.qm@web65615.mail.ac4.yahoo.com> References: <569517.43871.qm@web65615.mail.ac4.yahoo.com> Message-ID: <47F52BBA.3050505@gmail.com> juan luis escribió: > import os > os.chdir(r'\\datos_phyton') > f = open("archivo.asc", "r") > b = f.read() > print b y lo que busco es > > [ [52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ......] > [70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52......] > [52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52......] > [......]] > iteración de líneas en ficheros de texto + función map + compresión de listas = [map(int, line.split()) for line in open("input.txt")] From lasizoillo en gmail.com Thu Apr 3 21:18:58 2008 From: lasizoillo en gmail.com (lasizoillo) Date: Thu Apr 3 21:19:13 2008 Subject: [Python-es] String to List In-Reply-To: <569517.43871.qm@web65615.mail.ac4.yahoo.com> References: <001d01c894ee$d52e0770$0a01a8c0@mobile> <569517.43871.qm@web65615.mail.ac4.yahoo.com> Message-ID: <49414f570804031218u61279531u38233efe7c9024db@mail.gmail.com> Mira a ver este enlace http://www.peterbe.com/To-readline-or-readlines Tienes una funcion readline para ir leyendo el fichero linea a linea 2008/4/3, juan luis : > Hola a todos: > > Estoy realizando mis primeros pasos en Python y veo como en este forum se realizan avances interesantes lo cierto es que derrepente el siguiente pequeno problema les parecera muy sencillo pero yo busque informacion al respecto y no la encontre,Se que se puede emplear por ejemplo l=list(x) pero cuando hago esto mis datos se separan de uno en uno y en mi caso necesito que se separen por cantidades espaciadas en mi archivo de entrada: > > Me explico mejor mi archivo es de formato .asc y contiene numeros 50 filas por 50 columnas cuando leo el archivo este es alamacenado en una variable: > ===================================== > import os > os.chdir(r'\\datos_phyton') > f = open("archivo.asc", "r") > b = f.read() > print b > ===================================== > 52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 .... > 70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52..... > 52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52..... > .... > .... > ===================================== > El tipo de archivo de b es (str)... > Cuando convierto a lista c=list(b) ocurre lo siguiente .. > ======== > ['5', '9', '\t', '5', '7', '\t', '5', '3', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '2', '\t', '5', '8', '\t', '6', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '4', '9', '\t', '4', '9', '\t', '5', '0', '\t', .....] > ======== > y lo que busco es > > [ [52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ......] > [70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52......] > [52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52......] > [......]] > > Por favor si alguien me pudiera dar alguna solucion le agradeceria mucho y disculpas por hacer derrepente consultas como esta. > Muchas gracias y estare atento a alguna respuesta. > > Atte. Luis ..... > > > > > --------------------------------- > > ¡Capacidad ilimitada de almacenamiento en tu correo! > No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: > http://correo.espanol.yahoo.com/ > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From miracomovengo en gmail.com Fri Apr 4 07:19:03 2008 From: miracomovengo en gmail.com (Jose) Date: Fri Apr 4 07:19:10 2008 Subject: [Python-es] Magic Numbers In-Reply-To: <47F4E08D.9040608@hispasec.com> References: <73e8f67f0804030631i2dd2be63r68962b38672f2550@mail.gmail.com> <47F4E08D.9040608@hispasec.com> Message-ID: <73e8f67f0804032219n368e73aawa2a71d50be9f9a@mail.gmail.com> Muchas gracias! Justo algo así es lo que buscaba. Algo que funcione en todos los SO y que no sea tan simple como mirar la extensión. Gracias. El día 3/04/08, Alejandro Bermudez Araguez escribió: > > Lee los dos primeros bytes del archivo, por ejemplo: > > > PK => ZIP > Ra => RAR > Es tan simple como abrir el archivo en modo binario, leer los dos > primeros bytes, y comparar. Supongo que por inet debe haber una lista larga > de "magic number" y sino, siemprepuedes abrir uno del tipo que te interese y > ver los dos primeros bytes. > > Saludos > > Jose escribió: > > > Buenas tardes! > > > > Estoy intentando hacer un módulo para descomprimir ficheros y necesito > > diferenciar por tipo de fichero. > > Una buena idea para hacer esto es por el 'magic number' de los ficheros > > o > > por el tipo mime. > > A mí me gusta más la primera opción pero no sé cómo hacerlo... > > > > ¿Cómo hacéis vosotros para diferenciar por el tipo del fichero? > > > > Gracias! > > _______________________________________________ > > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > > _______________________________________________ > Lista de correo Python-es http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From pych3m4 en gmail.com Fri Apr 4 08:53:34 2008 From: pych3m4 en gmail.com (Chema Cortes) Date: Fri Apr 4 08:53:46 2008 Subject: [Python-es] saber a que clase pertenece un __init__ cualquiera In-Reply-To: <172699c50804021301q48d11b22w80d8a80ce111cf51@mail.gmail.com> References: <172699c50804021301q48d11b22w80d8a80ce111cf51@mail.gmail.com> Message-ID: <2c9fb0dd0804032353i77259f3du3ca02313aa3064b7@mail.gmail.com> El 2/04/08, Milton Galo Patricio Inostroza Aguilera escribió: > Estimado: > > Necesito saber en un programa a quien pertenece el metodo __init__, ejemplo: > > >>> class prueba(object): > ... def __init__(self): > ... a = 20 > ... > >>> print prueba.__dict__ > {'__dict__': , '__module__': > '__main__', '__weakref__': objects>, '__doc__': None, '__init__': 0xb7d51374>} > > hasta ahi todo bien....es decir puedo identificar el metodo __init__ > desde el diccionario interno de la clase..pero como lo puedo hacer de > vuelta es decir, lo sigueinte: > > >>> print prueba.__dict__['__init__'] > > > y a partir de este objeto saber a que clase esta vinculada....al > parecer esta dificil la cosa ya que es un unbound method =/....alguien > me puede orientar, he tratado de manipular frame, function, > code...pero nada. No se puede. Los métodos son descriptores no-ligados que permanecen así hasta que se cree la instancia. No sé qué quieres hacer; pero seguro que no vas por el camino adecuado. From inigo_aldazabal en ehu.es Fri Apr 4 09:53:56 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri Apr 4 09:55:17 2008 Subject: [Python-es] String to List In-Reply-To: <569517.43871.qm@web65615.mail.ac4.yahoo.com> References: <569517.43871.qm@web65615.mail.ac4.yahoo.com> Message-ID: <200804040953.56495.inigo_aldazabal@ehu.es> El Jueves, 3 de Abril de 2008 20:49, juan luis escribió: > ===================================== > 52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 .... > 70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52..... > 52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52..... > .... > .... > ===================================== > El tipo de archivo de b es (str)... ... > y lo que busco es > > [ [52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ......] > [70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52......] > [52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52......] > [......]] > Una forma mas explícita que la versión pitónica de Arnau (genial!). ----------------------- data_file = open ( 'data', 'r' ) data = data_file.readlines() data_file.close() matrix = [] for line in data: # aqui quizas alguna condicion para saltar comentarios, # lineas en blanco, etc dependiendo del formato del fichero. # Por ejemplo # if line[0] != '#' and d != '\n': aux = [ int(i) for i in line.split() ] matrix.append(aux) print matrix ----------------------- Pero si vas a utilizar python para temas numéricos, matrices y demás mírate numpy y scipy [1]. Un saludo. [1] http://www.scipy.org/ From pepitovadecurt en gmail.com Fri Apr 4 10:35:05 2008 From: pepitovadecurt en gmail.com (pepitovadecurt) Date: Fri Apr 4 10:35:39 2008 Subject: [Python-es] =?iso-8859-1?q?Tama=F1o_de_carpeta=2C_no_de_carpetas?= =?iso-8859-1?q?_y_ficheros?= Message-ID: Hola, alguien sabe cómo saber, partiendo de un directorio, su tamaño, nº de carpetas y archivos que contiene? Gracias. From listas en soft-com.es Fri Apr 4 11:08:22 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Fri Apr 4 11:12:43 2008 Subject: [Python-es] AsyncXMLRPCServer Message-ID: <47F5F006.1070008@soft-com.es> Hola, Estoy intentando montar un servidor que atienda peticiones de varios clientes utilizando RPC. SimpleXMLRPcServer no me vale porque no atiende a mas de una conexión simultáneamente. He probado AsyncXMLRPCServer pero cuando se realizan dos peticiones simultáneas al mismo metodo parece que se se mezclan los datos, aunque no estoy seguro porque en las pruebas no siempre lo hace. ¿Habeis utilizado alguno este modulo? ¿Os ha dando algun problema cuando recibe varias peticiones simultáneas al mismo método? Preferiria no tener que recurrir a Twisted u otro paquete de envergadura, ya que el número de clientes a atender es 4 o 5 como maximo, solo se publican media docena de metodos y me interesa mucho que la aplicación no consuma muchos recursos del servidor. Gracias -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. From inigo_aldazabal en ehu.es Fri Apr 4 11:25:46 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri Apr 4 11:26:02 2008 Subject: [Python-es] =?windows-1252?q?Tama=F1o_de?= carpeta, no de carpetas y ficheros In-Reply-To: References: Message-ID: <200804041125.46347.inigo_aldazabal@ehu.es> El Viernes, 4 de Abril de 2008 10:35, pepitovadecurt escribió: > Hola, alguien sabe cómo saber, partiendo de un directorio, su tamaño, nº > de carpetas y archivos que contiene? > Gracias. Mira el ejemplo que hay al final de [1] para os.walk. Un saludo. [1]http://docs.python.org/lib/os-file-dir.html > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes From cesar en ortiz.name Fri Apr 4 12:14:55 2008 From: cesar en ortiz.name (Cesar Ortiz) Date: Fri Apr 4 12:15:01 2008 Subject: [Python-es] servidores web Message-ID: <90255a70804040314t2462b3d5ifc5fc7545ec07adc@mail.gmail.com> Hola listeros, Hace poco he leido el articulo "Java EE meets Web 2.0" ( http://www.ibm.com/developerworks/web/library/wa-aj-web2jee/?ca=dgr-lnxw57JavaEEWeb2Disconnect) donde se menciona la ventaja de las invocaciones asincronas a servidores web. ¿Sabeis si existe algo así para python? ¿Y sobre el tema de servidores web, hay alguno en python que merezca relamente la pena? Supongo que si... A ver si me podeis orientar un poco... para echar un vistazo. Gracias de antemano. -- Cesar From minoztro en gmail.com Fri Apr 4 14:55:10 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri Apr 4 14:55:42 2008 Subject: [Python-es] saber a que clase pertenece un __init__ cualquiera In-Reply-To: <2c9fb0dd0804032353i77259f3du3ca02313aa3064b7@mail.gmail.com> References: <172699c50804021301q48d11b22w80d8a80ce111cf51@mail.gmail.com> <2c9fb0dd0804032353i77259f3du3ca02313aa3064b7@mail.gmail.com> Message-ID: <172699c50804040555k4be59f4saf49a6559f99175d@mail.gmail.com> > > No se puede. Los métodos son descriptores no-ligados que permanecen > así hasta que se cree la instancia. sip...ya logre solucionar mi problema con el atributo self...ahi se a que clase pertenece ese __init__...gracias > > No sé qué quieres hacer; pero seguro que no vas por el camino adecuado. > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera From mgallegol en gmail.com Fri Apr 4 18:21:45 2008 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Fri Apr 4 18:22:30 2008 Subject: [Python-es] Re: Python/Pmw In-Reply-To: <3da61ab70803280913x470c97fdm3e41d24964855746@mail.gmail.com> References: <3da61ab70803280913x470c97fdm3e41d24964855746@mail.gmail.com> Message-ID: <3da61ab70804040921w65c4c68bwde043f6b4e17c95a@mail.gmail.com> 2008/3/28 Martha Lucía Gallego López : > Hola a todos los listeros: Trabajo sobre la versión python 2.4 en plataforma > windows xp > > el siguiente código me permite introducir n datos; cada vez que > inserto un dato me pregunta desea ingresar otro dato(SI/NO); una vez > cliqueado NO me gustaria presentar en ventana el resultado de todos > los valores que se introdujeron, he considerado hacerlo a través de > listas, podrían darme alguna luz por favor de como hacerlo. > > Agradezco su ayuda. > > #El problema de este código es que me muestra el último valor > #digitado las n veces que introduci datos; otra cosa es que si > #destruyo la ventana donde estoy insertando datos no me #muestra nada > de valores. Como almaceno los datos para #destruir la ventana donde > esta el entry???? > > cordial saludo, > > Martha L. > > ---------------------------INICIO------------------------------------------------ > from Tkinter import * > import Pmw > def calculo(name,index,mode): > global x1 > x1= valor1.get() > if x1: > x1= float(x1) > else: > valor1.set(x1) > x1=0 > > def lectura(bcerrar): > dialogo.deactivate(bcerrar) > > def continuar(res): > if res=='SI': > dialogoContinuar.deactivate(res) > dato1() > else: > dialogoContinuar.deactivate(res) > r.destroy() > ri=Toplevel() > c=0 > for n in range(r.num): > Label(ri, textvariable=valor1).grid(row=c, column=0) > > c=c+1 > ri.mainloop() > def ok(): > dialogoContinuar.activate(geometry = 'centerscreenalways') > > def dato(): > global r, dialogo, dialogoContinuar,valor1, mensajeContinuar, ldato, c2 > r=Tk() > r.num=1 > ldato=[] > valor1=DoubleVar() > valor1.set(float(0.0)) > valor1.trace_variable("w", calculo) > for n in range(r.num): > Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) > c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) > ldato.append(c2) > > Button(r, text='Continua', command=ok).grid(row=2, column=0) > dialogo = Pmw.MessageDialog(r, > title = 'Aviso', > message_text= 'No ha ingresado datos', > iconpos = 'w', > icon_bitmap = 'error', > defaultbutton = 0, > command=lectura) > dialogo.iconname('Aviso') > dialogo.withdraw() > dialogoContinuar= Pmw.Dialog(r, > buttons = ('SI', 'NO'), > command=continuar) > dialogoContinuar.withdraw() > mensajeContinuar= Label(dialogoContinuar.interior(), > text='¿desea ingresar otro dato?', > background='black', > foreground='white', > pady=20) > mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) > > r.mainloop() > > def dato1(): > > r.num=r.num+1 > for n in range(r.num): > Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) > c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) > > Button(r, text='Continua', command=ok).grid(row=2, column=0) > dialogo = Pmw.MessageDialog(r, > title = 'Aviso', > message_text= 'No ha ingresado datos', > iconpos = 'w', > icon_bitmap = 'error', > defaultbutton = 0, > command=lectura) > dialogo.iconname('Aviso') > dialogo.withdraw() > dialogoContinuar= Pmw.Dialog(r, > buttons = ('SI', 'NO'), > command=continuar) > dialogoContinuar.withdraw() > mensajeContinuar= Label(dialogoContinuar.interior(), > text='¿desea ingresar otro dato?', > background='black', > foreground='white', > pady=20) > mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) > > d=dato() > -----------------------------FIN--------------------------------------------------------- > > Reply Forward > From mgallegol en gmail.com Fri Apr 4 18:38:20 2008 From: mgallegol en gmail.com (=?ISO-8859-1?Q?Martha_Luc=EDa_Gallego_L=F3pez?=) Date: Fri Apr 4 18:38:27 2008 Subject: [Python-es] listas Python/PMW Message-ID: <3da61ab70804040938w14eb1f44ue4d6623a651230bb@mail.gmail.com> Hola a todos los listeros: Trabajo sobre la versión python 2.4 sobre la plataforma windows xp. El código q adjunto me permite introducir n datos; cada vez q inserto un dato me pregunta desea ingresar otro dato(SI/NO); una vez cliqueado NO... me gustaria presentar en ventana el resultado de todos los valores q se introdujeron, he considerado hacerlo a través de listas, podrían darme alguna luz por favor de como hacerlo. Agradezco su ayuda. cordial saludo, Martha L. ------------ próxima parte ------------ # -*- coding: cp1252 -*- from Tkinter import * import Pmw def calculo(name,index,mode): global x1 x1= valor1.get() if x1: x1= float(x1) else: valor1.set(x1) x1=0 def lectura(bcerrar): dialogo.deactivate(bcerrar) def continuar(res): if res=='SI': dialogoContinuar.deactivate(res) dato1() else: dialogoContinuar.deactivate(res) r.destroy() ri=Toplevel() c=0 for n in range(r.num): Label(ri, textvariable=valor1).grid(row=c, column=0) c=c+1 ri.mainloop() def ok(): dialogoContinuar.activate(geometry = 'centerscreenalways') def dato(): global r, dialogo, dialogoContinuar,valor1, mensajeContinuar, ldato, c2 r=Tk() r.num=1 ldato=[] valor1=DoubleVar() valor1.set(float(0.0)) valor1.trace_variable("w", calculo) for n in range(r.num): Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) ldato.append(c2) Button(r, text='Continua', command=ok).grid(row=2, column=0) dialogo = Pmw.MessageDialog(r, title = 'Aviso', message_text= 'No ha ingresado datos', iconpos = 'w', icon_bitmap = 'error', defaultbutton = 0, command=lectura) dialogo.iconname('Aviso') dialogo.withdraw() dialogoContinuar= Pmw.Dialog(r, buttons = ('SI', 'NO'), command=continuar) dialogoContinuar.withdraw() mensajeContinuar= Label(dialogoContinuar.interior(), text='¿desea ingresar otro dato?', background='black', foreground='white', pady=20) mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) r.mainloop() def dato1(): r.num=r.num+1 for n in range(r.num): Label(r, text='%d'%r.num, width=4).grid(row=0, column=0) c2=Entry(r, textvariable=valor1, width=4).grid(row=1, column=0) Button(r, text='Continua', command=ok).grid(row=2, column=0) dialogo = Pmw.MessageDialog(r, title = 'Aviso', message_text= 'No ha ingresado datos', iconpos = 'w', icon_bitmap = 'error', defaultbutton = 0, command=lectura) dialogo.iconname('Aviso') dialogo.withdraw() dialogoContinuar= Pmw.Dialog(r, buttons = ('SI', 'NO'), command=continuar) dialogoContinuar.withdraw() mensajeContinuar= Label(dialogoContinuar.interior(), text='¿desea ingresar otro dato?', background='black', foreground='white', pady=20) mensajeContinuar.pack(expand = 1, fill = 'both', padx = 4, pady = 4) d=dato() From inigo_aldazabal en ehu.es Fri Apr 4 21:55:36 2008 From: inigo_aldazabal en ehu.es (Inigo Aldazabal Mensa) Date: Fri Apr 4 21:56:09 2008 Subject: [Python-es] Re: String to List.... In-Reply-To: <578517.18889.qm@web65612.mail.ac4.yahoo.com> References: <578517.18889.qm@web65612.mail.ac4.yahoo.com> Message-ID: <200804042155.36827.inigo_aldazabal@ehu.es> El Viernes, 4 de Abril de 2008 17:18, escribió: > Si bien el script ahora hace lo siguiente abre un archivo y lo lee > dentro de el existen filas con valores (0), asignando esta nueva matriz > a la variable "a" escrita gracias a la ayuda facilitada lo que hago es > cada elemento que se encuentre en la matriz 20*20 y que sea (0) sea > recalculado tomando el valor del elemento una fila anterior y una > posterior ...si bien funciona lo que se prentende es escribir este mismo > resultado que solo se muestra en la pantalla a un archivo (datos_1b.asc) > pero bajo el mismo formato del inicial datos_1a. > > Muchas gracias... > > Juan Luis... > > PD; Adjunto el archivo datos_1a.asc > =========================== > import os > import string > os.chdir(r'\\Pruebas....') > data_file = open ('datos_1a.asc', 'r') > data = data_file.readlines() > > matrix = [] > for line in data: > aux = [ int(i) for i in line.split() ] > matrix.append(aux) > print 'esta es la nueva matriz' > print matrix > a=matrix > for s in a: > for m in s: > if m == 0: > a[a.index(s)][s.index(m)] = (a[a.index(s)-1][s.index(m)] + > a[a.index(s)+1][s.index(m)])/2 print 'esta es la matriz cambiada' > print a > data_file.close() > En primer lugar, ten cuidado porque como lo haces, a no es una copia de la matriz, es un alias. Si modificas a se modifica también la matriz (prueba en el intérprete "a is matriz"). Si quieres que sean distintos tendrías que hacer: a = matriz[:][:] o import copy a = copy.copy(matriz) Por otro lado, index te devuelve el índice del *primer* elemento con ese valor, que en general no es el que quieres. Para eso utiliza enumerate, que te da el índice, y el valor: for i, s in enumerate(a): for j, m in enumerate(s): if m == 0: a[i][j] = (a[i - 1][j] + a[i + 1][j] ) / 2 ¡ojo si la suma es impar, porque al ser enteros te redondeará! De todas formas yo lo que haría sería obtener al principio las dimensiones de la matriz y trabajar directamente con índices. Cosa no muy pitónica, pero en fin, cuando tienes una matriz y trabajas sobre ella barriéndola, no he encontrado otra forma fácil de hacerlo, así que se aceptan sugerencias. Algo como, si "mide" n x m: for i in range(n): for j in range(m): if a[i][j] == 0: ... Para escribir la matriz, una forma sería: out_file = open ( 'data.out' , 'w') for fila in matriz: for n in fila: out_file.write(str(n)+'\t') out_file.write('\n') out_file.close() Si a alguien se le ocurre una forma mas compacta se agradecerá, ya que nunca he tenido claro como hacerlo "bien" (creo ;-) Con numpy todo es mas "natural", eso sí. Un saludo. From minoztro en gmail.com Fri Apr 4 22:41:24 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Fri Apr 4 22:41:34 2008 Subject: [Python-es] obtener nombre de la clase Message-ID: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> estimados: a partir de lo siguiente que lo obtengo haciendo type(objeto), me gustario poder sacar el nombre 'ejemplo' de forma directa..existe alguna forma de hacerlo? el codigo de ejemplo es: >>> class ejemplo(object): ... def __init__(self): ... print 1 ... >>> a = ejemplo() 1 >>> type(a) --> la idea es que pueda imprimir directamente 'ejemplo' Gracias por su ayuda -- Milton Inostroza Aguilera From willian.radicaled en gmail.com Fri Apr 4 22:54:00 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Fri Apr 4 22:54:06 2008 Subject: [Python-es] obtener nombre de la clase In-Reply-To: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> References: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> Message-ID: Pasale el valor a una variable string x = str(type(a)) Después trata de imprimir la variable print x[17:] No sabría como borrar el resto de caracteres, alguien que te explique mejor, esto es una pequeña ayuda didáctica. 2008/4/4 Milton Galo Patricio Inostroza Aguilera : > estimados: > > a partir de lo siguiente que lo obtengo > haciendo type(objeto), me gustario poder sacar el nombre 'ejemplo' de > forma directa..existe alguna forma de hacerlo? > > el codigo de ejemplo es: > > >>> class ejemplo(object): > ... def __init__(self): > ... print 1 > ... > >>> a = ejemplo() > 1 > >>> type(a) > > > --> la idea es que pueda imprimir directamente 'ejemplo' > > > Gracias por su ayuda > -- > Milton Inostroza Aguilera > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com From willian.radicaled en gmail.com Fri Apr 4 22:55:43 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Fri Apr 4 22:55:51 2008 Subject: [Python-es] obtener nombre de la clase In-Reply-To: References: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> Message-ID: mmm, así :P print x[17:24] jeje sorry On Fri, Apr 4, 2008 at 3:54 PM, RadicalEd wrote: > Pasale el valor a una variable string > x = str(type(a)) > > Después trata de imprimir la variable > print x[17:] > > No sabría como borrar el resto de caracteres, alguien que te explique > mejor, esto es una pequeña ayuda didáctica. > > 2008/4/4 Milton Galo Patricio Inostroza Aguilera : > > > estimados: > > > > a partir de lo siguiente que lo obtengo > > haciendo type(objeto), me gustario poder sacar el nombre 'ejemplo' de > > forma directa..existe alguna forma de hacerlo? > > > > el codigo de ejemplo es: > > > > >>> class ejemplo(object): > > ... def __init__(self): > > ... print 1 > > ... > > >>> a = ejemplo() > > 1 > > >>> type(a) > > > > > > --> la idea es que pueda imprimir directamente 'ejemplo' > > > > > > Gracias por su ayuda > > -- > > Milton Inostroza Aguilera > > > > _______________________________________________ > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: http://listas.aditel.org/faqpyes > > > > > > -- > The knowledge is the most dangerous > weapon & SoloCodigo is the most important programing webforum. > http://foros.solocodigo.com -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com From lasizoillo en gmail.com Fri Apr 4 23:01:26 2008 From: lasizoillo en gmail.com (lasizoillo) Date: Fri Apr 4 23:01:38 2008 Subject: [Python-es] servidores web In-Reply-To: <90255a70804040314t2462b3d5ifc5fc7545ec07adc@mail.gmail.com> References: <90255a70804040314t2462b3d5ifc5fc7545ec07adc@mail.gmail.com> Message-ID: <49414f570804041401q19a7ae6ev7bdbe2e6965ea754@mail.gmail.com> Buenas: El enlace que mandas es extenso y habla de muchas cosas. No se a cual de todas ellas te refieres. Quiza puede que te sirva: "Twisted is an event-driven networking engine written in Python" http://twistedmatrix.com/ Un servidor wsgi sobre esto -> http://twistedmatrix.com/trac/wiki/TwistedWeb2 O quiza te refieras a usar los sockets no bloqueantes y el API NIO de java. Tienes algo parecido con: http://code.google.com/p/pyevent/ que son unos wrapers de libevent: http://monkey.org/~provos/libevent/ Un servidor wsgi sobre esto -> http://william-os4y.livejournal.com/2420.html (fawps) Espero que esto te sirva. Un saludo: Javi 2008/4/4 Cesar Ortiz : > Hola listeros, > > Hace poco he leido el articulo "Java EE meets Web 2.0" ( > http://www.ibm.com/developerworks/web/library/wa-aj-web2jee/?ca=dgr-lnxw57JavaEEWeb2Disconnect) > donde se menciona la ventaja de las invocaciones asincronas a servidores > web. > > ¿Sabeis si existe algo así para python? > ¿Y sobre el tema de servidores web, hay alguno en python que merezca > relamente la pena? Supongo que si... > A ver si me podeis orientar un poco... para echar un vistazo. > > Gracias de antemano. > > -- Cesar > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From willian.radicaled en gmail.com Fri Apr 4 23:08:55 2008 From: willian.radicaled en gmail.com (RadicalEd) Date: Fri Apr 4 23:09:05 2008 Subject: [Python-es] obtener nombre de la clase In-Reply-To: References: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> Message-ID: Una última y mejor forma de hacer con expresiones regulares. import re x = str(type(a)) r = re.compile("",re.S) h = r.findall(x) print h On Fri, Apr 4, 2008 at 3:55 PM, RadicalEd wrote: > mmm, así :P > print x[17:24] > > jeje sorry > > > On Fri, Apr 4, 2008 at 3:54 PM, RadicalEd > wrote: > > > Pasale el valor a una variable string > > x = str(type(a)) > > > > Después trata de imprimir la variable > > print x[17:] > > > > No sabría como borrar el resto de caracteres, alguien que te explique > > mejor, esto es una pequeña ayuda didáctica. > > > > 2008/4/4 Milton Galo Patricio Inostroza Aguilera : > > > > > estimados: > > > > > > a partir de lo siguiente que lo obtengo > > > haciendo type(objeto), me gustario poder sacar el nombre 'ejemplo' de > > > forma directa..existe alguna forma de hacerlo? > > > > > > el codigo de ejemplo es: > > > > > > >>> class ejemplo(object): > > > ... def __init__(self): > > > ... print 1 > > > ... > > > >>> a = ejemplo() > > > 1 > > > >>> type(a) > > > > > > > > > --> la idea es que pueda imprimir directamente 'ejemplo' > > > > > > > > > Gracias por su ayuda > > > -- > > > Milton Inostroza Aguilera > > > > > > _______________________________________________ > > > Lista de correo Python-es > > > http://listas.aditel.org/listinfo/python-es > > > FAQ: http://listas.aditel.org/faqpyes > > > > > > > > > > > -- > > The knowledge is the most dangerous > > weapon & SoloCodigo is the most important programing webforum. > > http://foros.solocodigo.com > > > > > -- > The knowledge is the most dangerous > weapon & SoloCodigo is the most important programing webforum. > http://foros.solocodigo.com > -- The knowledge is the most dangerous weapon & SoloCodigo is the most important programing webforum. http://foros.solocodigo.com From marcos.alcazar en gmail.com Fri Apr 4 23:19:12 2008 From: marcos.alcazar en gmail.com (Marcos Alcazar) Date: Fri Apr 4 23:19:22 2008 Subject: [Python-es] obtener nombre de la clase In-Reply-To: References: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> Message-ID: Podrias hacer asi? o tiene que ser si o si a partir de type()? In [1]: class uno: ...: pass ...: In [2]: u = uno() In [3]: u Out[3]: <__main__.uno instance at 0xb7b4d12c> In [4]: u.__class__.__name__ Out[4]: 'uno' Saludos... -- Marcos Alcazar O< ascii ribbon campaign - stop html mail - http://www.asciiribbon.org/index-es.html From kernel.no.found en gmail.com Sat Apr 5 02:09:15 2008 From: kernel.no.found en gmail.com (=?ISO-8859-1?Q?Juan_Jos=E9_Alonso.?=) Date: Sat Apr 5 02:09:56 2008 Subject: [Python-es] servidores web Message-ID: <117d6e170804041709t4a22a34dt83c5bcb2f5c7f640@mail.gmail.com> Algo asi como? Para Python puedes usar simples CGI en cualquier hosting, casi. Despues para Django que es a lo que le ando dando tienes Webfaction.com los hosting django son algo mas caros, esperemos que algun dia sean como PHP Para cualquier cosa #Django-es en irc.freenode.net PD: Estamos traduciendo el libro del ingles a español en http://djangobook.es Suerte :)= -- Juan José Alonso. KarlsBerg. eMail: kernel.no.found@gmail.com MSN: kernel.no.found@gmail.com From minoztro en gmail.com Sat Apr 5 04:13:29 2008 From: minoztro en gmail.com (Milton Galo Patricio Inostroza Aguilera) Date: Sat Apr 5 04:14:00 2008 Subject: [Python-es] obtener nombre de la clase In-Reply-To: References: <172699c50804041341y76e7072en8d268160d1df2088@mail.gmail.com> Message-ID: <172699c50804041913g6680bdcm11c1db944e718322@mail.gmail.com> El 4/04/08, Marcos Alcazar escribió: > Podrias hacer asi? o tiene que ser si o si a partir de type()? si, tiene que ser con type > > In [1]: class uno: > ...: pass > ...: > > In [2]: u = uno() > > In [3]: u > Out[3]: <__main__.uno instance at 0xb7b4d12c> > > In [4]: u.__class__.__name__ > Out[4]: 'uno' Fijate que si haces esto: >>> class prueba(object): ... def __init__(self): ... self.a = 0 ... >>> a = prueba() >>> type(a) >>> type(a).__name__ 'prueba' >>> Todo resulta bien!!!, gracias por la ayuda > > Saludos... > > -- > Marcos Alcazar > > O< ascii ribbon campaign - stop html mail - > http://www.asciiribbon.org/index-es.html > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -- Milton Inostroza Aguilera From mlarreategi en codesyntax.com Mon Apr 7 11:27:19 2008 From: mlarreategi en codesyntax.com (Mikel Larreategi) Date: Mon Apr 7 11:27:47 2008 Subject: [Python-es] =?iso-8859-1?q?Integraci=F3n_de_formularios_PayPal_c?= =?iso-8859-1?q?on_Python?= Message-ID: <47F9E8F7.9080705@codesyntax.com> Hola: Estoy haciendo un trabajo de integración de una web con sistema de compra on-line y pago vía PayPal en Plone. El formulario simple, con todos los datos en campos hidden, me funciona perfectamente, pero al utilizar el Encrypted Web Payments de PayPal, para enviar los datos encriptados en vez de en campos hidden, me estoy encontrando con problemas. He encontrado una referencia [1] de cómo implementar la encriptación que es necesaria según la documentación [2] en Python, pero siempre recibo el mismo error: "el e-mail no está incluido en los datos encriptados", y como os imaginaréis sí que está. La pregunta es, si alguien ha realizado alguna integración con PayPal y los datos de compra encriptados, por si puede iluminarme un poco. Saludos y gracias ! [1] http://blog.mauveweb.co.uk/2007/10/10/paypal-with-django/ [2] https://www.paypal.com/IntegrationCenter/ic_button-encryption.html -- Mikel Larreategi mlarreategi@codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: (+34) 943 82 17 80 From mlarreategi en codesyntax.com Mon Apr 7 12:03:31 2008 From: mlarreategi en codesyntax.com (Mikel Larreategi) Date: Mon Apr 7 12:10:17 2008 Subject: [Python-es] Re: =?iso-8859-1?q?Integraci=F3n_de_formularios_PayPal_con_Python?= In-Reply-To: <47F9E8F7.9080705@codesyntax.com> References: <47F9E8F7.9080705@codesyntax.com> Message-ID: <47F9F173.4050409@codesyntax.com> Mikel Larreategi(e)k dio: > La pregunta es, si alguien ha realizado alguna integración con PayPal y > los datos de compra encriptados, por si puede iluminarme un poco. > Como diría Murphy, basta con escribir a una lista para encontrar la solución :) En fin, que en el código hay un \\n que sustituido por \n y enviando en claro el identificador del certificado subido a PayPal, soluciona mis problemas. Gracias ! Mikel -- Mikel Larreategi mlarreategi@codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: (+34) 943 82 17 80 From jordi.f en ati.es Mon Apr 7 10:51:00 2008 From: jordi.f en ati.es (Jordi Funollet) Date: Mon Apr 7 13:01:35 2008 Subject: [Python-es] =?iso-8859-1?q?Integraci=F3n_de_formularios_PayPal_con?= Python In-Reply-To: <47F9E8F7.9080705@codesyntax.com> References: <47F9E8F7.9080705@codesyntax.com> Message-ID: <200804071051.00812.jordi.f@ati.es> Satchmo tiene un módulo de pago via Paypal. http://www.satchmoproject.com/ -- ############################## ### Jordi Funollet ### http://www.terraquis.net From mlarreategi en codesyntax.com Mon Apr 7 13:13:32 2008 From: mlarreategi en codesyntax.com (Mikel Larreategi) Date: Mon Apr 7 13:13:50 2008 Subject: [Python-es] =?ISO-8859-1?Q?Integraci=F3n_de_formularios_?= =?ISO-8859-1?Q?PayPal_con_Python?= In-Reply-To: <200804071051.00812.jordi.f@ati.es> References: <47F9E8F7.9080705@codesyntax.com> <200804071051.00812.jordi.f@ati.es> Message-ID: <47FA01DC.1070007@codesyntax.com> Jordi Funollet(e)k dio: > Satchmo tiene un módulo de pago via Paypal. > > http://www.satchmoproject.com/ > Gracias: Mirando un poco por encima, parece que envía todos los datos en campos hidden de un formulario, y eso era precisamente lo que quería evitar. También hay un modo de hacerlo más elegante utilizando el API de PayPal, pero ha sido más sencillo (a parte de perder un día entero con esto), hacerlo funcionar con los datos encriptados. Saludos, Mikel -- Mikel Larreategi mlarreategi@codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: (+34) 943 82 17 80 From listas en soft-com.es Mon Apr 7 16:38:34 2008 From: listas en soft-com.es (=?ISO-8859-1?Q?Oswaldo_Hern=E1ndez?=) Date: Mon Apr 7 17:59:14 2008 Subject: [Python-es] AsyncXMLRPCServer In-Reply-To: <47F5F006.1070008@soft-com.es> References: <47F5F006.1070008@soft-com.es> Message-ID: <47FA31EA.9080207@soft-com.es> Oswaldo Hernández escribió: > Hola, > > Estoy intentando montar un servidor que atienda peticiones de varios > clientes utilizando RPC. > > SimpleXMLRPcServer no me vale porque no atiende a mas de una conexión > simultáneamente. > > He probado AsyncXMLRPCServer > > pero cuando se realizan dos peticiones simultáneas al mismo metodo > parece que se se mezclan los datos, aunque no estoy seguro porque en las > pruebas no siempre lo hace. > Despues de investigar este fin de semana, creo que he localizado el problema. Aunque se ejecuten las llamadas en threads diferentes el modulo SimpleXMLRPCDispatcher utiliza siempre la misma instancia de clase que publica los metodos, por lo que si hay dos llamadas simultáneas al mismo metodo se cruzan los datos que maneja el metodo. He sobrescrito el metodo _dispatch() haciendo que se instancie una nueva clase en cada llamada y el problema se ha solucionado (voy a tocar madera por si acaso ;) ) Saludos. -- ***************************************** Oswaldo Hernández oswaldo (@) soft-com (.) es ***************************************** PD: Antes de imprimir este mensaje, asegúrese de que es necesario. El medio ambiente está en nuestra mano. From jileon en parcan.es Tue Apr 8 11:42:44 2008 From: jileon en parcan.es (Juan Ignacio Rodriguez de Leon) Date: Tue Apr 8 11:55:03 2008 Subject: [Python-es] Google Aps Engine - Nuevo servicio de Google basado en Python Message-ID: <47FB3E14.2010909@parcan.es> Acabo de leer esto en la lista de correo de Django, creo que es una noticia muy interesante , no solo por el servicio en si, sino porque muestra el cada vez mayor apoyo de google a Python. *Google Apps Engine* permite ejecutar tus aplicaciones web usando la infraestructura de Google. Las aplicaciones están implementadas con Python (prometen en el futuro incluir más lenguajes) e incluyen Django entre otras interesantes librerías. La funcionalidad de este servicio sería, por ahora: * Servicio web dinámico, con soporte de la mayoría de las tecnologías web. * Almacenamiento persistente, con consultas, ordenación y transacciones * Escalado automático y balanceo de carga * API para autentificación y envío de coreo usando cuentas de Gmail * Entorno de desarrollo local que simula el Google App Engine en tu máquina Más información aquí: y aquí: Y, por supuesto, aquí: From inf200468 en ucf.edu.cu Tue Apr 8 16:31:14 2008 From: inf200468 en ucf.edu.cu (inf200468@ucf.edu.cu) Date: Tue Apr 8 17:01:10 2008 Subject: [Python-es] python vs perl y expresiones regulares Message-ID: <1460.10.14.17.17.1207665074.squirrel@correo> hola: tengo que guardar el contenido del fichero access.log del squid en una bd, pero las lineas comienzan con la fecha en un formato como 1202214909.129 y con un script en perl que es #!/usr/bin/perl -p s/^\d+\.\d+/localtime $&/e; convierte esta fecha a formato normal , al que estamos acostumbrados, pero necesito tomar esta fecha , la original en python y convertirla , pero no se como, seria tomar 1202214909.129 y obtener el equivalente , pero hacerlo con python, alguien puede darme alguna idea Gracias y saludos -------------------------------- Servicio del Grupo de Redes Universidad de Cienfuegos Contacto: adminred@ucf.edu.cu From jcaballero.hep en gmail.com Tue Apr 8 17:15:49 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue Apr 8 17:16:04 2008 Subject: [Python-es] python vs perl y expresiones regulares In-Reply-To: <1460.10.14.17.17.1207665074.squirrel@correo> References: <1460.10.14.17.17.1207665074.squirrel@correo> Message-ID: ¿Te vale algo como esto? >>> import time >>> time.ctime(1202214909.129) 'Tue Feb 5 07:35:09 2008' Puedes echarle un vistazo a este link: http://docs.python.org/lib/module-datetime.html Saludos, Jose El día 8/04/08, inf200468@ucf.edu.cu escribió: > > > > hola: > > tengo que guardar el contenido del fichero access.log del squid en una > bd, pero las lineas comienzan con la > fecha en un formato como > > 1202214909.129 > > y con un script en perl que es > > #!/usr/bin/perl > -p > > s/^\d+\.\d+/localtime $&/e; > > convierte esta fecha a formato > normal , al > que estamos acostumbrados, pero necesito tomar esta fecha , la original > en python y > convertirla , pero no se como, seria tomar 1202214909.129 y obtener el > equivalente , pero hacerlo con python, alguien puede darme alguna idea > > Gracias y saludos > > > > -------------------------------- > Servicio del Grupo de Redes > Universidad de Cienfuegos > Contacto: adminred@ucf.edu.cu > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From inf200468 en ucf.edu.cu Tue Apr 8 17:26:31 2008 From: inf200468 en ucf.edu.cu (inf200468@ucf.edu.cu) Date: Tue Apr 8 17:31:06 2008 Subject: [Python-es] python vs perl y expresiones regulares In-Reply-To: References: <1460.10.14.17.17.1207665074.squirrel@correo> Message-ID: <1570.10.14.17.17.1207668391.squirrel@correo> esto es valido para window y para linux??????? > ¿Te vale algo como esto? > >>>> import time >>>> time.ctime(1202214909.129) > 'Tue Feb 5 07:35:09 2008' > > Puedes echarle un vistazo a este link: > http://docs.python.org/lib/module-datetime.html > > Saludos, > Jose > > > El día 8/04/08, inf200468@ucf.edu.cu escribió: >> >> >> >> hola: >> >> tengo que guardar el contenido del fichero access.log del squid en una >> bd, pero las lineas comienzan con la >> fecha en un formato como >> >> 1202214909.129 >> >> y con un script en perl que es >> >> #!/usr/bin/perl >> -p >> >> s/^\d+\.\d+/localtime $&/e; >> >> convierte esta fecha a formato >> normal , al >> que estamos acostumbrados, pero necesito tomar esta fecha , la original >> en python y >> convertirla , pero no se como, seria tomar 1202214909.129 y obtener el >> equivalente , pero hacerlo con python, alguien puede darme alguna idea >> >> Gracias y saludos >> >> >> >> -------------------------------- >> Servicio del Grupo de Redes >> Universidad de Cienfuegos >> Contacto: adminred@ucf.edu.cu >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -------------------------------- Servicio del Grupo de Redes Universidad de Cienfuegos Contacto: adminred@ucf.edu.cu From jcaballero.hep en gmail.com Tue Apr 8 17:33:58 2008 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue Apr 8 17:34:10 2008 Subject: [Python-es] python vs perl y expresiones regulares In-Reply-To: <1570.10.14.17.17.1207668391.squirrel@correo> References: <1460.10.14.17.17.1207665074.squirrel@correo> <1570.10.14.17.17.1207668391.squirrel@correo> Message-ID: Yo hace mucho mucho tiempo que no trabajo en windows... 2008/4/8, inf200468@ucf.edu.cu : > > > > esto es valido para window y para linux??????? > > > > > ¿Te vale > algo como esto? > > > >>>> import time > >>>> > time.ctime(1202214909.129) > > 'Tue Feb 5 07:35:09 2008' > > > > > Puedes echarle un vistazo a este link: > > > http://docs.python.org/lib/module-datetime.html > > > > Saludos, > > Jose > > > > > > El día 8/04/08, inf200468@ucf.edu.cu > escribió: > >> > >> > >> > >> hola: > >> > >> tengo que guardar el > contenido del fichero access.log del squid en una > >> bd, pero las lineas > comienzan con la > >> fecha en un formato como > >> > >> > 1202214909.129 > >> > >> y con un script en perl que es > >> > >> #!/usr/bin/perl > >> -p > >> > >> s/^\d+\.\d+/localtime $&/e; > >> > >> convierte esta > fecha a formato > >> normal , al > >> que estamos acostumbrados, > pero necesito tomar esta fecha , la original > >> en python y > >> > convertirla , pero no se como, seria tomar 1202214909.129 y obtener el > >> > equivalente , pero hacerlo con python, alguien puede darme alguna idea > >> > > >> Gracias y saludos > >> > >> > >> > >> -------------------------------- > >> Servicio del Grupo de Redes > > >> Universidad de Cienfuegos > >> Contacto: adminred@ucf.edu.cu > > >> > >> _______________________________________________ > >> Lista de correo Python-es > >> > http://listas.aditel.org/listinfo/python-es > >> FAQ: > http://listas.aditel.org/faqpyes > >> > > > > _______________________________________________ > > > Lista de correo Python-es > > http://listas.aditel.org/listinfo/python-es > > FAQ: > http://listas.aditel.org/faqpyes > > > > > > > -------------------------------- > Servicio del Grupo de Redes > Universidad de Cienfuegos > Contacto: adminred@ucf.edu.cu > > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > From inf200468 en ucf.edu.cu Tue Apr 8 17:36:35 2008 From: inf200468 en ucf.edu.cu (inf200468@ucf.edu.cu) Date: Tue Apr 8 17:46:26 2008 Subject: [Python-es] python vs perl y expresiones regulares In-Reply-To: References: <1460.10.14.17.17.1207665074.squirrel@correo> Message-ID: <1678.10.14.17.17.1207668995.squirrel@correo> muy buena solución gracias > ¿Te vale algo como esto? > >>>> import time >>>> time.ctime(1202214909.129) > 'Tue Feb 5 07:35:09 2008' > > Puedes echarle un vistazo a este link: > http://docs.python.org/lib/module-datetime.html > > Saludos, > Jose > > > El día 8/04/08, inf200468@ucf.edu.cu escribió: >> >> >> >> hola: >> >> tengo que guardar el contenido del fichero access.log del squid en una >> bd, pero las lineas comienzan con la >> fecha en un formato como >> >> 1202214909.129 >> >> y con un script en perl que es >> >> #!/usr/bin/perl >> -p >> >> s/^\d+\.\d+/localtime $&/e; >> >> convierte esta fecha a formato >> normal , al >> que estamos acostumbrados, pero necesito tomar esta fecha , la original >> en python y >> convertirla , pero no se como, seria tomar 1202214909.129 y obtener el >> equivalente , pero hacerlo con python, alguien puede darme alguna idea >> >> Gracias y saludos >> >> >> >> -------------------------------- >> Servicio del Grupo de Redes >> Universidad de Cienfuegos >> Contacto: adminred@ucf.edu.cu >> >> _______________________________________________ >> Lista de correo Python-es >> http://listas.aditel.org/listinfo/python-es >> FAQ: http://listas.aditel.org/faqpyes >> > _______________________________________________ > Lista de correo Python-es > http://listas.aditel.org/listinfo/python-es > FAQ: http://listas.aditel.org/faqpyes > -------------------------------- Servicio del Grupo de Redes Universidad de Cienfuegos Contacto: adm