From py en ch3m4.org Wed Sep 1 16:20:26 2004 From: py en ch3m4.org (Py) Date: Wed, 01 Sep 2004 10:20:26 -0400 Subject: foto Message-ID: ********************************************************** ********************************************************** WARNING: Panda Antivirus GateDefender has detected a virus in file attached to this e-mail message! The attachment has been automatically removed to protect your network. Panda Antivirus GateDefender Administrator: herbert en mail.futuro 09/01/04 10:16:44 Panda Antivirus GateDefender (Version 5.1 R1c (5.0.60.2)) - http://www.pandasoftware.com/ Antivirus Vendor: Panda Software Scan Engine Version: 4.1.4.307 Pattern File Version: 3.82855 (Timestamp: 01/09/2004 150839) Machine name: PandaAppliance Machine IP address: 166.114.249.36 Server: 150.128.98.10 Client: 166.114.249.34 Protocol: SMTP Virus: "W32/Bagle.AW.worm" found! Attachment: fotos.zip ********************************************************** ********************************************************** ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From FBatista en uniFON.com.ar Wed Sep 1 17:20:30 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Wed, 1 Sep 2004 12:20:30 -0300 Subject: ANUNCIO: SiGeFi v0.2 Message-ID: Estamos orgullosos de anunciar la versión 0.2 de SiGeFi, la cual pueden encontrar en: http://sourceforge.net/projects/sigefi ¿Qué es SiGeFi? --------------- SiGeFi es un Sistema de Gestión Financiera pensado principalmente para el hogar y las finanzas personales. Siempre manteniendo la simpleza de uso y de conceptos, SiGeFi posee características de un Sistema de Gestión complejo: - Cumple con los conceptos de Contabilidad por Partida Doble - Posee un esquema de Distribución en base a Presupuestos - Permite realizar Préstamos entre cuentas (con costos financieros asociados) Y por supuesto, está completamente escrito en Python; todavía no nos decidimos por la GUI. ¿Qué hay en esta versión? ------------------------- ¡Estamos en estado Alfa! (ohmmmmm...) Salimos de pre-alfa porque terminamos con todos los módulos y sus pruebas de unidad, por lo que no deberíamos tener futuros cambios de funcionalidad. Seguimos en alfa porque faltan partes vitales del projecto (una interfaz gráfica e internacionalizarlo, como los dos puntos más destacados). Cambio de funcionalidad: - Incorporamos la posibilidad de marcar movimientos como ya controlados (ej. contra un resumen bancario). Cambios internos: - Creamos excepciones especí­ficas para el proyecto cuando se justificaba. - Incorporamos decimal.py para manejar los importes. - Creamos 'properties' y __repr__ para todas las clases. - Hicimos refactoring en la forma de crear Asientos. - Agregamos mapeo de constantes del sistema y su descripción en diccionarios. - Creamos un diccionario de controladores. ¿Qué puedo esperar para la próxima versión? ------------------------------------------- Que terminemos la documentación y la internacionalización del código: - Traducir el código - Terminar la documentación de las clases - Actualizar los UML - Doctests - Los lineamientos de la GUI ¿Cómo puedo ayudar? ------------------- De mil maneras, hay muchas cosas para hacer todavía: documentación, corregir código, armar la página web, etc... Si quiere participar, envíenos un mail a la lista (sigefi-list en lists.sourceforge.net) o directamente a nosotros. Muchas gracias. . Facundo From py en ch3m4.org Wed Sep 1 17:39:18 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 01 Sep 2004 17:39:18 +0200 Subject: [OT] Re: foto In-Reply-To: References: Message-ID: <200409011739.22390.py@ch3m4.org> Yo no he sido :-P Received: from SISTEMAS-27.org (unknown [166.114.249.34]) by dns2.uji.es (Postfix) with SMTP id CFCF541C1BB for ; Wed, 1 Sep 2004 16:20:25 +0200 (CEST) > ********************************************************** > ********************************************************** > > WARNING: Panda Antivirus GateDefender has detected a virus in file > attached to this e-mail message! > > The attachment has been automatically removed to > protect your network. > > Panda Antivirus GateDefender Administrator: herbert en mail.futuro > > 09/01/04 10:16:44 > Panda Antivirus GateDefender (Version 5.1 R1c (5.0.60.2)) - > http://www.pandasoftware.com/ Antivirus Vendor: Panda Software > Scan Engine Version: 4.1.4.307 > Pattern File Version: 3.82855 (Timestamp: 01/09/2004 150839) > > Machine name: PandaAppliance > Machine IP address: 166.114.249.36 > Server: 150.128.98.10 > Client: 166.114.249.34 ^^^^^^^^^^^^^^ > Protocol: SMTP > > Virus: "W32/Bagle.AW.worm" found! > Attachment: fotos.zip > > ********************************************************** > ********************************************************** ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Sep 2 12:54:07 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 02 Sep 2004 12:54:07 +0200 Subject: [SemiOT] Gentoo y python Message-ID: <200409021254.11384.py@ch3m4.org> Como estaba tan harto de tener que recompilar absolutamente todo para tener un sistema linux con python a mi gusto, me he decidido finalmente a probar el "Gentoo". La cosa ha resultado que tanto me ha gustado que creo voy a pasar mi sistema de trabajo a esta distribución. Con sólo activar en las preferencias que quiero 'python' todos los paquetes se compilan en consecuencia activando cualquier característica particular que tengan para python (macros python en vim, python-gimp, etc). Se acabó tener que reconstruir un paquete porque al empaquetador no le haya dado la gana incluir el soporte de python. Además, el "portegé", el afamado gestor de paquetes de gentoo, está programado en python, lo que convierte a gentoo una distribución muy "pytónica". Al menos siempre están disponibles las últimas versiones de los paquetes python. En fin, me preguntaba ahora si había alguno más de la lista que haya probado el gentoo y quiera comentar su experiencia. Desde luego no es un linux para novatos, pero si ya tenéis tablas con linux os aconsejaría que le echárais un vistazo. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lordzealon en ono.com Thu Sep 2 12:54:14 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Thu, 02 Sep 2004 12:54:14 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021254.11384.py@ch3m4.org> References: <200409021254.11384.py@ch3m4.org> Message-ID: <4136FBD6.5000507@ono.com> Chema Cortés wrote: > Como estaba tan harto de tener que recompilar absolutamente todo para tener un > sistema linux con python a mi gusto, me he decidido finalmente a probar el > "Gentoo". La cosa ha resultado que tanto me ha gustado que creo voy a pasar > mi sistema de trabajo a esta distribución. > > Con sólo activar en las preferencias que quiero 'python' todos los paquetes se > compilan en consecuencia activando cualquier característica particular que > tengan para python (macros python en vim, python-gimp, etc). Se acabó tener > que reconstruir un paquete porque al empaquetador no le haya dado la gana > incluir el soporte de python. > > Además, el "portegé", el afamado gestor de paquetes de gentoo, está programado > en python, lo que convierte a gentoo una distribución muy "pytónica". Al > menos siempre están disponibles las últimas versiones de los paquetes python. > > > En fin, me preguntaba ahora si había alguno más de la lista que haya probado > el gentoo y quiera comentar su experiencia. Desde luego no es un linux para > novatos, pero si ya tenéis tablas con linux os aconsejaría que le echárais un > vistazo. Pues la verdad, todavía no. Lo tengo en mi lista "TO DO". De momento tengo Debian SID (sin sonido, sin impresora etc grrrrrr) Además, ahora con mi ipaq 4150 estoy atado a Windows, y más todavía a MS con MS Office etc... Se que existen linux para PocketPc etc.. pero no para la mía. Un saludo. -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From pcaro en yacoi.com Thu Sep 2 13:13:07 2004 From: pcaro en yacoi.com (Pablo Caro) Date: Thu, 02 Sep 2004 13:13:07 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021254.11384.py@ch3m4.org> References: <200409021254.11384.py@ch3m4.org> Message-ID: <41370043.8090104@yacoi.com> Hola a todos. Ya que la peña expresa opiniones sobre distribuciones y python. Ahí va la mía. Nosotros usamos debian (en la empresa donde desarrollamos con python y Zope). Los paquetes para python, encuentro que están bastante bien. No he usado gentoo así que no te puedo comparar. Los paquetes para zope ya son otra cosa. Preferimos partir de los fuentes para construir el sistemas más a nuestro gusto (por ejemplo para desarrollar con zope es mejor situar el servidor en el home, etc ...) Nota para Lord ZealoN: A mí funciona todo :-D. Con dos desarrolladores debian en la empresa como para que no vaya! Tenemos además un mirror privado de los repositorios y no veas lo rápido q es instalar algo. Salu2 Chema Cortés escribió: >Como estaba tan harto de tener que recompilar absolutamente todo para tener un >sistema linux con python a mi gusto, me he decidido finalmente a probar el >"Gentoo". La cosa ha resultado que tanto me ha gustado que creo voy a pasar >mi sistema de trabajo a esta distribución. > >Con sólo activar en las preferencias que quiero 'python' todos los paquetes se >compilan en consecuencia activando cualquier característica particular que >tengan para python (macros python en vim, python-gimp, etc). Se acabó tener >que reconstruir un paquete porque al empaquetador no le haya dado la gana >incluir el soporte de python. > >Además, el "portegé", el afamado gestor de paquetes de gentoo, está programado >en python, lo que convierte a gentoo una distribución muy "pytónica". Al >menos siempre están disponibles las últimas versiones de los paquetes python. > > >En fin, me preguntaba ahora si había alguno más de la lista que haya probado >el gentoo y quiera comentar su experiencia. Desde luego no es un linux para >novatos, pero si ya tenéis tablas con linux os aconsejaría que le echárais un >vistazo. > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From pacodani en inicia.es Thu Sep 2 14:04:19 2004 From: pacodani en inicia.es (Francisco Igual =?iso-8859-15?q?Pe=F1a?=) Date: Thu, 2 Sep 2004 14:04:19 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021254.11384.py@ch3m4.org> References: <200409021254.11384.py@ch3m4.org> Message-ID: <200409021404.28675.pacodani@inicia.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Jueves, 2 de Septiembre de 2004 12:54, Chema Cortés escribió: > En fin, me preguntaba ahora si había alguno más de la lista que haya > probado el gentoo y quiera comentar su experiencia. Desde luego no es un > linux para novatos, pero si ya tenéis tablas con linux os aconsejaría que > le echárais un vistazo. Hola! Yo llevo usando gentoo desde hace aproximadamente ocho meses; la instalé por curiosidad y no he vuelto a probar otra cosa, ni debian ni nada. Es una distribución muy bien estructurada en mi opinión, siempre se tiene lo último en software de forma realmente fácil, con cantidad de paquetes, un sistema limpio y rápido (recuerda que puedes compilarlo todo según tu modelo de procesador). Además, se cuida mucho el aspecto gráfico. El sistema se basa en gran medida en python (como has dicho, portage es python), y además las nuevas versiones no tardan demasiado en incluirse. El uso de la USE 'python' es muy útil, como todas las USE en general. Además, tiene una comunida muy abierta y dispuesta a ayudar (forums.gentoo.org), e incluso tiene ebuild para PythonG !! (http://packages.gentoo.org/search/?sstring=pythonG). En resumen, animo a todo el mundo a que se atreva con la instalación, y no la cambiará por nada del mundo (o sí). - -- "If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas." George Bernard Shaw -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFBNwxIXMJEgqdF0bARAr7OAJ9GG3zs/2UxSFd3WKNcYx86FI9fQgCghiKH TpAH9GwVI8ySA6fFuoIat8c= =eNTt -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From clp en opencanarias.com Thu Sep 2 14:04:17 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Thu, 02 Sep 2004 13:04:17 +0100 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021254.11384.py@ch3m4.org> References: <200409021254.11384.py@ch3m4.org> Message-ID: <1094126657.24333.4.camel@IMAGINE> Pues yo la instalado varias veces y he trabajado bastante con ella. Requisitos: - Tener una muy buena conexión a internet para estar actualizado. - Tener tiempo para leer documentación. La verdad que es excelente y el apoyo de los foros muy bueno. - La mayor parte de las herramientas están en modo consola. Yo también me metí con esta distribución por estar basada en python para prácticamente todas sus herramientas. Es muy buena y pienso que es la única que hace las cosas mas complejas de una forma casi trivial. Está muy ordenada y muy bien estructurada, coge las ideas del BSD (Free, Open, ...) y la verdad es que se acerca bastante. Salu2 pythoneros... El jue, 02-09-2004 a las 11:54, Chema Cortés escribió: > Como estaba tan harto de tener que recompilar absolutamente todo para tener un > sistema linux con python a mi gusto, me he decidido finalmente a probar el > "Gentoo". La cosa ha resultado que tanto me ha gustado que creo voy a pasar > mi sistema de trabajo a esta distribución. > > Con sólo activar en las preferencias que quiero 'python' todos los paquetes se > compilan en consecuencia activando cualquier característica particular que > tengan para python (macros python en vim, python-gimp, etc). Se acabó tener > que reconstruir un paquete porque al empaquetador no le haya dado la gana > incluir el soporte de python. > > Además, el "portegé", el afamado gestor de paquetes de gentoo, está programado > en python, lo que convierte a gentoo una distribución muy "pytónica". Al > menos siempre están disponibles las últimas versiones de los paquetes python. > > > En fin, me preguntaba ahora si había alguno más de la lista que haya probado > el gentoo y quiera comentar su experiencia. Desde luego no es un linux para > novatos, pero si ya tenéis tablas con linux os aconsejaría que le echárais un > vistazo. > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From packo_assamita en supercable.es Thu Sep 2 14:13:27 2004 From: packo_assamita en supercable.es (Packo) Date: Thu, 2 Sep 2004 14:13:27 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021254.11384.py@ch3m4.org> References: <200409021254.11384.py@ch3m4.org> Message-ID: <200409021413.27139.packo_assamita@supercable.es> A mi me pasó como a Francisco, lo probé y ahora no cambio ( como el detergente), la verdad es que es sistema de paquetes es cojonudo, y las configuraciones, aunque no tienen interfaz grafica, están muy bien documentadas e intuitivas, gentoo hace que en poco tiempo entiendas el sistema mejor que con Suse, Mandrake ... Es rápido, consume poca memoria y es altamente configurable. -- |-------------------------------------| Paco Moreno - Assamita http://www.campanilla.net/kotejante |-------------------------------------| ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Sep 2 14:43:38 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 02 Sep 2004 14:43:38 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <1094126657.24333.4.camel@IMAGINE> References: <200409021254.11384.py@ch3m4.org> <1094126657.24333.4.camel@IMAGINE> Message-ID: <200409021443.43474.py@ch3m4.org> On Thursday 02 September 2004 14:04, Carlos Lopez Perez wrote: > Pues yo la instalado varias veces y he trabajado bastante con ella. > Requisitos: > - Tener una muy buena conexión a internet para estar actualizado. Ante ésto decir que el número 2 de la revista polaca "Linux+DVD" lleva un DVD con el gentoo "completo". Esta revista está ahora en promoción: http://www.lpmagazine.org/es/ También decir que es fácil actualizar el sistema sin tener internet, trayendo los ficheros necesarios desde otros equipos. > - Tener tiempo para leer documentación. La verdad que es excelente y el > apoyo de los foros muy bueno. Estoy contigo. La documentación explica muchos detalles del funcionamiento de un sistema linux, entrando de lleno en su mejora y optimización. > - La mayor parte de las herramientas están en modo consola. Para eso estamos aquí, ¿no?, hablando tanto de si pygtk ó wxpython. :-D Habrá que crear más paquetes hispanos para que acompañen al PythonG. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rafa en dioptra.es Thu Sep 2 14:36:56 2004 From: rafa en dioptra.es (Rafa) Date: Thu, 2 Sep 2004 14:36:56 +0200 Subject: Saludos Message-ID: <014501c490e9$8976a3d0$1000005a@DIOPTRA> Hola lista, me presento a esta comunidad y para empezar os comento lo siguiente: Hace muy poco ke conozco este lenguaje pero lo ke he visto y leido es suficiente como para ke me decante por su uso, ahora bien, a parte de www.python.org y los enlaces ke allí se ven poco más he podido leer. Me resultaría enormemente útil vuestra ayuda en el tema de documentación, manuales, etc. Por otro lado, soy novato en esto de la programación y kisiera saber la opinion de expertos como los ke aki hay sobre si este es el lenguaje adecuado para empezar, a mi me parece ke si, pero siempre lo sabreis mejor vosotros. Muchas gracias a todos y encantado de pertenecer a esta lista. From lordzealon en ono.com Thu Sep 2 14:44:08 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Thu, 02 Sep 2004 14:44:08 +0200 Subject: Saludos In-Reply-To: <014501c490e9$8976a3d0$1000005a@DIOPTRA> References: <014501c490e9$8976a3d0$1000005a@DIOPTRA> Message-ID: <41371598.7050700@ono.com> Rafa wrote: > Hola lista, me presento a esta comunidad y para empezar os comento lo siguiente: > > Hace muy poco ke conozco este lenguaje pero lo ke he visto y leido es suficiente como para ke me decante por su uso, ahora bien, a parte de www.python.org y los enlaces ke allí se ven poco más he podido leer. Me resultaría enormemente útil vuestra ayuda en el tema de documentación, manuales, etc. > Por otro lado, soy novato en esto de la programación y kisiera saber la opinion de expertos como los ke aki hay sobre si este es el lenguaje adecuado para empezar, a mi me parece ke si, pero siempre lo sabreis mejor vosotros. > > Muchas gracias a todos y encantado de pertenecer a esta lista. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Con python.org, esta lista y la web de pythonhispano[1] vas sobrado ;) Un saludo http://www.pythonhispano.org -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From sergifaber en gmail.com Thu Sep 2 14:47:28 2004 From: sergifaber en gmail.com (Sergi Faber) Date: Thu, 2 Sep 2004 14:47:28 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021413.27139.packo_assamita@supercable.es> References: <200409021254.11384.py@ch3m4.org> <200409021413.27139.packo_assamita@supercable.es> Message-ID: <74d1a163040902054728a66d78@mail.gmail.com> Bueno, tras tantos elogios por parte de los listeros me reafirmo en que Gentoo será la primera opción a probar si alguna vez dejo la Slackware. Pero ha de ser una distribución realmente buena para que esto pueda suceder... El sistema de paquetes éste de la gentoo perimte instalar SIP, PyQt, eric3 y tal? Salut! -- Sergi Faber From py en ch3m4.org Thu Sep 2 15:38:17 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 02 Sep 2004 15:38:17 +0200 Subject: [SemiOT] Gentoo y python In-Reply-To: <74d1a163040902054728a66d78@mail.gmail.com> References: <200409021254.11384.py@ch3m4.org> <200409021413.27139.packo_assamita@supercable.es> <74d1a163040902054728a66d78@mail.gmail.com> Message-ID: <200409021538.23789.py@ch3m4.org> On Thursday 02 September 2004 14:47, Sergi Faber wrote: > Bueno, tras tantos elogios por parte de los listeros me reafirmo en > que Gentoo será la primera opción a probar si alguna vez dejo la > Slackware. Pero ha de ser una distribución realmente buena para que > esto pueda suceder... > > El sistema de paquetes éste de la gentoo perimte instalar SIP, PyQt, > eric3 y tal? Sí que los tiene. En la web oficial de gentoo tienen un buscador de paquetes disponibles: http://packages.gentoo.org/ Añado la dirección de la página hispana: http://www.gentoo-es.org ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ezako en yahoo.es Thu Sep 2 17:30:54 2004 From: ezako en yahoo.es (zako) Date: Thu, 2 Sep 2004 17:30:54 +0200 Subject: arrancar un nuevo proceso Message-ID: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> aupa, ando haciendo una aplicacion que en determinados momentos debe arracar un servidor web (SimpleHTTPServer) pero me gustaria que se arrancase en segundo plano y que la aplicacion podría seguir su curso. Tengo ciertos conocimientos de programacion en entornos Unix y lo primero que he pensado es en un fork del módulo os de python. Me gustaria saber si hay alguna otra opcion de mas alto nivel, ya que andar con forks en python no me parece muy elegante. Sin mas gracias y saludos, zako From clp en opencanarias.com Thu Sep 2 17:50:54 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Thu, 02 Sep 2004 16:50:54 +0100 Subject: [SemiOT] Gentoo y python In-Reply-To: <200409021443.43474.py@ch3m4.org> References: <200409021254.11384.py@ch3m4.org> <1094126657.24333.4.camel@IMAGINE> <200409021443.43474.py@ch3m4.org> Message-ID: <1094140254.3216.71.camel@IMAGINE> Te acuerdas de aquel problema lejano de wxpython en linux (que gracias a tu inestimable colaboración en la lista me ayudaste a resolver). Pues en gentoo fue coser y cantar. Me compiló a la primera y con unicode sin un solo problema. El único problema fue que existen programas (por ejemplo el amule) que utilizan el wxpython pero no soportan el flag unicode para su versión estable (al emergerlo) y me decía que tenía que recompilar el wxpython sin el famoso flag (unicode). ¿Alguien ha podido instalar alguno de estos programas para que compile con el flag unicode? Salu2 de clp ;) El jue, 02-09-2004 a las 13:43, Chema Cortés escribió: > On Thursday 02 September 2004 14:04, Carlos Lopez Perez wrote: > > Pues yo la instalado varias veces y he trabajado bastante con ella. > > Requisitos: > > - Tener una muy buena conexión a internet para estar actualizado. > > Ante ésto decir que el número 2 de la revista polaca "Linux+DVD" lleva un DVD > con el gentoo "completo". Esta revista está ahora en promoción: > http://www.lpmagazine.org/es/ > > También decir que es fácil actualizar el sistema sin tener internet, trayendo > los ficheros necesarios desde otros equipos. > > > > - Tener tiempo para leer documentación. La verdad que es excelente y el > > apoyo de los foros muy bueno. > > Estoy contigo. La documentación explica muchos detalles del funcionamiento de > un sistema linux, entrando de lleno en su mejora y optimización. > > > - La mayor parte de las herramientas están en modo consola. > > Para eso estamos aquí, ¿no?, hablando tanto de si pygtk ó wxpython. :-D > Habrá que crear más paquetes hispanos para que acompañen al PythonG. > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From soulkiller en teleline.es Thu Sep 2 18:19:21 2004 From: soulkiller en teleline.es (soul) Date: Thu, 02 Sep 2004 18:19:21 +0200 Subject: Saludos In-Reply-To: <014501c490e9$8976a3d0$1000005a@DIOPTRA> References: <014501c490e9$8976a3d0$1000005a@DIOPTRA> Message-ID: <1094141961.2170.2.camel@Zeus> Te mando la dirección de mi gestor de "bookmarks" online (http://linkee.digitta.com), concretamente los "tags" que hablan sobre Python ( no solo están los mios sino también los de otros usuarios ). Son todos los enlaces que he ido recopilando sobre Python . Espero que te sea de ayuda. http://linkee.digitta.com/?tag=python Saludos, Soul From slezica en fibertel.com.ar Thu Sep 2 18:30:49 2004 From: slezica en fibertel.com.ar (=?iso-8859-1?Q?Sebasti=E1n_Lezica?=) Date: Thu, 2 Sep 2004 13:30:49 -0300 Subject: arrancar un nuevo proceso In-Reply-To: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> References: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> Message-ID: Hola Zako, Por ahi te sirve esta receta: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/84317 Fijate en los comentarios que hay puestos para agregarle capacidad de consultar si ya finalizó el proceso, es muy cómoda. La use cuando converti un server que recibia pedidos de 'reportes' y al acumularse muchos pedidos los usuarios entraban en cola de espera; tocando apenas el código ahora cuando recibe 'trabajos' crea un thread para cada pedido, enviando el resultado al finalizar a quien corresponde, y sin colas de espera... mas bonito :-). Saludos!, Sebastián Lezica -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En nombre de zako Enviado el: Jueves, 02 de Septiembre del 2004 12:31 Para: python-es Asunto: [Python-es] arrancar un nuevo proceso aupa, ando haciendo una aplicacion que en determinados momentos debe arracar un servidor web (SimpleHTTPServer) pero me gustaria que se arrancase en segundo plano y que la aplicacion podría seguir su curso. Tengo ciertos conocimientos de programacion en entornos Unix y lo primero que he pensado es en un fork del módulo os de python. Me gustaria saber si hay alguna otra opcion de mas alto nivel, ya que andar con forks en python no me parece muy elegante. Sin mas gracias y saludos, zako _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mlacunza en spymac.com Thu Sep 2 19:54:56 2004 From: mlacunza en spymac.com (Mario Lacunza) Date: Thu, 02 Sep 2004 12:54:56 -0500 Subject: Interfaz Visual In-Reply-To: <415837BC.2000103@ono.com> References: <1093548449.10568.1.camel@localhost.localdomain> <200408271130.12280.py@ch3m4.org> <415837BC.2000103@ono.com> Message-ID: <41375E70.80102@spymac.com> Para los q usan este entorno, es posible generar de forma visual formularios, controles, etc ??? En todo casoi cual es la mejor herramienta para generar de esta forma nuevos programas?? Mi pregunta esta orientada a q yo vengo de programar en Visual Basic, donde la operaciones de diseño de formularios se hacen de forma dinamica y no encuentro nada similar en Python. Si alguien me tira una ayuda se lo agradeceria.... Saludos / Best regards Mario Lacunza Email: mlacunza en spymac.com Lima - Peru Lord ZealoN wrote: > Chema Cortés wrote: > >> On Thursday 26 August 2004 21:27, Juan Fernando Estrada Henao wrote: >> >>> si trabajas en linux el mejor definitivamente es eric3 >>> en win32 aun no consigo hacerlo funcionar. >>> >>> http://www.die-offenbachs.de/detlev/eric3.html >> >> >> >> Para win32, a parte de que funcione o no, necesitarás la versión >> comercial de la librería Qt y PyQt, a no ser que te hayas comprado el >> libro de programación de Qt que lleva una versión GPL de las Qt para >> windows. >> >> 'eric3' está muy bien. El 'emacs' es mucho emacs. Pero si hay que >> hablar de un IDE definitivo ese es el 'eclipse': >> >> http://www-106.ibm.com/developerworks/opensource/library/os-ecant/ > > > No sabía que se podía usar eclipse como IDE para python. > Pues no se hable más :P > --- avast! Antivirus: Correo Saliente, El Mensaje no contiene virus. Base de datos de Virus (VPS): 0436-2, 01/09/2004 Comprobado en: 02/09/2004 12:54:59 p.m. avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From rafa en dioptra.es Thu Sep 2 20:06:21 2004 From: rafa en dioptra.es (Rafa) Date: Thu, 2 Sep 2004 20:06:21 +0200 Subject: Saludos References: <014501c490e9$8976a3d0$1000005a@DIOPTRA> <1094141961.2170.2.camel@Zeus> Message-ID: <01a901c49117$8dc72350$1000005a@DIOPTRA> Muchas gracias a todos, muy interesante toda esta documentación. Espero estar en contacto con la lista, en principio para plantear dudas, y en cuanto sea posible resolverlas. Saludos. Rafa ----- Original Message ----- From: "soul" To: "La lista de python en castellano" Sent: Thursday, September 02, 2004 6:19 PM Subject: Re: [Python-es] Saludos > Te mando la dirección de mi gestor de "bookmarks" online > (http://linkee.digitta.com), concretamente los "tags" que hablan sobre > Python ( no solo están los mios sino también los de otros usuarios ). > Son todos los enlaces que he ido recopilando sobre Python . Espero que > te sea de ayuda. > > http://linkee.digitta.com/?tag=python > > Saludos, Soul > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From maramsis en yahoo.com.ar Thu Sep 2 22:18:12 2004 From: maramsis en yahoo.com.ar (=?iso-8859-1?q?Marcelo=20Ametller?=) Date: Thu, 2 Sep 2004 17:18:12 -0300 (ART) Subject: Saludos In-Reply-To: <41371598.7050700@ono.com> References: <41371598.7050700@ono.com> Message-ID: <20040902201812.70799.qmail@web90009.mail.scd.yahoo.com> --- Lord ZealoN escribió: > Rafa wrote: > > > Hola lista, me presento a esta comunidad y para empezar os > comento lo siguiente: > > > > Hace muy poco ke conozco este lenguaje pero lo ke he visto y > leido es suficiente como para ke me decante por su uso, ahora > bien, a parte de www.python.org y los enlaces ke allí se ven > poco más he podido leer. Me resultaría enormemente útil > vuestra ayuda en el tema de documentación, manuales, etc. > > Por otro lado, soy novato en esto de la programación y > kisiera saber la opinion de expertos como los ke aki hay sobre > si este es el lenguaje adecuado para empezar, a mi me parece > ke si, pero siempre lo sabreis mejor vosotros. > > > > Muchas gracias a todos y encantado de pertenecer a esta > lista. con python se puede hacer todo... y en internet hay montones de proyectos. maram ___________________________________________________________ 100mb gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar From lordzealon en ono.com Fri Sep 3 00:35:43 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Fri, 03 Sep 2004 00:35:43 +0200 Subject: Interfaz Visual In-Reply-To: <41375E70.80102@spymac.com> References: <1093548449.10568.1.camel@localhost.localdomain> <200408271130.12280.py@ch3m4.org> <415837BC.2000103@ono.com> <41375E70.80102@spymac.com> Message-ID: <4137A03F.4090506@ono.com> Mario Lacunza wrote: > Para los q usan este entorno, es posible generar de forma visual > formularios, controles, etc ??? > > En todo casoi cual es la mejor herramienta para generar de esta forma > nuevos programas?? Mi pregunta esta orientada a q yo vengo de programar > en Visual Basic, donde la operaciones de diseño de formularios se hacen > de forma dinamica y no encuentro nada similar en Python. > > Si alguien me tira una ayuda se lo agradeceria.... > > Saludos / Best regards > > Mario Lacunza > Email: mlacunza en spymac.com > Lima - Peru > > > > Lord ZealoN wrote: > >> Chema Cortés wrote: >> >>> On Thursday 26 August 2004 21:27, Juan Fernando Estrada Henao wrote: >>> >>>> si trabajas en linux el mejor definitivamente es eric3 >>>> en win32 aun no consigo hacerlo funcionar. >>>> >>>> http://www.die-offenbachs.de/detlev/eric3.html >>> >>> >>> >>> >>> Para win32, a parte de que funcione o no, necesitarás la versión >>> comercial de la librería Qt y PyQt, a no ser que te hayas comprado el >>> libro de programación de Qt que lleva una versión GPL de las Qt para >>> windows. >>> >>> 'eric3' está muy bien. El 'emacs' es mucho emacs. Pero si hay que >>> hablar de un IDE definitivo ese es el 'eclipse': >>> >>> http://www-106.ibm.com/developerworks/opensource/library/os-ecant/ >> >> >> >> No sabía que se podía usar eclipse como IDE para python. >> Pues no se hable más :P Mirate Glade, WxGlade, Gazpacho, y sobre todo Boa-Constructos (aunque me dejo muchos en el tintero) -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From py en ch3m4.org Fri Sep 3 09:42:45 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 03 Sep 2004 09:42:45 +0200 Subject: arrancar un nuevo proceso In-Reply-To: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> References: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> Message-ID: <200409030942.48475.py@ch3m4.org> On Thursday 02 September 2004 17:30, zako wrote: > aupa, > > ando haciendo una aplicacion que en determinados momentos debe arracar > un servidor web (SimpleHTTPServer) pero me gustaria que se arrancase en > segundo plano y que la aplicacion podría seguir su curso. > > Tengo ciertos conocimientos de programacion en entornos Unix y lo > primero que he pensado es en un fork del módulo os de python. Me > gustaria saber si hay alguna otra opcion de mas alto nivel, ya que andar > con forks en python no me parece muy elegante. Sin mas gracias y saludos, No veo porqué va a ser poco elegante usar forks. La única pega es que no podrás usar esa aplicación en windows y que que no aprovecha las características multiprocesador que tengas (bloqueo GIL del intérprete). Pero por lo demás, si el servidor web y la aplicación son bastante independientes, usar forks puede ser muy conveniente. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From christian.perez en entelchile.net Fri Sep 3 15:35:13 2004 From: christian.perez en entelchile.net (=?iso-8859-15?Q?Christian_P=E9rez_Sontag?=) Date: Fri, 03 Sep 2004 09:35:13 -0400 Subject: Python y Bea Tuxedo Message-ID: Hola a todos. Estoy preparando mi memoria, en la cual tengo que hacer una aplicación que me permita administrar Tuxedo. Existe algún ejemplo de esto? La idea es desarrollar una aplicación en Python que me permita realizar la administración que se realiza con Bea Tuxedo. Alguna idea? -- Christian Pérez ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From eualfonso en yahoo.es Fri Sep 3 14:21:52 2004 From: eualfonso en yahoo.es (=?iso-8859-1?q?Alfonso=20Rodr=FFffffedguez?=) Date: Fri, 3 Sep 2004 14:21:52 +0200 (CEST) Subject: IDE para python Message-ID: <20040903122152.35867.qmail@web86910.mail.ukl.yahoo.com> Para los que todavía no lo conocéis, hay un ide para python llamado boa constructor, el proyecto se encuentra en sourceforge, permite diseñar ventanas y demás con wxPython... Salu2 --------------------------------- From ricardo en sinectis.com.ar Thu Sep 2 15:02:05 2004 From: ricardo en sinectis.com.ar (Ricardo - Eureka!) Date: Thu, 2 Sep 2004 10:02:05 -0300 Subject: [SemiOT] Gentoo y python In-Reply-To: <4136FBD6.5000507@ono.com> References: <200409021254.11384.py@ch3m4.org> <4136FBD6.5000507@ono.com> Message-ID: <20040902130205.GC30656@eureka-linux.com.ar> On Thu, Sep 02, 2004 at 12:54:14PM +0200, Lord ZealoN wrote: > > Pues la verdad, todavía no. Lo tengo en mi lista "TO DO". > > De momento tengo Debian SID (sin sonido, sin impresora etc grrrrrr) > > Además, ahora con mi ipaq 4150 estoy atado a Windows, y más todavía a MS > con MS Office etc... > > Se que existen linux para PocketPc etc.. pero no para la mía. Hola! Aprovecho para presentarme :) Soy Ricardo (Eureka!), de Córdoba, Argentina, linuxero de hace años (debianita para mas datos) pero muy pero muy novato en Python. Aprovecho el hilo para meterme, y decir por un lado que con ningun Debian he tenido nunca problemas de dependencias ni con Python ni con otra cosa...ademas de invitar a Lord ZealoN a participar de la lista debian-user-spanish para poder ayudarlo a migrar 100% o, si prefieres, mandame un correo para poder ayudarte a dar es gran paso y configurar todo en tu PC. Un gran saludo! -- Ricardo A.Frydman Analista de Sistemas de Computación http://www.eureka-linux.com.ar (POR FAVOR! NO envie documentos en formato Word http://breu.bulma.net/?l3192 Gracias!!!) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 232 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From packo_assamita en supercable.es Sat Sep 4 19:22:39 2004 From: packo_assamita en supercable.es (Packo) Date: Sat, 4 Sep 2004 19:22:39 +0200 Subject: codificar programa Message-ID: <200409041922.39620.packo_assamita@supercable.es> Para poder hacer un programa y que luego no se puedan acceder a los literales y las llamadas al sistema a través de un simple editor hexadecimal, ¿hay alguna manera?, estoy seguro que sí. Tb acepto soluciones alternativas como que los literales se tomen de un archivo encriptado, en tal caso ¿como se haría? Gracias -- |-------------------------------------| Paco Moreno - Assamita http://www.campanilla.net/kotejante |-------------------------------------| From ch3m4 en ch3m4.org Mon Sep 6 02:15:33 2004 From: ch3m4 en ch3m4.org (ch3m4 en ch3m4.org) Date: Sun, 5 Sep 2004 20:15:33 -0400 Subject: codificar programa In-Reply-To: <200409041922.39620.packo_assamita@supercable.es> References: <200409041922.39620.packo_assamita@supercable.es> Message-ID: <1094429733.413bac25c350c@ch3m4.org> Mensaje citado por Packo : > Para poder hacer un programa y que luego no se puedan acceder a los literales > y las llamadas al sistema a través de un simple editor hexadecimal, ¿hay > alguna manera?, estoy seguro que sí. Tb acepto soluciones alternativas como > que los literales se tomen de un archivo encriptado, en tal caso ¿como se > haría? Si entiendo bien, no quieres que se "vean" las cadenas de caracteres; pero no aclaras cómo has pensado distribuir la aplicación, si con los fuentes o como binarios de algún tipo. De cualquier modo mira en el módulo "encoding" los diferentes tipos de codificar cadenas de caracteres. No hace falta que importes el módulo; el tipo 'str' tiene los métodos 'encode' y 'decode' para codificar/decodificar: >>> print 'Abobql rkcrpgf gur Fcnavfu Vadhvfvgvba!'.decode("rot13") >>> print '4e6f626f6479206578706563747320746865205370616e69736'\ '820496e717569736974696f6e21'.decode("hex") >>> print \ """x=9C=F3=CBW(=C8L-JI,V=C8=3D=BC=B0X!5G=A1$35=B7=20_!9?O!'=1F(=92=05=E4=82=18= =D6=BA=9A=00=99=B3=10=C7 """.decode("quopri").decode("zip") Si quieres algo más serio, mirarte el módulo "crypt". From e18278 en mail.uajms.edu.bo Mon Sep 6 02:22:55 2004 From: e18278 en mail.uajms.edu.bo (Kamus) Date: Sun, 5 Sep 2004 20:22:55 -0400 (BOT) Subject: Instalacion de Slideshow (presentaciones con Python) Message-ID: <48312.200.87.30.11.1094430175.squirrel@webmail.uajms.edu.bo> Hola. Quise probar la excelente libreria llamada slideshow Slideshow: http://www.alobbs.com/modules.php?op=modload&name=slideshow&file=index Es una libreria escrita en Python para utilizar funciones de SDL, que permite escribir presentaciones impresionantes. Trate de instalarlo en Fedora Core 2, Knoppix 3.6 (Debian Sid) y en Mandrake 10.0 (Oficial); pero nada en ninguna de ellas me funciono. En Fedora se me salia un error al momento de hacer el # make En Debian(Knoppix) me pedia una libreria SDL-ttf1.xx pero yo tenia SDL_ttf2.xx Probe instalar el .deb; pero nada me sale el mismo error. Ahora en Mandrake 10 cuando hago ./configure me sale el siguiente error: libSDL_image dont found pero ya revise y si tengo la libreria se llama: libSDL_image-1.2.so.0.1.2 hice un link simbolico; pero nada :( A ver si alguno de la lista logra instalarlo. Y explica como lo hizo. Muchas gracias de antemano. From e18278 en mail.uajms.edu.bo Mon Sep 6 02:26:24 2004 From: e18278 en mail.uajms.edu.bo (Kamus) Date: Sun, 5 Sep 2004 20:26:24 -0400 (BOT) Subject: Numeric en Mandrake 10 Message-ID: <58239.200.87.30.11.1094430384.squirrel@webmail.uajms.edu.bo> Hola. Necesito trabajar con las librerias Numeric asi que me baje las versiones para Window$ y Linux. En Window$ no tuve ningun problema con la instalacion. Pero en Linux :( me sale el siguiente error al ejecutar el instalador: error: invalid Python installation: unable to open /usr/lib/python2.3/config/Makefile (No such file or directory) Ya instale todas las dependencias que me dice en la documentacion; pero nada. Muchas gracias de antemano. From py en ch3m4.org Mon Sep 6 09:08:45 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 06 Sep 2004 09:08:45 +0200 Subject: Numeric en Mandrake 10 In-Reply-To: <58239.200.87.30.11.1094430384.squirrel@webmail.uajms.edu.bo> References: <58239.200.87.30.11.1094430384.squirrel@webmail.uajms.edu.bo> Message-ID: <200409060908.49355.py@ch3m4.org> On Monday 06 September 2004 02:26, Kamus wrote: > Hola. > > Necesito trabajar con las librerias Numeric asi que me baje > las versiones para Window$ y Linux. > > En Window$ no tuve ningun problema con la instalacion. > > Pero en Linux :( me sale el siguiente error al ejecutar el > instalador: > > error: invalid Python installation: unable to open > /usr/lib/python2.3/config/Makefile (No such file or directory) > > > Ya instale todas las dependencias que me dice en la > documentacion; pero nada. En el error te está señalando un fichero que pertenece al "distutils". Este paquete, en algunas distribuciones de linux, suele ir en un paquete a parte del python que hay que añadir explícitamente: 'python-devel' en RedHat, Mandrake y SuSE, y 'python-dev' en Debian. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs0a en yahoo.es Mon Sep 6 10:53:00 2004 From: lgs0a en yahoo.es (=?iso-8859-1?q?Lucas=20Gonzalez?=) Date: Mon, 6 Sep 2004 10:53:00 +0200 (CEST) Subject: Instalacion de Slideshow (presentaciones con Python) In-Reply-To: <48312.200.87.30.11.1094430175.squirrel@webmail.uajms.edu.bo> References: <48312.200.87.30.11.1094430175.squirrel@webmail.uajms.edu.bo> Message-ID: <20040906085300.41190.qmail@web52008.mail.yahoo.com> > Quise probar la excelente libreria llamada slideshow > Slideshow: > http://www.alobbs.com/modules.php?op=modload&name=slideshow&file=index Menos impresionante, pero útil según algunos, es - usar el http://www.vimoutliner.org para escribir el texto de las presentaciones (con esquema jerárquico con 3 niveles: título de la presentación, título de cada "diapositiva", y líneas de la diapositiva), - y luego usar http://www.vimoutliner.org/files/vo2html.py.gz para convertir eso en páginas web. Hay otros scripts en http://www.vimoutliner.org Ando leyendo el vo2html con atención para ver si logro hacer algo útil: - ver, de un "esquema", sólo 2 generaciones: un nodo y sus hijos, o uno de los hijos y los nietos correspondientes, etc. - Esto permite la "navegación centrada" del esquema, para ver que todo encaje en cada nivel. - Se podría navegar con las 4 flechas, y Q para "quitarse de en medio" (salir). ¿Útil para teléfonos móviles/celulares? También hay algún script (creo que en Perl, lo siento) para crear presentaciones OpenOffice a partir de "esquemas" de texto. Lucas ______________________________________________ Renovamos el Correo Yahoo!: ¡100 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From ezako en yahoo.es Mon Sep 6 22:01:14 2004 From: ezako en yahoo.es (zako) Date: Mon, 6 Sep 2004 22:01:14 +0200 Subject: arrancar un nuevo proceso In-Reply-To: <200409030942.48475.py@ch3m4.org> References: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> <200409030942.48475.py@ch3m4.org> Message-ID: <20040906200114.GA1216@birgadista.rebelbase.dyns.cx> On Fri, Sep 03, 2004 at 09:42:45AM +0200, Chema Cortés wrote: > No veo porqué va a ser poco elegante usar forks. La única pega es que no > podrás usar esa aplicación en windows y que que no aprovecha las > características multiprocesador que tengas (bloqueo GIL del intérprete). Pero > por lo demás, si el servidor web y la aplicación son bastante independientes, > usar forks puede ser muy conveniente. Lo decia porque utilizar porque utilizar llamadas al sistema en un lenguaje interpretado no es lo más ortodoxo normalmente se realizan con lenguajes compilados de bajo nivel como C. Pero es una solución que tendré en cuenta. Gracias, zako From attor.sahe en gmail.com Tue Sep 7 09:23:49 2004 From: attor.sahe en gmail.com (attor sahe) Date: Tue, 7 Sep 2004 02:23:49 -0500 Subject: sobre vpython Message-ID: <78d8ee6040907002356d7254@mail.gmail.com> hola a todos, otra vez molestandolos. les quiero consultar sobre la instalacion de vpython, recien estoy pasando mi area de trabajo a linux, estoy utlilizando Debian Sarge, he descargado los archivos y he seguido las instruciones del sitio http://www.vpython.org/linux_download.html y no he podido lograrlo(dejenme aclarar que soy relativamente nuevo en linux), me he detenido despues de ejecutrar el ./configure y al tratra de ejecutar make me dice que el comando no existe, hay alguna libreria que este omitiendo o debo de instalarlo de otra forma. he descargado gtk y gcc, no se que otras librerias mas necesite o en que estoy equivocado... si alguien lo ha instalado con exito le agradeceria su guia para lograrlo o sabe de otro metodo seria bueno checarlo. De antemano Gracias por su Guia :-) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Tue Sep 7 10:45:32 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Tue, 7 Sep 2004 10:45:32 +0200 (CEST) Subject: arrancar un nuevo proceso In-Reply-To: <20040906200114.GA1216@birgadista.rebelbase.dyns.cx> References: <20040902153054.GA2430@birgadista.rebelbase.dyns.cx> <200409030942.48475.py@ch3m4.org> <20040906200114.GA1216@birgadista.rebelbase.dyns.cx> Message-ID: On Mon, 6 Sep 2004, zako wrote: > On Fri, Sep 03, 2004 at 09:42:45AM +0200, Chema Cortés wrote: > > No veo porqué va a ser poco elegante usar forks. La única pega es que no > > podrás usar esa aplicación en windows y que que no aprovecha las > > características multiprocesador que tengas (bloqueo GIL del intérprete). Pero > > por lo demás, si el servidor web y la aplicación son bastante independientes, > > usar forks puede ser muy conveniente. > > Lo decia porque utilizar porque utilizar llamadas al sistema en un > lenguaje interpretado no es lo más ortodoxo normalmente se realizan con > lenguajes compilados de bajo nivel como C. Pero es una solución que > tendré en cuenta. Gracias, No veas a Python como un simple lenguaje de script. En mi opinión es mucho más eficiente usar llamadas al sistema que usar comandos externos. Lo mejor es poder usar lo que más interese. La shell se apolla mucho en el uso de programas externos pero es una filosofía distinta y cuando no queda más remedio tambien usa directamente llamadas al sistema mediante los llamados comandos internos. (Por ej: cd) Los sistemas tipo unix están escritos en C y las llamadas al sistema están implementadas en C. Su uso desde C es algo favorecido por años de tradición pero las llamadas al sistema ofrecen servicios absolutamente básicos y cualquier programa necesitará usarlas y no hay nada que aconseje el no hacerlo directamente con independencia del lenguaje empleado. La facilidad que tiene python para ser usado como lenguaje de scripts o como lenguaje de proposito general me encanta. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From ripolles en aditel.org Tue Sep 7 12:58:49 2004 From: ripolles en aditel.org (Daniel Ripolles) Date: Tue, 07 Sep 2004 12:58:49 +0200 Subject: sobre vpython In-Reply-To: <78d8ee6040907002356d7254@mail.gmail.com> References: <78d8ee6040907002356d7254@mail.gmail.com> Message-ID: <1094554729.967.2.camel@turing> El mar, 07-09-2004 a las 09:23, attor sahe escribió: > hola a todos, otra vez molestandolos. les quiero consultar sobre la > instalacion de vpython, recien estoy pasando mi area de trabajo a > linux, estoy utlilizando Debian Sarge, he descargado los archivos y > he seguido las instruciones del sitio > http://www.vpython.org/linux_download.html y no he podido > lograrlo(dejenme aclarar que soy relativamente nuevo en linux), me he > detenido despues de ejecutrar el ./configure y al tratra de ejecutar > make me dice que el comando no existe, hay alguna libreria que este > omitiendo o debo de instalarlo de otra forma. he descargado gtk y gcc, > no se que otras librerias mas necesite o en que estoy equivocado... Pues así por las buenas parece que lo que no tienes es la utilidad make; ya sabes, apt-get install make :P No te olvides de instalar también las dependencias que indican en la página: apt-get install gtkglarea5-dev (all other dependencies will be brought in) apt-get install python2.3-dev apt-get install python2.3-numeric Y suerte :) > si alguien lo ha instalado con exito le agradeceria su guia para > lograrlo o sabe de otro metodo seria bueno checarlo. > > De antemano Gracias por su Guia :-) > > ______________________________________________________________________ -- Daniel Ripolles ( Eru ) /* No comment */ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From packo_assamita en supercable.es Tue Sep 7 13:56:53 2004 From: packo_assamita en supercable.es (Packo) Date: Tue, 7 Sep 2004 13:56:53 +0200 Subject: Iterar en diccionario Message-ID: <200409071356.53456.packo_assamita@supercable.es> Hola estoy tartando con un diccionario con muchas llaves y no encuentro la manera de iterar sobre él en el orden en que creé el diccionario, me sale uno aleatorio, ¿hay alguna manera de hacerlo? Gracias -- |-------------------------------------| Paco Moreno - Assamita http://www.assamita.net Perdonar por las molestias de cambio de web, ya es estable. Jabber: packo en bulmalug.net |-------------------------------------| From packo_assamita en supercable.es Tue Sep 7 14:04:08 2004 From: packo_assamita en supercable.es (Packo) Date: Tue, 7 Sep 2004 14:04:08 +0200 Subject: codificar programa In-Reply-To: <1094429733.413bac25c350c@ch3m4.org> References: <200409041922.39620.packo_assamita@supercable.es> <1094429733.413bac25c350c@ch3m4.org> Message-ID: <200409071404.08121.packo_assamita@supercable.es> Gracias, con lo que me has dicho me vale. -- |-------------------------------------| Paco Moreno - Assamita http://www.assamita.net Perdonar por las molestias de cambio de web, ya es estable. Jabber: packo en bulmalug.net |-------------------------------------| From zoso en demiurgo.org Tue Sep 7 14:01:05 2004 From: zoso en demiurgo.org (Esteban Manchado =?iso-8859-1?Q?Vel=E1zquez?=) Date: Tue, 7 Sep 2004 13:01:05 +0100 Subject: Iterar en diccionario In-Reply-To: <200409071356.53456.packo_assamita@supercable.es> References: <200409071356.53456.packo_assamita@supercable.es> Message-ID: <20040907120105.GD1063@demiurgo.org> On Tue, Sep 07, 2004 at 01:56:53PM +0200, Packo wrote: > Hola estoy tartando con un diccionario con muchas llaves y no encuentro la > manera de iterar sobre él en el orden en que creé el diccionario, me sale uno > aleatorio, ¿hay alguna manera de hacerlo? Los diccionarios y los asociativos _no_ tienen orden. En PHP lo mantienen, porque son una mezcla entre lista y diccionario, pero prácticamente en todos los demás lenguajes no es así. Tendrás que crear una lista de listas o algo parecido. Quizás haya alguien que se haya inventado un objeto que se comporte como un diccionario (con claves y tal), pero que mantenga el orden. Saludos, -- Esteban Manchado Velázquez EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es Help spread it through the Net in signatures, webpages, whatever! ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From carolina en sindominio.net Tue Sep 7 14:03:59 2004 From: carolina en sindominio.net (carolina en sindominio.net) Date: Tue, 7 Sep 2004 14:03:59 +0200 (CEST) Subject: Redlan y python Message-ID: <1593.213.172.56.215.1094558639.squirrel@sindominio.net> Buenas Quería preguntar por aqui si alguien ha utilizado Redlan con python para el manejo de archivos rdf...todavia ni siquiera se muy bien como funciona Redlan, pero la cosa es que tengo que manejar info en rdf asi que habrá que ponerse las pilas :-) y es lo que me han recomendado ... y bueno tampoco tengo mucha idea de python pero como tengo ganas de tener una excusa para entrarle a saco pues igual es el momento como veis...todo muy verde :-D ... asi que cualquier cosa que me podais comentar para aclarar ideas, seran bienvenidas gracias por todo saludos C From pachi en mmn-arquitectos.com Tue Sep 7 14:14:28 2004 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Tue, 07 Sep 2004 14:14:28 +0200 Subject: Iterar en diccionario In-Reply-To: <200409071356.53456.packo_assamita@supercable.es> References: <200409071356.53456.packo_assamita@supercable.es> Message-ID: <413DA624.5000009@mmn-arquitectos.com> Packo wrote: >Hola estoy tartando con un diccionario con muchas llaves y no encuentro la >manera de iterar sobre él en el orden en que creé el diccionario, me sale uno >aleatorio, ¿hay alguna manera de hacerlo? >Gracias > > Los diccionarios no aseguran el orden, al contrario que las listas. Pero en el diccionario puedes tener una clave 'orden' que contenga una lista con las claves en el orden que deseas seguir, y usas los elementos de esa lista como índices a la hora de iterar. -- Pachi From packo_assamita en supercable.es Tue Sep 7 14:20:19 2004 From: packo_assamita en supercable.es (Packo) Date: Tue, 7 Sep 2004 14:20:19 +0200 Subject: codificar programa In-Reply-To: <1094429733.413bac25c350c@ch3m4.org> References: <200409041922.39620.packo_assamita@supercable.es> <1094429733.413bac25c350c@ch3m4.org> Message-ID: <200409071420.19058.packo_assamita@supercable.es> Una pregunta, lo que has puesto de 'des' y tal y buscando en internet otra gente mete otras codificaciones y eso, el problema es que a mí nome admite 'keywords' no se por qué: 'jsndkanjdkjan'.encode('zlib',level=9) Traceback (most recent call last): File "", line 1, in -toplevel- 'jsndkanjdkjan'.encode('zlib',level=9) TypeError: encode() takes no keyword arguments y lo mismo con tu ejemplo ( ) -- |-------------------------------------| Paco Moreno - Assamita http://www.assamita.net Perdonar por las molestias de cambio de web, ya es estable. Jabber: packo en bulmalug.net |-------------------------------------| From packo_assamita en supercable.es Tue Sep 7 14:23:05 2004 From: packo_assamita en supercable.es (Packo) Date: Tue, 7 Sep 2004 14:23:05 +0200 Subject: Iterar en diccionario In-Reply-To: <200409071356.53456.packo_assamita@supercable.es> References: <200409071356.53456.packo_assamita@supercable.es> Message-ID: <200409071423.05804.packo_assamita@supercable.es> Gracias a los dos, duda resuelta, sabía que los diccionarios no tienen orden pero pensaba que habría alguna manera nativa de la clase para emularlo, en fin muchas gracias, lo que habeis dicho me vale, voy a probar primero la clave ordeny si no pues me decido a por una lista de listas. -- |-------------------------------------| Paco Moreno - Assamita http://www.assamita.net Perdonar por las molestias de cambio de web, ya es estable. Jabber: packo en bulmalug.net |-------------------------------------| From py en ch3m4.org Tue Sep 7 15:41:48 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 07 Sep 2004 15:41:48 +0200 Subject: codificar programa In-Reply-To: <200409071420.19058.packo_assamita@supercable.es> References: <200409041922.39620.packo_assamita@supercable.es> <1094429733.413bac25c350c@ch3m4.org> <200409071420.19058.packo_assamita@supercable.es> Message-ID: <200409071541.52723.py@ch3m4.org> On Tuesday 07 September 2004 14:20, Packo wrote: > Una pregunta, lo que has puesto de 'des' y tal y buscando en internet otra > gente mete otras codificaciones y eso, el problema es que a mí nome admite > 'keywords' no se por qué: > 'jsndkanjdkjan'.encode('zlib',level=9) > > Traceback (most recent call last): >   File "", line 1, in -toplevel- >     'jsndkanjdkjan'.encode('zlib',level=9) > TypeError: encode() takes no keyword arguments > > y lo mismo con tu ejemplo ( ) Porque .encode() no tiene (todavía) ningún argumento "level". Eso lo habrás leido en la lista "python-dev", donde se habla de futuras modificaciones del python. El error, concretamente, te dice que .encode() no tiene argumentos por "nombre", sólo "posicionales". ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lardissone en gmail.com Tue Sep 7 16:07:55 2004 From: lardissone en gmail.com (Leandro Ardissone) Date: Tue, 7 Sep 2004 11:07:55 -0300 Subject: IDE para python In-Reply-To: <20040903122152.35867.qmail@web86910.mail.ukl.yahoo.com> References: <20040903122152.35867.qmail@web86910.mail.ukl.yahoo.com> Message-ID: <3ac34755040907070740438899@mail.gmail.com> La verdad que no estuve investigandolo mucho, pero en Windows intenté correrlo y me tiró error, no recuerdo en este momento cual fue, pero no logré hacerlo andar. Saludos.. On Fri, 3 Sep 2004 14:21:52 +0200 (CEST), Alfonso Rodrÿffffedguez wrote: > Para los que todavía no lo conocéis, hay un ide para python llamado boa constructor, el proyecto se encuentra en sourceforge, permite diseñar ventanas y demás con wxPython... > Salu2 > > --------------------------------- > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- Leandro Ardissone Web Developer http://www.dr-leech.com.ar/ From alexis.roda en urv.es Tue Sep 7 16:37:09 2004 From: alexis.roda en urv.es (Alexis Roda) Date: Tue, 07 Sep 2004 16:37:09 +0200 Subject: Iterar en diccionario In-Reply-To: <200409071423.05804.packo_assamita@supercable.es> References: <200409071356.53456.packo_assamita@supercable.es> <200409071423.05804.packo_assamita@supercable.es> Message-ID: <413DC795.4000601@urv.es> Packo wrote: > Gracias a los dos, duda resuelta, sabía que los diccionarios no tienen orden > pero pensaba que habría alguna manera nativa de la clase para emularlo, en > fin muchas gracias, lo que habeis dicho me vale, voy a probar primero la > clave ordeny si no pues me decido a por una lista de listas. > Prueba con algo asi: class midict : def __init__(self) : self._dict = {} self._list = [] def __getitem__(self, k) : return self._dict[k] def __setitem__(self, k, v) : self._dict[k] = v if not k in self._list : self._list.append(k) def __delitem__(self, k): del self._dict[k] self._list.remove(k) def keys(self) : # keys normal return self._dict.keys() def keys2(self) : # keys con memoria return self._list Los objectos midict emulan parcialmente diccionarios y recuerdan el orden de las claves. En este ejemplo, si insertas dos veces un valor con la misma clave recuerda el primero. Saludos -- //// (@ @) ----------------------------oOO----(_)----OOo-------------------------- <> Ojo por ojo y el mundo acabara ciego /\ Alexis Roda - Universitat Rovira i Virgili - Reus, Tarragona (Spain) ----------------------------------------------------------------------- From alxgnar en esdebian.org Tue Sep 7 18:37:36 2004 From: alxgnar en esdebian.org (alexander rodriguez) Date: Tue, 7 Sep 2004 09:37:36 -0700 (PDT) Subject: saludos Message-ID: <20040907163736.084B5394B@sitemail.everyone.net> necesito saber si hay algun tutorial en español para py2exe, o si alguien me puede explicar como fuciona gracias. alx _____________________________________________________________ Create tu cuenta de email en www.esdebian.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pedro.carrasco en iver.es Tue Sep 7 18:58:05 2004 From: pedro.carrasco en iver.es (Pedro A. Carrasco Ponce) Date: Tue, 07 Sep 2004 18:58:05 +0200 Subject: saludos In-Reply-To: <20040907163736.084B5394B@sitemail.everyone.net> References: <20040907163736.084B5394B@sitemail.everyone.net> Message-ID: <413DE89D.7030103@iver.es> alexander rodriguez escribió: > necesito saber si hay algun tutorial en español para py2exe, o si alguien me puede explicar como fuciona gracias. Hay documentación en la web, yo lo que hago es crearme un archivo llamado setup.py, por ejemplo: -------------- from distutils.core import setup import py2exe setup( windows=[ { "script":"ExtTGPS.py", "icon_resources":[(1,"icono.ico")] } ], options={ "py2exe": {"packages": ["encodings"]} } ) -------------- En este archivo le digo que el script principal es ExtTGPS.py y que tiene como icono "icono.ico". Otra cosa es que añado todos los encondings para que no me falle al utilizar carácteres con acentos y ñ's. Luego ejecuto: python.exe setup.py (build|install) y listo. De todos modos en http://starship.python.net/crew/theller/py2exe/ tienes documentación para poder empezar. Un saludo. -- Pedro From hermipp en gmail.com Tue Sep 7 20:54:31 2004 From: hermipp en gmail.com (Herminia Pastor Pina) Date: Tue, 7 Sep 2004 20:54:31 +0200 Subject: IDE para python In-Reply-To: <3ac34755040907070740438899@mail.gmail.com> References: <20040903122152.35867.qmail@web86910.mail.ukl.yahoo.com> <3ac34755040907070740438899@mail.gmail.com> Message-ID: <16dc9e20409071154569e5f5@mail.gmail.com> La Universidad de Castellón ha programado PythonG. Eso sí en todas las distribuciones Debian o basadas en Debian (por ejemplo Knoppix) se me queda colgado y la verdad es que no sé por qué. http://www3.uji.es/~dllorens/PythonG/ En Windows va bien On Tue, 7 Sep 2004 11:07:55 -0300, Leandro Ardissone wrote: > La verdad que no estuve investigandolo mucho, pero en Windows intenté > correrlo y me tiró error, no recuerdo en este momento cual fue, pero > no logré hacerlo andar. > > Saludos.. > > On Fri, 3 Sep 2004 14:21:52 +0200 (CEST), Alfonso Rodrÿffffedguez > wrote: > > Para los que todavía no lo conocéis, hay un ide para python llamado boa constructor, el proyecto se encuentra en sourceforge, permite diseñar ventanas y demás con wxPython... > > Salu2 > > > > --------------------------------- > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > -- > Leandro Ardissone > Web Developer > http://www.dr-leech.com.ar/ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From dtrillo en gmail.com Wed Sep 8 14:54:20 2004 From: dtrillo en gmail.com (david trillo) Date: Wed, 8 Sep 2004 14:54:20 +0200 Subject: Programar Python con Bases de datos Message-ID: <86b8f6b9040908055436b4e1cd@mail.gmail.com> Queria saber si alguien tiene un manual para programar a 2-3 capas aplicaciones en Python con bases de datos. Yo soy programador de VB6 y suelo programar con objetos, pero no se como debo de hacerlo en Python, ya que creo que deberia de ser mas o menos lo mismo. Asi mismo, si alguien me puede proporcionar algun ejemplo sencillo de como trabajar con una aplicacion de bases de datos, se lo agradeceria. Un saludo. david ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Wed Sep 8 16:12:58 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 08 Sep 2004 16:12:58 +0200 Subject: Programar Python con Bases de datos In-Reply-To: <86b8f6b9040908055436b4e1cd@mail.gmail.com> References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> Message-ID: <413F136A.3060803@sicem.biz> Hola, si quieres trabajar con sentencias SQL, la interfaz estándar es DB-API 2.0, la especificación está en http://www.python.org/peps/pep-0249.html . Podrás ejecutar sentencias SQL y cursores. Es la manera más estándar. Para trabajar con objetos, puedes usar capas objeto-relacional, que hay unas cuantas (aquí tienes 2: www.sqlobject.org, modeling.sourceforget.net ) El día que haya un back-end relacional para ZODB (base de objetos, usado en Zope) supongo que se realizará una especificación para objetos persistentes, pero mientras tanto.... Erny david trillo escribió: >Queria saber si alguien tiene un manual para programar a 2-3 capas >aplicaciones en Python con bases de datos. >Yo soy programador de VB6 y suelo programar con objetos, pero no se >como debo de hacerlo en Python, ya que creo que deberia de ser mas o >menos lo mismo. Asi mismo, si alguien me puede proporcionar algun >ejemplo sencillo de como trabajar con una aplicacion de bases de >datos, se lo agradeceria. > >Un saludo. > david > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0437-0, 07/09/2004 Comprobado en: 08/09/2004 16:13:03 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From morillas en posta.unizar.es Wed Sep 8 16:18:48 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Wed, 8 Sep 2004 16:18:48 +0200 Subject: Programar Python con Bases de datos In-Reply-To: <86b8f6b9040908055436b4e1cd@mail.gmail.com> References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> Message-ID: <20040908141848.GA1109@marmota> Asunto: [Python-es] Programar Python con Bases de datos Fecha: mié, sep 08, 2004 at 02:54:20 +0200 Citando a david trillo (dtrillo en gmail.com): > Queria saber si alguien tiene un manual para programar a 2-3 capas > aplicaciones en Python con bases de datos. > Yo soy programador de VB6 y suelo programar con objetos, pero no se > como debo de hacerlo en Python, ya que creo que deberia de ser mas o > menos lo mismo. Asi mismo, si alguien me puede proporcionar algun > ejemplo sencillo de como trabajar con una aplicacion de bases de > datos, se lo agradeceria. > Como te dice erni, mira la api de bases de datos de python. Yo dejé una presentación aquí por si te sirve. http://platea.cnice.mecd.es/~jmorilla/presentaciones/dbapi/frames.html Un saludo, -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From AJDENSTONE en BKB.com.br Wed Sep 8 16:29:30 2004 From: AJDENSTONE en BKB.com.br (AJDENSTONE en BKB.com.br) Date: Wed, 8 Sep 2004 11:29:30 -0300 Subject: RES: Programar Python con Bases de datos Message-ID: Y ya conocen el APE - Adaptable Persistence Engine(http://hathawaymix.org/Software/Ape)? Saludos, Alexandre Jara Denstone * ajdenstone en bkb.com.br -----Mensagem original----- De: Ernesto Revilla [mailto:erny en sicem.biz] Enviada em: quarta-feira, 8 de setembro de 2004 11:13 Para: La lista de python en castellano Assunto: Re: [Python-es] Programar Python con Bases de datos (...) El día que haya un back-end relacional para ZODB (base de objetos, usado en Zope) supongo que se realizará una especificación para objetos persistentes, pero mientras tanto.... Esta mensagem, incluindo seus anexos, pode conter informação confidencial e/ou privilegiada. Se você recebeu este e-mail por engano, não utilize, copie ou divulgue as informações nele contidas. E, por favor, avise imediatamente o remetente, respondendo ao e-mail, e em seguida apague-o. Este e-mail possui conteúdo informativo e não transacional. Caso necessite de atendimento imediato, recomendamos utilizar um dos canais disponíveis: Internet Banking , BankBoston por telefone ou agência/representante de atendimento de sua conveniência. Agradecemos sua colaboração. This message, including its attachments, may contain confidential and/or privileged information. If you received this email by mistake, do not use, copy or disseminate any information herein contained. Please notify us immediately by replying to the sender and then delete it. This email is for information purposes only, not for transactions. In case you need immediate assistance, please use one of the following channels: Internet Banking , BankBoston by phone or branch/relationship manager at your convenience. Thank you for your cooperation. From python en ammsoft.com Wed Sep 8 18:52:18 2004 From: python en ammsoft.com (=?iso-8859-1?Q?Toni_Mart=EDnez?=) Date: Wed, 8 Sep 2004 18:52:18 +0200 Subject: Programar Python con Bases de datos In-Reply-To: <86b8f6b9040908055436b4e1cd@mail.gmail.com> References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> Message-ID: <000c01c495c4$340ccfc0$020010ac@Host> En http://starship.python.net/crew/mhammond/ppw32 Puedes bajarte los ejemplos del libro "Python Programming on Win32" En el capítulo 13 encontraras información de como trabajar con ADO, DAO y ODBC que son las que seguramente has estado utilizando con VB. Las pruebas que he realizado con ADO han sido muy interesantes. Por otro lado también está adodbapi http://adodbapi.sourceforge.net Pero no consigo que funcione correctamente. Si deseas huir de MS las variantes son muchísimas por lo que también coincido en que lo mejor es usar la interfaz estándar DB-API 2.0 Llevo días mirando el proyecto http://pdo.neurokode.com que pretende agilizar el uso de las diferentes bases de datos mediante la DB-API, el problema es que para bases de datos ACCESS usa adodbapi y ésta funciona mal. El tema de programar a 2-3 capas sólo lo veo factible con ZOPE o algo parecido. Si alguien tiene un esquema de funcionamiento 2-3 capas con python a pelo agradecería nos pase la información. Por el momento voy buscando aplicaciones de gestión hechas en python que utilicen bases de datos para ver como solucionan el acceso a las mismas: http://sourceforge.net/projects/pyecole/ http://mail.galilea.cl/gestor/ http://pycatalog.sourceforge.net http://www.schooltool.org http://mirror.optusnet.com.au/sourceforge/p/py/pyfireshop/ Me interesa ampliar la lista, si sabes de alguna aplicación interesante no dudes en comunicarlo. Mi filosofía es que una vez caminas con un lenguaje, que has aprendido de forma autodidacta, lo mejor es meterse en un proyecto grande para ver como, los que saben más que tú, estructuran el proyecto, acceden a las bases de datos y ahorrarte, en lo posible, el mayor número los errores de principiante. Saludos Toni. > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En > nombre de david trillo > Enviado el: miércoles, 08 de septiembre de 2004 14:54 > Para: python-es en aditel.org > Asunto: [Python-es] Programar Python con Bases de datos > > > Queria saber si alguien tiene un manual para programar a 2-3 capas > aplicaciones en Python con bases de datos. > Yo soy programador de VB6 y suelo programar con objetos, pero no se > como debo de hacerlo en Python, ya que creo que deberia de ser mas o > menos lo mismo. Asi mismo, si alguien me puede proporcionar algun > ejemplo sencillo de como trabajar con una aplicacion de bases de > datos, se lo agradeceria. > > Un saludo. > david > From optimasc en yahoo.com.mx Wed Sep 8 20:09:14 2004 From: optimasc en yahoo.com.mx (Mauricio Flores Olmos) Date: Wed, 08 Sep 2004 11:09:14 -0700 Subject: Alerta de correo no deseado: Re: Programar Python con Bases de datos In-Reply-To: <413F136A.3060803@sicem.biz> References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> <413F136A.3060803@sicem.biz> Message-ID: <413F4ACA.70508@yahoo.com.mx> Hay un detalle con la segunda direccion: te lleva a una tienda de quien sabe que, debe ser modeling.sourceforge.net quitandole la t al final > unas cuantas (aquí tienes 2: www.sqlobject.org, > modeling.sourceforget.net ) El día que haya un back-end relacional para > ZODB (base de objetos, usado en Zope) supongo que se realizará una > especificación para objetos persistentes, pero mientras tanto.... > > > Erny > > david trillo escribió: > >> Queria saber si alguien tiene un manual para programar a 2-3 capas >> aplicaciones en Python con bases de datos. >> Yo soy programador de VB6 y suelo programar con objetos, pero no sew >> como debo de hacerlo en Python, ya que creo que deberia de ser mas o >> menos lo mismo. Asi mismo, si alguien me puede proporcionar algun >> ejemplo sencillo de como trabajar con una aplicacion de bases de >> datos, se lo agradeceria. >> >> Un saludo. >> david >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> >> > > > > --- > avast! Antivirus: Saliente mensaje limpio. > Base de datos de Virus (VPS): 0437-0, 07/09/2004 > Comprobado en: 08/09/2004 16:13:03 > avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > http://www.avast.com > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From erny en sicem.biz Wed Sep 8 23:59:27 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 08 Sep 2004 23:59:27 +0200 Subject: Alerta de correo no deseado: Re: Programar Python con Bases de datos In-Reply-To: <413F4ACA.70508@yahoo.com.mx> References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> <413F136A.3060803@sicem.biz> <413F4ACA.70508@yahoo.com.mx> Message-ID: <413F80BF.4040502@sicem.biz> ooops, gracias, eso pasa por escribir y no copiar las direcciones. La buena es: modeling.sourceforge.net También acabo de enterarme que APE está ahora el la versión 1.0, que signfica que los objetos que se almacenan en ZODB pueden ser mapeados bien a una base de datos relacional. Interesante. Erny Mauricio Flores Olmos escribió: > Hay un detalle con la segunda direccion: te lleva a una tienda de > quien sabe que, debe ser modeling.sourceforge.net quitandole la t al > final > >> unas cuantas (aquí tienes 2: www.sqlobject.org, >> modeling.sourceforget.net ) El día que haya un back-end relacional >> para ZODB (base de objetos, usado en Zope) supongo que se realizará >> una especificación para objetos persistentes, pero mientras tanto.... >> >> >> Erny >> >> david trillo escribió: >> >>> Queria saber si alguien tiene un manual para programar a 2-3 capas >>> aplicaciones en Python con bases de datos. >>> Yo soy programador de VB6 y suelo programar con objetos, pero no sew >>> como debo de hacerlo en Python, ya que creo que deberia de ser mas o >>> menos lo mismo. Asi mismo, si alguien me puede proporcionar algun >>> ejemplo sencillo de como trabajar con una aplicacion de bases de >>> datos, se lo agradeceria. >>> >>> Un saludo. >>> david >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en aditel.org >>> http://listas.aditel.org/listinfo/python-es >>> >>> >> >> >> >> --- >> avast! Antivirus: Saliente mensaje limpio. >> Base de datos de Virus (VPS): 0437-0, 07/09/2004 >> Comprobado en: 08/09/2004 16:13:03 >> avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >> http://www.avast.com >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0437-0, 07/09/2004 Comprobado en: 08/09/2004 23:59:28 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From dtrillo en gmail.com Thu Sep 9 08:17:53 2004 From: dtrillo en gmail.com (david trillo) Date: Thu, 9 Sep 2004 08:17:53 +0200 Subject: Programar Bases de Datos en Python Message-ID: <86b8f6b90409082317765176c2@mail.gmail.com> Y alguien tiene algun buen ejemplo? Ya que la documentacion parece que esta clara, pero siempre es mas visible con algo mas practico.... david ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Thu Sep 9 10:51:12 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 09 Sep 2004 10:51:12 +0200 Subject: Programar Python con Bases de datos In-Reply-To: <000c01c495c4$340ccfc0$020010ac@Host> References: <000c01c495c4$340ccfc0$020010ac@Host> Message-ID: <200409091051.16030.py@ch3m4.org> On Wednesday 08 September 2004 18:52, Toni Martínez wrote: > El tema de programar a 2-3 capas sólo lo veo factible con ZOPE o algo > parecido. > Si alguien tiene un esquema de funcionamiento 2-3 capas con python a pelo > agradecería nos pase la información. Yo he intentado seguir el modelo de 3 capas para reconvertir un sistema creado en VB. El servidor con la lógica de negocio iba a ser un servidor de objetos que intenté implementarlo con cosas como CORBA y COM+, pasando por el Pyro (http://pyro.sourceforge.net/) para al final acabar utilizando "servicios web" (xmlrpc y soap). Para xmlrpc lo mejor que he visto ha sido Zope, con lo que vuelvo a tu comentario, aunque también hay otros "web frameworks" que implementan xmlrpc como el cherrypy que he usado bastante, incluso he hecho algunas cosas a pelo con la librería estándar de python. Para acceso a bases mdbs he optado por utilizar ADO directamente (DSN-Less), sin utilizar de momento ningún wrapper para DB-API2. El servidor windows envía sus datos por ODBC a un servidor linux con una base MySQL, y desde aquí ya acceden sin problemas el resto de aplicativos. Como camino de vuelta, con el linux accediendo directamente a los datos en windows, he pensado en utilizar un servicio ODBCSocket (http://odbcsock.sourceforge.net/), aunque aún no lo he incorporado al sistema. Como anécdota, el servidor linux corre también un vieja base de datos Transtools (clon de Informix) que consigo conectar al mysql de modo muy poco ortodoxo mediante scripts de shell hechos en bash y python. Siento no tener tiempo en este instante para extenderme más en este tema. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From packo_assamita en supercable.es Thu Sep 9 12:18:12 2004 From: packo_assamita en supercable.es (Packo) Date: Thu, 9 Sep 2004 12:18:12 +0200 Subject: Programar Python con Bases de datos In-Reply-To: <86b8f6b9040908055436b4e1cd@mail.gmail.com> References: <86b8f6b9040908055436b4e1cd@mail.gmail.com> Message-ID: <200409091218.12389.packo_assamita@supercable.es> La verdad es que no se a que te refieres con lo de las capas pero yo estoy haciendo un programa de una consulta de psicología con mysql y funciona a la prefección tanto en windows como en linux de manera inmediata, sin cambiar ni una línea, es una de las cosas que me dejó inpresionado de Python, wxPython y de MySQLdb. -- |-------------------------------------| Paco Moreno - Assamita web: http://www.assamita.net Jabber: packo en bulmalug.net email: packo en assamita.net Perdonar por las molestias de cambio de web, ya es estable. |-------------------------------------| From roger en ehtsc.co.cu Thu Sep 9 14:54:42 2004 From: roger en ehtsc.co.cu (Roger D. Vargas) Date: Thu, 09 Sep 2004 08:54:42 -0400 Subject: pregunta tonta sobre linkeo Message-ID: <1094734481.14120.9.camel@prospero.ehtsc.co.cu> Etoy empezando a aprender python para utilizarlo como lenguaje script dentro de mis aplicaciones c++. Genere un wrapper con swig, pero no encuentro las opciones adecuadas para linkear las librerias de python a mi programa. Alguien podria sugerirme algo? Mi distribucion es Fedora Core 2. -- Roger Durañona Vargas Linux user #180787 A cada momento nos rodea lo desconocido. Es alli donde uno tiene que buscar el conocimiento. Paul Muad'Dib Atreides. Children of Dune ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Fri Sep 10 09:41:40 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 10 Sep 2004 09:41:40 +0200 Subject: Estructuras de datos Message-ID: <001601c49709$9ead8bd0$c801a8c0@catalin> Hola, Tengo un problema tonto, que creo que es mas de lógica que de Python. Tengo el siguiente fichero : Ntabla1<\TABLA_ID> Descripcion1<\DESCRIPCION> Ncampo11<\CAMPO_ID> Tcampo11<\TIPO> <\CAMPO> Ncampo12<\CAMPO_ID> Tcampo12<\TIPO> <\CAMPO> <\CAMPOS> Fechahora1<\FECHAHORA> <\TABLA> Ntabla2<\TABLA_ID> Descripcion2<\DESCRIPCION> Ncampo21<\CAMPO_ID> Tcampo21<\TIPO> <\CAMPO> Ncampo22<\CAMPO_ID> Tcampo22<\TIPO> <\CAMPO> <\CAMPOS> Fechahora2<\FECHAHORA> <\TABLA> Lo leo y lo guardo de esta forma: result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': ['Fechahora2']}]} Para extraer valores bastante sencillo. Pero para insertar, o modificar no tanto. Como parámetro le estoy pasando una lista de tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo lo que necesito). Por favor díganme como puedo insertar campos nuevos y modificar valores de campos existentes. Muchas gracias, Catalin Lungu From py en ch3m4.org Fri Sep 10 11:00:08 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 10 Sep 2004 11:00:08 +0200 Subject: Estructuras de datos In-Reply-To: <001601c49709$9ead8bd0$c801a8c0@catalin> References: <001601c49709$9ead8bd0$c801a8c0@catalin> Message-ID: <200409101100.12370.py@ch3m4.org> On Friday 10 September 2004 09:41, Catalin Lungu wrote: > Lo leo y lo guardo de esta forma: > result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': > ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], 'TIPO': > ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}]}], > 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': ['Ntabla2'], 'DESCRIPCION': > ['Descripcion2'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo21'], 'TIPO': > ['Tcampo21']}, {'CAMPO_ID': ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], > 'FECHAHORA': ['Fechahora2']}]} > > Para extraer valores bastante sencillo. Pero para insertar, o modificar no > tanto. Como parámetro le estoy pasando una lista de tuplas > [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto me devuelve > {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo lo que necesito). > > Por favor díganme como puedo insertar campos nuevos y modificar valores de > campos existentes. ¿No te sería más sencillo si los IDs fueran las claves del diccionario? Algo tal que así: result = { 'Ntabla1': { 'DESCRIPCION': 'Descripcion1', 'CAMPOS': { 'Ncampo11': {'TIPO': 'Tcampo11'}, 'Ncampo12': {'TIPO': 'Tcampo12'} }, 'FECHAHORA': 'Fechahora1' }, 'Ntabla2': { 'DESCRIPCION': 'Descripcion2', 'CAMPOS': { 'Ncampo21': {'TIPO': 'Tcampo21'}, 'Ncampo22', {'TIPO': 'Tcampo22'}, }, 'FECHAHORA': 'Fechahora2' } } Para acceder a un campo: result['Ntabla1']['CAMPOS']['Ncampo11'] Para insertar un nuevo campo: result['Ntabla2']['CAMPOS']['Ncampo23']=['TIPO':'Tcampo23'] ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Fri Sep 10 10:58:24 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 10 Sep 2004 10:58:24 +0200 Subject: Estructuras de datos In-Reply-To: <001601c49709$9ead8bd0$c801a8c0@catalin> References: <001601c49709$9ead8bd0$c801a8c0@catalin> Message-ID: (leer este mensaje en fuente de letra monoespaciada.) > > Ntabla1<\TABLA_ID> > ... resto cortado... > <\TABLA> > > Lo leo y lo guardo de esta forma: > result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': > ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], > 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': > ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': > ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': > [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': > ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': > ['Fechahora2']}]} > > Para extraer valores bastante sencillo. Pero para insertar, o > modificar no tanto. Como parámetro le estoy pasando una lista de > tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto > me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo > lo que necesito). > > Por favor díganme como puedo insertar campos nuevos y modificar > valores de campos existentes. La estructura de datos es un diccionario de listas cuyos elementos son cadenas o diccionarios de listas cuyos elementos ... etc etc ... :-) Con ese tipo de estructura para acceder a los elementos lo haces alternando indices del tipo cadena (para el diccionario) y tipo entero (para la lista). Ej. Para el valor del campo 3 de la tabla 5: data['TABLA'][3]['CAMPOS'][0]['CAMPO'][5] Para agregar usa append o insert: +----------------------- El numero de la tabla a | modificar dentro de la | lista empenzando de 0. | v vvvvvvvvvvvvv---- Esto es siempre lo mismo. >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}] >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'].append( {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}) >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}, {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] >>> Para modificar subindiza la lista: El elemento del campo a modificar ----------------+ | El numero del campo a modificar -------------+ | empenzando de 0 | | | | Esto igual que antes -------+ | | | | | vvvvvvvvvvvvvvvvvvvvvvvv v v >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'][1]['TIPO'] = ['tCAMPO12'] >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['tCAMPO12']}, {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] >>> Para encontrar los indices de las listas de tablas y campos usa lo que ya tiene para leer los valores. Alternativamente, aunque algo sucio, tambien podrias mirar si puedes alterar directamente sobre el resultado de la lectura. Para que esto funcione la lectura de los datos del campo no deberían estar haciendo copia de los mismos. Acotacion al margen: - Pareciera que está sobrando el nivel CAMPOS en la estructura de datos. Saludos, -H. From lcatalin en siadv.com Fri Sep 10 11:54:25 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 10 Sep 2004 11:54:25 +0200 Subject: Estructuras de datos References: Message-ID: <009101c4971c$2825f070$c801a8c0@catalin> Si tienes razón con lo de los indices. Pero no los conozco. Lo que quiero es una función donde yo le diga modifica el tipo del campo "Ncampo1" dentro de la tabla "Ntabla1". O bien inserta el campo "Ncampo2" en la tabla "Ntabla2". La función tiene que ser genérica, por esto mi idea era de pasarle la ruta en una lista de tuplas ("TABLA","NTabla1", etc.). Por ejemplo si voy a cambiar los tags en el fichero la función no se tiene que enterar. Un saludo, ----- Original Message ----- From: "Hernán Martínez Foffani" To: "La lista de python en castellano" Sent: Friday, September 10, 2004 10:58 AM Subject: RE: [Python-es] Estructuras de datos > (leer este mensaje en fuente de letra monoespaciada.) > > > > > Ntabla1<\TABLA_ID> > > ... resto cortado... > > <\TABLA> > > > > Lo leo y lo guardo de esta forma: > > result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': > > ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], > > 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': > > ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': > > ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': > > [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': > > ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': > > ['Fechahora2']}]} > > > > Para extraer valores bastante sencillo. Pero para insertar, o > > modificar no tanto. Como parámetro le estoy pasando una lista de > > tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto > > me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo > > lo que necesito). > > > > Por favor díganme como puedo insertar campos nuevos y modificar > > valores de campos existentes. > > La estructura de datos es un diccionario de listas cuyos elementos > son cadenas o diccionarios de listas cuyos elementos ... etc etc ... > :-) > Con ese tipo de estructura para acceder a los elementos lo haces > alternando indices del tipo cadena (para el diccionario) y tipo > entero (para la lista). Ej. > > Para el valor del campo 3 de la tabla 5: > > data['TABLA'][3]['CAMPOS'][0]['CAMPO'][5] > > > Para agregar usa append o insert: > > +----------------------- El numero de la tabla a > | modificar dentro de la > | lista empenzando de 0. > | > v vvvvvvvvvvvvv---- Esto es siempre lo mismo. > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] > [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, > {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}] > > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'].append( > {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}) > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] > [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, > {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}, > {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] > >>> > > Para modificar subindiza la lista: > > El elemento del campo a modificar ----------------+ > | > El numero del campo a modificar -------------+ | > empenzando de 0 | | > | | > Esto igual que antes -------+ | | > | | | > vvvvvvvvvvvvvvvvvvvvvvvv v v > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'][1]['TIPO'] = > ['tCAMPO12'] > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] > [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, > {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['tCAMPO12']}, > {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] > >>> > > Para encontrar los indices de las listas de tablas > y campos usa lo que ya tiene para leer los valores. > > Alternativamente, aunque algo sucio, tambien podrias > mirar si puedes alterar directamente sobre el resultado > de la lectura. Para que esto funcione la lectura de > los datos del campo no deberían estar haciendo copia > de los mismos. > > Acotacion al margen: > - Pareciera que está sobrando el nivel CAMPOS en > la estructura de datos. > > Saludos, > -H. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From miguela.garcia3 en alu.uclm.es Fri Sep 10 13:09:49 2004 From: miguela.garcia3 en alu.uclm.es (Miguel Angel Garcia) Date: Fri, 10 Sep 2004 13:09:49 +0200 Subject: Estructuras de datos In-Reply-To: <009101c4971c$2825f070$c801a8c0@catalin> References: <009101c4971c$2825f070$c801a8c0@catalin> Message-ID: <1094814589.9926.19.camel@localhost> ¿Y qué tal utilizar libxml o, al menos, algunos objetitos? Siento decírtelo, pero eso de data['TABLA'][3]['CAMPOS'][0]['CAMPO'][5] Lo entiendes ahora, pero no dentro de 2 semanas... El vie, 10-09-2004 a las 11:54, Catalin Lungu escribió: > Si tienes razón con lo de los indices. Pero no los conozco. Lo que quiero es > una función donde yo le diga modifica el tipo del campo "Ncampo1" dentro de > la tabla "Ntabla1". O bien inserta el campo "Ncampo2" en la tabla "Ntabla2". > La función tiene que ser genérica, por esto mi idea era de pasarle la ruta > en una lista de tuplas ("TABLA","NTabla1", etc.). Por ejemplo si voy a > cambiar los tags en el fichero la función no se tiene que enterar. > > Un saludo, > > > > ----- Original Message ----- > From: "Hernán Martínez Foffani" > To: "La lista de python en castellano" > Sent: Friday, September 10, 2004 10:58 AM > Subject: RE: [Python-es] Estructuras de datos > > > > (leer este mensaje en fuente de letra monoespaciada.) > > > > > > > > Ntabla1<\TABLA_ID> > > > ... resto cortado... > > > <\TABLA> > > > > > > Lo leo y lo guardo de esta forma: > > > result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': > > > ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], > > > 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': > > > ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': > > > ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': > > > [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': > > > ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': > > > ['Fechahora2']}]} > > > > > > Para extraer valores bastante sencillo. Pero para insertar, o > > > modificar no tanto. Como parámetro le estoy pasando una lista de > > > tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto > > > me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo > > > lo que necesito). > > > > > > Por favor díganme como puedo insertar campos nuevos y modificar > > > valores de campos existentes. > > > > La estructura de datos es un diccionario de listas cuyos elementos > > son cadenas o diccionarios de listas cuyos elementos ... etc etc ... > > :-) > > Con ese tipo de estructura para acceder a los elementos lo haces > > alternando indices del tipo cadena (para el diccionario) y tipo > > entero (para la lista). Ej. > > > > Para el valor del campo 3 de la tabla 5: > > > > data['TABLA'][3]['CAMPOS'][0]['CAMPO'][5] > > > > > > Para agregar usa append o insert: > > > > +----------------------- El numero de la tabla a > > | modificar dentro de la > > | lista empenzando de 0. > > | > > v vvvvvvvvvvvvv---- Esto es siempre lo mismo. > > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] > > [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, > > {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}] > > > > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'].append( > > {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}) > > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] > > [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, > > {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}, > > {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] > > >>> > > > > Para modificar subindiza la lista: > > > > El elemento del campo a modificar ----------------+ > > | > > El numero del campo a modificar -------------+ | > > empenzando de 0 | | > > | | > > Esto igual que antes -------+ | | > > | | | > > vvvvvvvvvvvvvvvvvvvvvvvv v v > > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'][1]['TIPO'] = > > ['tCAMPO12'] > > >>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] > > [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, > > {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['tCAMPO12']}, > > {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] > > >>> > > > > Para encontrar los indices de las listas de tablas > > y campos usa lo que ya tiene para leer los valores. > > > > Alternativamente, aunque algo sucio, tambien podrias > > mirar si puedes alterar directamente sobre el resultado > > de la lectura. Para que esto funcione la lectura de > > los datos del campo no deberían estar haciendo copia > > de los mismos. > > > > Acotacion al margen: > > - Pareciera que está sobrando el nivel CAMPOS en > > la estructura de datos. > > > > Saludos, > > -H. > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Miguel Ángel García http://arco.inf-cr.uclm.es/~miguel Software Libre para Gente Libre Free Software for Free People ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Fri Sep 10 13:26:48 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 10 Sep 2004 13:26:48 +0200 Subject: Estructuras de datos References: <001601c49709$9ead8bd0$c801a8c0@catalin> <200409101100.12370.py@ch3m4.org> Message-ID: <010501c49729$0fe00750$c801a8c0@catalin> Hola Chema, He replanteado la forma de guardar la estructura tal como me lo dijiste. He quitado todas las listas y trabajaré solo con diccionarios. Ahora tendré que encontrar alguna forma de guardar el orden de los campos para que a la hora de grabarlos sean iguales que al principio. He pensado que cada diccionario tenga una lista con el orden, todo dentro de una clase. No crees que si es una estructura muy grande puede tardar mucho. Un saludo, Catalin Lungu ----- Original Message ----- From: "Chema Cortés" To: "La lista de python en castellano" Sent: Friday, September 10, 2004 11:00 AM Subject: Re: [Python-es] Estructuras de datos _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Fri Sep 10 13:26:45 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 10 Sep 2004 13:26:45 +0200 Subject: Estructuras de datos In-Reply-To: <009101c4971c$2825f070$c801a8c0@catalin> References: <009101c4971c$2825f070$c801a8c0@catalin> Message-ID: No entiendo. Entonces ¿Cómo extraes los datos de la estructura pasándole la susodicha tupla? ¿Como obtienes los valores de los campos? > Si tienes razón con lo de los indices. Pero no los conozco. Lo que > quiero es una función donde yo le diga modifica el tipo del campo > "Ncampo1" dentro de la tabla "Ntabla1". O bien inserta el campo > "Ncampo2" en la tabla "Ntabla2". La función tiene que ser genérica, > por esto mi idea era de pasarle la ruta en una lista de tuplas > ("TABLA","NTabla1", etc.). Por ejemplo si voy a cambiar los tags en > el fichero la función no se tiene que enterar. > > Un saludo, > > > > ----- Original Message ----- > From: "Hernán Martínez Foffani" > To: "La lista de python en castellano" > Sent: Friday, September 10, 2004 10:58 AM > Subject: RE: [Python-es] Estructuras de datos > > >> (leer este mensaje en fuente de letra monoespaciada.) >> >>> >>> Ntabla1<\TABLA_ID> >>> ... resto cortado... >>> <\TABLA> >>> >>> Lo leo y lo guardo de esta forma: >>> result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': >>> ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], >>> 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': >>> ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': >>> ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': >>> [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': >>> ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': >>> ['Fechahora2']}]} >>> >>> Para extraer valores bastante sencillo. Pero para insertar, o >>> modificar no tanto. Como parámetro le estoy pasando una lista de >>> tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. >>> Esto me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} >>> (justo lo que necesito). >>> >>> Por favor díganme como puedo insertar campos nuevos y modificar >>> valores de campos existentes. >> >> La estructura de datos es un diccionario de listas cuyos elementos >> son cadenas o diccionarios de listas cuyos elementos ... etc etc ... >> :-) Con ese tipo de estructura para acceder a los elementos lo haces >> alternando indices del tipo cadena (para el diccionario) y tipo >> entero (para la lista). Ej. >> >> Para el valor del campo 3 de la tabla 5: >> >> data['TABLA'][3]['CAMPOS'][0]['CAMPO'][5] >> >> >> Para agregar usa append o insert: >> >> +----------------------- El numero de la tabla a >> | modificar dentro de la >> | lista empenzando de 0. >> | v vvvvvvvvvvvvv---- Esto es siempre lo >> mismo. >>>>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] >> [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, >> {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}] >> >>>>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'].append( >> {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}) >>>>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] >> [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, >> {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}, >> {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] >>>>> >> >> Para modificar subindiza la lista: >> >> El elemento del campo a modificar ----------------+ >> | >> El numero del campo a modificar -------------+ | >> empenzando de 0 | | >> | | >> Esto igual que antes -------+ | | >> | | | >> vvvvvvvvvvvvvvvvvvvvvvvv v v >>>>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'][1]['TIPO'] = ['tCAMPO12'] >>>>> result['TABLA'][0]['CAMPOS'][0]['CAMPO'] >> [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, >> {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['tCAMPO12']}, >> {'CAMPO_ID': ['Ncampo13'], 'TIPO': ['Tcampo13']}] >>>>> >> >> Para encontrar los indices de las listas de tablas >> y campos usa lo que ya tiene para leer los valores. >> >> Alternativamente, aunque algo sucio, tambien podrias >> mirar si puedes alterar directamente sobre el resultado >> de la lectura. Para que esto funcione la lectura de >> los datos del campo no deberían estar haciendo copia >> de los mismos. >> >> Acotacion al margen: >> - Pareciera que está sobrando el nivel CAMPOS en >> la estructura de datos. >> >> Saludos, >> -H. >> >> _______________________________________________ >> Python-es mailing list >> Python-es en aditel.org >> http://listas.aditel.org/listinfo/python-es >> > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Fri Sep 10 13:50:20 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 10 Sep 2004 13:50:20 +0200 Subject: Estructuras de datos In-Reply-To: <010501c49729$0fe00750$c801a8c0@catalin> References: <010501c49729$0fe00750$c801a8c0@catalin> Message-ID: > He replanteado la forma de guardar la estructura tal como me lo > dijiste. He quitado todas las listas y trabajaré solo con > diccionarios. Ahora tendré que encontrar alguna forma de guardar el > orden de los campos para que a la hora de grabarlos sean iguales que > al principio. Sabia decisión. Con respecto al orden lo que podrías hacer es olvidarte de conservar en tu estructura el orden original e invertarte un orden lógico al momento de grabar. Por ejemplo: Primero la descripcion, luego la fecha, luego la lista de los campos ordenados alfabeticamente, etc. Una ventaja es que además podrías agregar tabulaciones y saltos de linea en forma conveniente. Con esto ya tienes gratis un formateo bonito de los archivos de datos. > He pensado que cada diccionario tenga una lista con el > orden, todo dentro de una clase. No crees que si es una estructura > muy grande puede tardar mucho. Podrías hacer una sublcase de dict que permitiera ser accedida segun un cierto orden. -H. From py en ch3m4.org Fri Sep 10 13:57:04 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 10 Sep 2004 13:57:04 +0200 Subject: Estructuras de datos In-Reply-To: <010501c49729$0fe00750$c801a8c0@catalin> References: <001601c49709$9ead8bd0$c801a8c0@catalin> <200409101100.12370.py@ch3m4.org> <010501c49729$0fe00750$c801a8c0@catalin> Message-ID: <200409101357.07389.py@ch3m4.org> On Friday 10 September 2004 13:26, Catalin Lungu wrote: > He replanteado la forma de guardar la estructura tal como me lo dijiste. He > quitado todas las listas y trabajaré solo con diccionarios. Ahora tendré > que encontrar alguna forma de guardar el orden de los campos para que a la > hora de grabarlos sean iguales que al principio. He pensado que cada > diccionario tenga una lista con el orden, todo dentro de una clase. No > crees que si es una estructura muy grande puede tardar mucho. Si es esencial el orden de los campos, entonces emplea una lista de tuplas: result = {   'Ntabla1': {      'DESCRIPCION': 'Descripcion1',      'CAMPOS': [         ['Ncampo11', {'TIPO':'Tcampo11'}],         ['Ncampo12', {'TIPO':'Tcampo12'}]      ],      'FECHAHORA': 'Fechahora1'   },   'Ntabla2': {      'DESCRIPCION': 'Descripcion2',      'CAMPOS': [         ['Ncampo21',{'TIPO':'Tcampo21'}],         ['Ncampo22',{'TIPO':'Tcampo22'}],      ],      'FECHAHORA': 'Fechahora2'   } } Para acceder a un campo: campo=[c for (n,c) in result['Ntabla1']['CAMPOS'] if n=='Ncampo11'][0] Para cambiar el tipo de un campo: campo['TIPO']='Ncampo13'] Para insertar un nuevo campo: result['Ntabla2']['CAMPOS'].append( ['Ncampo23',{'TIPO':'Tcampo23'}] ) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Fri Sep 10 14:35:51 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 10 Sep 2004 14:35:51 +0200 Subject: Estructuras de datos References: <001601c49709$9ead8bd0$c801a8c0@catalin><200409101100.12370.py@ch3m4.org><010501c49729$0fe00750$c801a8c0@catalin> <200409101357.07389.py@ch3m4.org> Message-ID: <013f01c49732$b59caf00$c801a8c0@catalin> Hola, Muchas gracias por todo. Ahora lo tengo mucho mas claro. He hecho también la clase ListDict que la presento a continuación a ver si le encontráis alguna mejora o algún posible error. class ListDict: def __init__(self): self.ldict = {"CLAVE ORDEN":[]} def GetClaves(self): return self.ldict["CLAVE ORDEN"] def GetValores(self): lst_ord = self.ldict["CLAVE ORDEN"] lst_val = [] for clave in lst_ord: lst_val.append(self.ldict[clave]) return lst_val def HasKey(self, clave): lst_ord = self.ldict["CLAVE ORDEN"] if clave in lst_ord: return True else: return False def GetValor(self, clave): return self.ldict[clave] def InsertValor(self, clave, valor, pos=-1): if clave != "CLAVE ORDEN": self.ldict[clave] = valor if pos == -1: self.ldict["CLAVE ORDEN"].append(clave) else: self.ldict["CLAVE ORDEN"].insert(pos, clave) return True return False def GetIndice(self, clave): try: pos = self.ldict["CLAVE ORDEN"].index(clave) except: pos = -1 return pos Para usarla: import ListDict as ld midict = ls.ListDict() Como seria posible que al escribir directamente midict en el shell que me devuelva midict.GetClaves(). Un saludo, Catalin Lungu From lcatalin en siadv.com Fri Sep 10 14:38:23 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 10 Sep 2004 14:38:23 +0200 Subject: Estructuras de datos References: <001601c49709$9ead8bd0$c801a8c0@catalin><200409101100.12370.py@ch3m4.org><010501c49729$0fe00750$c801a8c0@catalin><200409101357.07389.py@ch3m4.org> <013f01c49732$b59caf00$c801a8c0@catalin> Message-ID: <014801c49733$0ff817a0$c801a8c0@catalin> Rectifico: Como seria posible que al escribir directamente midict en el shell que me devuelva el contenido del diccionario. ----- Original Message ----- From: "Catalin Lungu" To: "La lista de python en castellano" Sent: Friday, September 10, 2004 2:35 PM Subject: Re: [Python-es] Estructuras de datos > Hola, > Muchas gracias por todo. Ahora lo tengo mucho mas claro. He hecho también la > clase ListDict que la presento a continuación a ver si le encontráis alguna > mejora o algún posible error. > > class ListDict: > def __init__(self): > self.ldict = {"CLAVE ORDEN":[]} > > def GetClaves(self): > return self.ldict["CLAVE ORDEN"] > > def GetValores(self): > lst_ord = self.ldict["CLAVE ORDEN"] > lst_val = [] > for clave in lst_ord: > lst_val.append(self.ldict[clave]) > return lst_val > > def HasKey(self, clave): > lst_ord = self.ldict["CLAVE ORDEN"] > if clave in lst_ord: > return True > else: > return False > > def GetValor(self, clave): > return self.ldict[clave] > > def InsertValor(self, clave, valor, pos=-1): > if clave != "CLAVE ORDEN": > self.ldict[clave] = valor > if pos == -1: > self.ldict["CLAVE ORDEN"].append(clave) > else: > self.ldict["CLAVE ORDEN"].insert(pos, clave) > return True > return False > > def GetIndice(self, clave): > try: > pos = self.ldict["CLAVE ORDEN"].index(clave) > except: > pos = -1 > return pos > > Para usarla: > import ListDict as ld > > midict = ls.ListDict() > > Como seria posible que al escribir directamente midict en el shell que me > devuelva midict.GetClaves(). > > Un saludo, > Catalin Lungu > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From py en ch3m4.org Fri Sep 10 15:15:46 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 10 Sep 2004 15:15:46 +0200 Subject: Estructuras de datos In-Reply-To: <014801c49733$0ff817a0$c801a8c0@catalin> References: <001601c49709$9ead8bd0$c801a8c0@catalin> <013f01c49732$b59caf00$c801a8c0@catalin> <014801c49733$0ff817a0$c801a8c0@catalin> Message-ID: <200409101515.50302.py@ch3m4.org> On Friday 10 September 2004 14:38, Catalin Lungu wrote: > Rectifico: > Como seria posible que al escribir directamente midict en el shell que me > devuelva el contenido del diccionario. Tienes que pensar más al estilo "python". En tu clase has puesto un método "__init__" porque es el que el python va a llamar para iniciarlizar las instancias. De modo similar, llamará a un método llamado "__str__" para convertir la instancia en una cadena de caracteres. Éste método es el que utilizará el shell. Hay más métodos "implícitos" para similar cualquier tipo de datos. En concreto mírate los que tiene el tipo 'dict', que sería los que deberías intentar simular en tu clase. Pero hay algo mejor. Ya que tu clase casi va a ser un diccionario, haz que derive del tipo 'dict': class ListDict(dict): def __init__(self,*args): self._orden=[] dict.__init__(self,*args) def __setitem__(self,n,v): if not n in self._orden: self._orden.append(n) dict.__setitem__(self,n,v) ### etc,etc ### def doList(self): return self._orden De éste modo, métodos que no hayas definido como el __str__ se empleará los del tipo 'dict' directamente. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From morillas en posta.unizar.es Fri Sep 10 18:48:46 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Fri, 10 Sep 2004 18:48:46 +0200 Subject: Estructuras de datos In-Reply-To: <001601c49709$9ead8bd0$c801a8c0@catalin> References: <001601c49709$9ead8bd0$c801a8c0@catalin> Message-ID: <20040910164846.GA1681@marmota> Asunto: [Python-es] Estructuras de datos Fecha: Fri, Sep 10, 2004 at 09:41:40AM +0200 Citando a Catalin Lungu (lcatalin en siadv.com): > Hola, > Tengo un problema tonto, que creo que es mas de lógica que de Python. > Tengo el siguiente fichero : > > > Ntabla1<\TABLA_ID> > Descripcion1<\DESCRIPCION> > > > Ncampo11<\CAMPO_ID> > Tcampo11<\TIPO> > <\CAMPO> > > Ncampo12<\CAMPO_ID> > Tcampo12<\TIPO> > <\CAMPO> > <\CAMPOS> > Fechahora1<\FECHAHORA> > <\TABLA> > > Ntabla2<\TABLA_ID> > Descripcion2<\DESCRIPCION> > > > Ncampo21<\CAMPO_ID> > Tcampo21<\TIPO> > <\CAMPO> > > Ncampo22<\CAMPO_ID> > Tcampo22<\TIPO> > <\CAMPO> > <\CAMPOS> > Fechahora2<\FECHAHORA> > <\TABLA> > > Lo leo y lo guardo de esta forma: > result = {'TABLA': [{'TABLA_ID': ['Ntabla1'], 'DESCRIPCION': ['Descripcion1'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']}, {'CAMPO_ID': ['Ncampo12'], 'TIPO': ['Tcampo12']}]}], 'FECHAHORA': ['Fechahora1']}, {'TABLA_ID': ['Ntabla2'], 'DESCRIPCION': ['Descripcion2'], 'CAMPOS': [{'CAMPO': [{'CAMPO_ID': ['Ncampo21'], 'TIPO': ['Tcampo21']}, {'CAMPO_ID': ['Ncampo22'], 'TIPO': ['Tcampo22']}]}], 'FECHAHORA': ['Fechahora2']}]} > > Para extraer valores bastante sencillo. Pero para insertar, o modificar no tanto. Como parámetro le estoy pasando una lista de tuplas [("TABLA","Ntabla1"),("CAMPOS",""),("CAMPO","Ncampo11")]. Esto me devuelve {'CAMPO_ID': ['Ncampo11'], 'TIPO': ['Tcampo11']} (justo lo que necesito). > > Por favor díganme como puedo insertar campos nuevos y modificar valores de campos existentes. > Por lo que veo usas una estructura similar a xml (pero recuerda que en xml un tag se cierra así: ) Yo usaría una interfaz xml (dom o sax directamente) o si te resulta más cómodo una capa tipo anobind [1], donde te convierte el doc xml en una estructura más __pithónica__ Creas un objeto y accedes a los distintos elementos como si fueran atributos del objeto. objeto.tablas.tabla[0].fechahora.text_content() Aquí tienes documentación de su uso [2] Sobre el diseño, si vas a usar un tipo xml podrías simplificarlo bastante, por lo menos algo así: 222222 [1] http://uche.ogbuji.net/uche.ogbuji.net/tech/4Suite/anobind/ [2] http://www.xml.com/pub/a/2003/08/13/py-xml.html Un saludo, -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From alxgnar en esdebian.org Sat Sep 11 05:10:42 2004 From: alxgnar en esdebian.org (alexander rodriguez) Date: Fri, 10 Sep 2004 20:10:42 -0700 (PDT) Subject: py2exe Message-ID: <20040911031042.C2AF7393A@sitemail.everyone.net> hola necesito saber donde encuentro un tutorial de py2exe en español, o si alguien me explicara como fuciona, soy muy novato con python ya me baje el prog para python 2.3 y corre en win xp gracias alx _____________________________________________________________ Create tu cuenta de email en www.esdebian.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From areneros en hotmail.com Sun Sep 12 12:50:27 2004 From: areneros en hotmail.com (areneros correo web) Date: Sun, 12 Sep 2004 12:50:27 +0200 Subject: Menu Emergente Message-ID: Hola, estoy intentando incluir un menu emergente o contextual, como mas os guste :) en una aplicacion pero no soy capaz. He estado buscando en la documentacion de pygtk y en google pero no encuentro ningun ejemplo claro, ¿sabeis de algun sitio donde haya algo de codigo sobre este widget? Gracias _________________________________________________________________ Reserva desde ahora tus vacaciones en MSN Viajes. Más cómodo, más barato y más opciones. http://www.msn.es/Viajes/ From areneros en hotmail.com Sun Sep 12 15:10:04 2004 From: areneros en hotmail.com (areneros correo web) Date: Sun, 12 Sep 2004 15:10:04 +0200 Subject: Menu Emergente Message-ID: Hola, estoy intentando incluir un menu emergente o contextual, como querais :) en una aplicacion pero no soy capaz. He estado buscando en la documentacion y en Google pero no encuentro ningun ejemplo claro. ¿Sabeis de algun sitio donde haya codigo sobre este widget? Gracias _________________________________________________________________ Acepta el reto MSN Premium: Correos más divertidos con fotos y textos increíbles en MSN Premium. Descárgalo y pruébalo 2 meses gratis. http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_correosmasdivertidos From acastro en ciberdroide.com Sun Sep 12 20:08:57 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Sun, 12 Sep 2004 20:08:57 +0200 (CEST) Subject: Eventos en TkInter Message-ID: Me gustaría tratar los campos de entrada de forma que cuando alguien salga de un campo, (en el cual se supone puede haber ocurrido una modificación del mismo), se pueda asociar alguna acción como por ejemplo propagar una serie de cambios, etc. He probado con una serie de eventos: ,,, y otros pero , no mefunciona y además hay un problema mayor. Si el usuario sale del campo haciendo click con el ratón en un campo distinto, el evento no puede capturarse ya que se produce en ese nuevo campo y asociar un evento a cada campo me parece una chapuza. Debería existir alguna forma que permita detectar la perdida del foco sobre un campo y tratarla con un evento. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From lars en telefonica.net Sun Sep 12 16:57:56 2004 From: lars en telefonica.net (lars) Date: Sun, 12 Sep 2004 16:57:56 +0200 Subject: Menu Emergente Message-ID: <414463F4.7070509@telefonica.net> Hola, estoy intentando incluir un menu emergente o contextual, como querais :) pero no soy capaz. He buscado en la documentacion de pygtk y en Google pero no encuentro ningun ejemplo claro, ¿sabeis de algun sitio donde haya codigo sobre este widget? Gracias From ezako en yahoo.es Sun Sep 12 23:32:50 2004 From: ezako en yahoo.es (zako) Date: Sun, 12 Sep 2004 23:32:50 +0200 Subject: dudas de cursores en MySQLdb Message-ID: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> aupa, ando realizando una base de datos en MySQL que va a recibir varias conexiones simultaneas desde varios programas escritos en Python. Mirando la documentacion de MySQLdb me han quedado varias dudas sobre el uso que deberia realizar de los cursores. Nunca he trabajado con cursores y he preguntado en la universidad a profesores y tampoco tienen nada claro su funcionamiento (aunque parezca mentira, es la pura realidad). Solemos trabajar principalmente con MySQL y lo de la simulación de los cursores a sorprendido a más de un compañero acostumbrado a programar en Java. En la documentacion de MySQLdb pone que todos los cursores de una conexión estan sincronizados, pero mis dudas es como tener sincronizados todos los cursores ya que voy a tener diferentes conexiones, si necesito definir un tipo especial de cursor para mi caso y si necesito establecer candados a la hora de realizar la escritura en la base de datos (¿o esa labor ya la realiza la API?). Agradecería algun comentario y como pueden ser dudas mu básicas me conformaría con alguna referencia a un tutorial/documento sobre el tema, porque solo he encontrado un tutorial un tanto excaso. Saludos, zako From roger en ehtsc.co.cu Sat Sep 11 14:08:15 2004 From: roger en ehtsc.co.cu (Roger D. Vargas) Date: Sat, 11 Sep 2004 08:08:15 -0400 Subject: py2exe ?donde bajarlo? In-Reply-To: <20040911031042.C2AF7393A@sitemail.everyone.net> References: <20040911031042.C2AF7393A@sitemail.everyone.net> Message-ID: <1094904494.16273.0.camel@prospero.ehtsc.co.cu> El vie, 10-09-2004 a las 23:10, alexander rodriguez escribió: > hola > > necesito saber donde encuentro un tutorial de py2exe en español, o si alguien me explicara como fuciona, soy muy novato con python > > ya me baje el prog para python 2.3 y corre en win xp Podrias darme el enlace? Lo he buscado y no he podido encontrarlo -- Roger Durañona Vargas Linux user #180787 A cada momento nos rodea lo desconocido. Es alli donde uno tiene que buscar el conocimiento. Paul Muad'Dib Atreides. Children of Dune ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rosendo.martinez en valdisme.com Mon Sep 13 10:09:05 2004 From: rosendo.martinez en valdisme.com (rosendo) Date: Mon, 13 Sep 2004 10:09:05 +0200 Subject: dudas de cursores en MySQLdb In-Reply-To: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> References: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> Message-ID: <20040913080347.E6CCD314040@marti.uji.es> Buenas, Hasta donde yo sé cada conexión es absolutamente estanca por definición. No se comparte nada. Ahora si en una conexión todos los cursores se sincronizan OK, pero para nada afecta al resto de conexiones. No se si con esto aclaro tu duda. POor cierto tampoco veo tantas diferencia en el tratamiento de este tipo de conexiones con Java, a no ser que utilizeis un pool de conexiones o algo así...??¿?¿? Un saludo. Rosendo. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de zako Enviado el: domingo, 12 de septiembre de 2004 23:33 Para: python-es Asunto: [Python-es] dudas de cursores en MySQLdb aupa, ando realizando una base de datos en MySQL que va a recibir varias conexiones simultaneas desde varios programas escritos en Python. Mirando la documentacion de MySQLdb me han quedado varias dudas sobre el uso que deberia realizar de los cursores. Nunca he trabajado con cursores y he preguntado en la universidad a profesores y tampoco tienen nada claro su funcionamiento (aunque parezca mentira, es la pura realidad). Solemos trabajar principalmente con MySQL y lo de la simulación de los cursores a sorprendido a más de un compañero acostumbrado a programar en Java. En la documentacion de MySQLdb pone que todos los cursores de una conexión estan sincronizados, pero mis dudas es como tener sincronizados todos los cursores ya que voy a tener diferentes conexiones, si necesito definir un tipo especial de cursor para mi caso y si necesito establecer candados a la hora de realizar la escritura en la base de datos (¿o esa labor ya la realiza la API?). Agradecería algun comentario y como pueden ser dudas mu básicas me conformaría con alguna referencia a un tutorial/documento sobre el tema, porque solo he encontrado un tutorial un tanto excaso. Saludos, zako _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dtrillo en gmail.com Mon Sep 13 10:04:15 2004 From: dtrillo en gmail.com (david trillo) Date: Mon, 13 Sep 2004 10:04:15 +0200 Subject: Curso gratuito de programacion de Python con bases de datos Message-ID: <86b8f6b9040913010412181d98@mail.gmail.com> Alguien me puede orientar sobre algun curso o manual de python con bases de datos? david ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Mon Sep 13 10:54:38 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 13 Sep 2004 10:54:38 +0200 Subject: Eventos en TkInter In-Reply-To: References: Message-ID: <200409131054.41535.py@ch3m4.org> On Sunday 12 September 2004 20:08, Antonio Castro wrote: > Me gustaría tratar los campos de entrada de forma que cuando alguien > salga de un campo, (en el cual se supone puede haber ocurrido una > modificación del mismo), se pueda asociar alguna acción como por > ejemplo propagar una serie de cambios, etc. He probado con una > serie de eventos: > > ,,, y otros pero , no mefunciona > y además hay un problema mayor. > > Si el usuario sale del campo haciendo click con el ratón en un > campo distinto, el evento no puede capturarse ya que se produce en ese > nuevo campo y asociar un evento a cada campo me parece una chapuza. > > Debería existir alguna forma que permita detectar la perdida del foco > sobre un campo y tratarla con un evento. Efectivamente, para eso están los eventos '' y '': import Tkinter def gotFocus(event):print "Focus in" def lostFocus(event):print "Focus out" r=Tkinter.Tk() e1=Tkinter.Entry(r) e1.bind("",gotFocus) e1.bind("",lostFocus) e1.pack() Tkinter.Entry(r).pack() r.mainloop() Te aconsejo éste enlace para la documentación de Tkinter: http://effbot.org/books/tkinterbook/ El tema de los eventos está tratado en: http://effbot.org/zone/tkinter-events-and-bindings.htm ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Mon Sep 13 13:40:47 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 13 Sep 2004 13:40:47 +0200 (CEST) Subject: Eventos en TkInter In-Reply-To: <200409131054.41535.py@ch3m4.org> References: <200409131054.41535.py@ch3m4.org> Message-ID: On Mon, 13 Sep 2004, Chema Cortés wrote: > On Sunday 12 September 2004 20:08, Antonio Castro wrote: > > > Me gustaría tratar los campos de entrada de forma que cuando alguien > > salga de un campo, (en el cual se supone puede haber ocurrido una > > modificación del mismo), se pueda asociar alguna acción como por > > ejemplo propagar una serie de cambios, etc. He probado con una > > serie de eventos: > > > > ,,, y otros pero , no mefunciona > > y además hay un problema mayor. > > > > Si el usuario sale del campo haciendo click con el ratón en un > > campo distinto, el evento no puede capturarse ya que se produce en ese > > nuevo campo y asociar un evento a cada campo me parece una chapuza. > > > > Debería existir alguna forma que permita detectar la perdida del foco > > sobre un campo y tratarla con un evento. > > Efectivamente, para eso están los eventos '' y '': > > import Tkinter > > def gotFocus(event):print "Focus in" > def lostFocus(event):print "Focus out" > > r=Tkinter.Tk() > e1=Tkinter.Entry(r) > e1.bind("",gotFocus) > e1.bind("",lostFocus) > e1.pack() > Tkinter.Entry(r).pack() > r.mainloop() > > > Te aconsejo éste enlace para la documentación de Tkinter: > http://effbot.org/books/tkinterbook/ > > El tema de los eventos está tratado en: > http://effbot.org/zone/tkinter-events-and-bindings.htm Muchas gracias funciona perfectamente. Lo busque por un montón de sitios sin encontralo y ahora miraré con calma esa referencia. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ch3m4.org Mon Sep 13 14:50:14 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 13 Sep 2004 14:50:14 +0200 Subject: Menu Emergente In-Reply-To: <414463F4.7070509@telefonica.net> References: <414463F4.7070509@telefonica.net> Message-ID: <200409131450.17592.py@ch3m4.org> On Sunday 12 September 2004 16:57, lars wrote: > Hola, estoy intentando incluir un menu emergente o contextual, como > querais :) pero no soy capaz. He buscado en la documentacion de pygtk > y en Google pero no encuentro ningun ejemplo claro, ¿sabeis de algun > sitio donde haya codigo sobre este widget? Explíca un poco más lo que quieres hacer. Puede que se te haya pasado, pero en el tutorial del pygtk viene cómo hacer menús "emergentes": http://www.pygtk.org/pygtk2tutorial/sec-ManualMenuExample.html Si quieres que sólo aparezca con el botón derecho, comprueba 'event.button==3' ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Mon Sep 13 17:32:19 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 13 Sep 2004 17:32:19 +0200 Subject: dudas de cursores en MySQLdb In-Reply-To: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> References: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> Message-ID: <200409131732.22790.py@ch3m4.org> On Sunday 12 September 2004 23:32, zako wrote: > En la documentacion de MySQLdb pone que todos los cursores de una > conexión estan sincronizados, pero mis dudas es como tener sincronizados > todos los cursores ya que voy a tener diferentes conexiones, si necesito > definir un tipo especial de cursor para mi caso y si necesito establecer > candados a la hora de realizar la escritura en la base de datos (¿o esa > labor ya la realiza la API?). Con MySQL dependerá de si tienes o no transacciones (motor InnoDB ó MyISAM respectivamente). Como advertencia, algunas distribuciones linux como SuSE no incluyen por defecto soporte para InnoDB en MySQL (hay que instalar otro paquete llamado "mysql-Max"). Puedes averiguar qué tienes con "SHOW VARIABLES like 'have_%'" en la cónsola de mysql. SIN TRANSACCIONES (MyISAM): Todos los cambios se efectúan instantáneamente, con lo que las conexiones trabajan siempre síncronamente. Se necesitará emplear bloqueos para evitar colisiones entre lecturas y escrituras de procesos distintos. MyISAM bloquea por tabla, cosa bastante pésima en la mayoría de los casos. CON TRANSACCIONES (InnoDB): Al tener varias conexiones activas, cada conexión tiene que consolidar sus propias transacciones antes de hacerlas visibles al resto de conexiones. Aún así el resto de conexiones podrían no ver los cambios de los demás hasta que no hayan consolidados sus propios cambios. Una opción sería activar el AUTOCOMMIT ("SET AUTOCOMMIT=1"), pero ésto no te va a solucionar el problema completamente cuando existan muchos procesos actuándos sobre los mismo datos. Lo mejor es trabajarte un poco el tema de los bloqueos del InnoDB. Son bastante buenos, comparables a los que pueda ofrecerte Oracle, por ejemplo. Mírate la documentación de "SELECT..FOR UPDATE" y "SELECT..LOCK IN SHARE MODE" donde podrás ver la estrategia de InnoDB en el bloqueo por filas. Con un poco de experimentación creo que te solucionará el problema. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ezako en yahoo.es Mon Sep 13 18:35:22 2004 From: ezako en yahoo.es (zako) Date: Mon, 13 Sep 2004 18:35:22 +0200 Subject: dudas de cursores en MySQLdb In-Reply-To: <20040913080347.E6CCD314040@marti.uji.es> References: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> <20040913080347.E6CCD314040@marti.uji.es> Message-ID: <20040913163522.GA1520@birgadista.rebelbase.dyns.cx> On Mon, Sep 13, 2004 at 10:09:05AM +0200, rosendo wrote: > Buenas, > Hasta donde yo sé cada conexión es absolutamente estanca por definición. No > se comparte nada. Ahora si en una conexión todos los cursores se sincronizan > OK, pero para nada afecta al resto de conexiones. > > No se si con esto aclaro tu duda. ¿Esto quiere decir que con conexiones independientes no tiene por que actualizarse la base de datos? ¿Al realizar una operacion sobre un cursor, las otras conexiones se van a dar cuentas de las modificaciones realizadas por una conexion diferente? Otra pregunta tambien es si tendria que implementar semaforos para el acceso simultaneo a la base de datos o si la API y la BD se encarga de ello por si mismas. > POor cierto tampoco veo tantas diferencia en el tratamiento de este tipo de > conexiones con Java, a no ser que utilizeis un pool de conexiones o algo > así...??¿?¿? Es que de lo poco que me han comentado en Java creaban un único objeto singleton para las conexiones con la base de datos con lo que no tienen el problema de las consultas simultaneas y en la API de MySQL no existe la simulacion de los cursores. Gracias por la ayuda porque ando bastante perdido la verdad. Saludos, zako From erny en sicem.biz Mon Sep 13 18:42:42 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 13 Sep 2004 18:42:42 +0200 Subject: dudas de cursores en MySQLdb In-Reply-To: <20040913163522.GA1520@birgadista.rebelbase.dyns.cx> References: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> <20040913080347.E6CCD314040@marti.uji.es> <20040913163522.GA1520@birgadista.rebelbase.dyns.cx> Message-ID: <4145CE02.2060008@sicem.biz> Eso depende del nivel de 'aislamiento'. Si inicias una transacción, ves lo que tú haces, pero normalmente no lo que la otra gente hace, mientras dure tu transacción. Si inicias de nuevo una transacción 'verás' todas las modificaciones hechas desde otras conexiones. Si modificas en una transacción algo que ha sido modificado desde otra transacción y que ha sido confirmado (commit) tu el controlador debería lanzar una excepción. Pero hasta este nivel no sé cómo funcionan las transacciones de MySQL. Podrías buscar el google, a ver lo que pone. Erny zako escribió: >On Mon, Sep 13, 2004 at 10:09:05AM +0200, rosendo wrote: > > >>Buenas, >>Hasta donde yo sé cada conexión es absolutamente estanca por definición. No >>se comparte nada. Ahora si en una conexión todos los cursores se sincronizan >>OK, pero para nada afecta al resto de conexiones. >> >>No se si con esto aclaro tu duda. >> >> > >¿Esto quiere decir que con conexiones independientes no tiene por que >actualizarse la base de datos? ¿Al realizar una operacion sobre un >cursor, las otras conexiones se van a dar cuentas de las modificaciones >realizadas por una conexion diferente? > >Otra pregunta tambien es si tendria que implementar semaforos para el >acceso simultaneo a la base de datos o si la API y la BD se encarga de >ello por si mismas. > > > >>POor cierto tampoco veo tantas diferencia en el tratamiento de este tipo de >>conexiones con Java, a no ser que utilizeis un pool de conexiones o algo >>así...??¿?¿? >> >> > >Es que de lo poco que me han comentado en Java creaban un único objeto >singleton para las conexiones con la base de datos con lo que no tienen >el problema de las consultas simultaneas y en la API de MySQL no existe >la simulacion de los cursores. > >Gracias por la ayuda porque ando bastante perdido la verdad. Saludos, > >zako >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0437-1, 09/09/2004 Comprobado en: 13/09/2004 18:42:43 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From miuler_listas en csdelectronic.com Tue Sep 14 14:44:48 2004 From: miuler_listas en csdelectronic.com (Hector Miuler Malpica Gallegos) Date: Tue, 14 Sep 2004 07:44:48 -0500 Subject: [Zope-es] Zope y debian In-Reply-To: <4145725B.50609@zetadb.com> References: <1094963464.6976.3.camel@debi.debian> <4145725B.50609@zetadb.com> Message-ID: <1095165888.6518.11.camel@debi.debian> Ok, gracias por el truco, bueno te cuento que ya lo baje e instale segun los pasos que mencionas, luego cree una instancia en /var/lib/zope2.7/instance/miuler/ y luego puse /var/lib/zope2.7/instance/miuler/bin/zopectl start y nada, veo en localhost 8080 y nada, ¿que estoy haciendo mal? Uso Debian Sarge+Sid, python 2.3.4, kernel 2.6.6 Pd. Cuando funcione, que escript puedo poner en /etc/init.d/zope... El lun, 13-09-2004 a las 10:11 +0000, Santi Camps escribió: > En/na Hector Miuler Malpica Gallegos ha escrit: > > >Hola amigos, despues de buscar mucho y tratar de instalar el plone2 a > >mano e desistido, estoy instalando la version que se encuentra en > >debian, no tengo mucho tiempo como para tratar de instalar todo desde > >cero desde los tar.gz, para los amis que tienen funcionando su zope 2.7 > >y su plone 2, ¿que tan dificil de instalar es? ¿que tanto demora?, si me > >doy un tiempo y segun sus opiniones intentare instalar todo desde cero : > >(. > > > >Espero que pronto pongan zope2.7 y plone2 en debian, creo que zope en > >debian esta andando un poco lento, por no decir muy muy lento. > > > > > > > Hola, > > Si, realmente si quieres estar a la última en Zope lo mejor es ir a por > los .tar.gz Instalar Zope 2.7 es cuestión de diez minutos sabiendo > los pasos. > > 1) Necesitas python2.3 i python2.3-dev (apt-get install, claro) > 2) Desempaquetas el Zope (tar xvzf) > 3) Pequeño truco. Creo que el python2.3 que te habrás instalado será el > python2.3.4, mientras que zope espera el python2.3.3, aunque funcione > perfectamente con el 2.3.4. Edita el fichero "configure" y cambia el > TARGET="2.3.3" por un TARGET="2.3.4" > 4) ./configure --prefix=/path/donde/instalar > 5) make > 6) make install (con permisos para crear el path) > > Espero que te sirva > > Santi Camps > http://www.earcon.com > _______________________________________________ > Zope-es mailing list > Zope-es en aditel.org > http://listas.aditel.org/listinfo/zope-es > _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- .--. Hector Miuler Malpica Gallegos |o_o | Universidad Nacional del Callao - Peru |¡_/ | Escuela de Ingenieria Electronica // \ \ (| | ) /'\_ _/`\ \__)=(___/ .''`. Powered by: ,__, : :' : Debian GNU/Linux(SID) (2.4.21,Ext3) (oo)____ `. `' usuario registrado #308608 (__) mu )\ `- ||--|| * Jabber miuler en jabber.org ICQ 179326439 MSN miuler13 en yahoo.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol ----------------------------------------------------- From ignacio en pixartargentina.com.ar Tue Sep 14 01:30:05 2004 From: ignacio en pixartargentina.com.ar (Ignacio N Feijoo) Date: Mon, 13 Sep 2004 23:30:05 +0000 Subject: Problemas para crear una =?iso-8859-1?q?partici=F3n_=28python-par?= =?iso-8859-1?q?ted=29?= Message-ID: <41462D7D.6070909@pixartargentina.com.ar> Hola, soy nuevo en la lista y, antes que nada, debo aclarar que leí (o eso trate) todos los scripts sobre el tema que hay en la lista y hasta hable con Andrew Clausen, pero sin ninguna solución. Soy prácticamente nuevo con python, pero programo hace mucho y me acostumbre rápidamente al lenguaje, pero, me complica un poco algunas funciones y alguna documentación. El tema es que tengo que armar un particionador en python con parted (tengo, estoy obligado ). Ya tengo terminado todo el front-end (dialog) y el programa esta en condiciones de mostrar información sobre los discos y las particiones. Pero me cuesta crear particiones. Les muestro el script que hice para probar: [code] Ignacio:~/particionador/# cat test.py #!/usr/bin/env python import parted, sys parted.init() parted.device_probe_all() path = '/dev/hdc' drv = parted.device_get(path) disk = drv.disk_open() part = [] for i in disk.get_part_list(): if i.get_num() <> -1: part.append(i) fs = parted.file_system_type_get('ext2') type = parted.PARTITION_PRIMARY start = part[1].get_geom().get_end() + 1 size = start + 1000 Part = parted.Partition(disk,type,fs,start,size) if not Part: print "no se puede crear particion" sys.exit(1) if Part.get_num() == -1: print "particion fork?" sys.exit(2) if disk.add_partition(Part) == 0: print "nos e puede agregar la particion" sys.exit(3) else: print "Partition %s%d create!!" % (path,Part.get_num()) Ignacio:~/particionador/# ./test.py Partition fork? Ignacio:~/particionador/# [/code] Este código, o me genera una partición fork o me crea una partición normal, pero al tratar de hacer un add, me tira una violación de segmento. Estoy intentando hace mucho crear una partición y no sale. Pero, cuando trate de redimencionar una partición!!! Alguien puede ayudarme? alguien tiene un script que haga esto y que le pueda echar un vistazo? Gracias!!! From ignacio en olivoscc.com.ar Tue Sep 14 01:26:22 2004 From: ignacio en olivoscc.com.ar (Ignacio N. Feijoo) Date: Mon, 13 Sep 2004 23:26:22 +0000 Subject: Problemas para crear una =?iso-8859-1?q?partici=F3n_=28python-par?= =?iso-8859-1?q?ted=29?= Message-ID: <41462C9E.8080502@olivoscc.com.ar> Hola, soy nuevo en la lista y, antes que nada, debo aclarar que leí (o eso trate) todos los scripts sobre el tema que hay en la lista y hasta hable con Andrew Clausen, pero sin ninguna solución. Soy prácticamente nuevo con python, pero programo hace mucho y me acostumbre rápidamente al lenguaje, pero, me complica un poco algunas funciones y alguna documentación. El tema es que tengo que armar un particionador en python con parted (tengo, estoy obligado :) ). Ya tengo terminado todo el front-end (dialog) y el programa esta en condiciones de mostrar información sobre los discos y las particiones. Pero me cuesta crear particiones. Les muestro el script que hice para probar: [code] Ignacio:~/particionador/# cat test.py #!/usr/bin/env python import parted, sys parted.init() parted.device_probe_all() path = '/dev/hdc' drv = parted.device_get(path) disk = drv.disk_open() part = [] for i in disk.get_part_list(): if i.get_num() <> -1: part.append(i) fs = parted.file_system_type_get('ext2') type = parted.PARTITION_PRIMARY start = part[1].get_geom().get_end() + 1 size = start + 1000 Part = parted.Partition(disk,type,fs,start,size) if not Part: print "no se puede crear particion" sys.exit(1) if Part.get_num() == -1: print "particion fork?" sys.exit(2) if disk.add_partition(Part) == 0: print "nos e puede agregar la particion" sys.exit(3) else: print "Partition %s%d create!!" % (path,Part.get_num()) Ignacio:~/particionador/# ./test.py Partition fork? Ignacio:~/particionador/# [/code] Este código, o me genera una partición fork o me crea una partición normal, pero al tratar de hacer un add, me tira una violación de segmento. Estoy intentando hace mucho crear una partición y no sale. Pero, cuando trate de redimencionar una partición!!! Alguien puede ayudarme? alguien tiene un script que haga esto y que le pueda echar un vistazo? Gracias!!! From ezako en yahoo.es Tue Sep 14 22:52:29 2004 From: ezako en yahoo.es (zako) Date: Tue, 14 Sep 2004 22:52:29 +0200 Subject: dudas de cursores en MySQLdb In-Reply-To: <200409131732.22790.py@ch3m4.org> References: <20040912213250.GA1293@birgadista.rebelbase.dyns.cx> <200409131732.22790.py@ch3m4.org> Message-ID: <20040914205229.GA916@birgadista.rebelbase.dyns.cx> Pues muchas gracias a todos ahora por lo menos ya se por donde puedo empezar a investigar. Saludos, zako ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From packo_assamita en supercable.es Wed Sep 15 14:41:36 2004 From: packo_assamita en supercable.es (Packo) Date: Wed, 15 Sep 2004 14:41:36 +0200 Subject: Curso gratuito de programacion de Python con bases de datos In-Reply-To: <86b8f6b9040913010412181d98@mail.gmail.com> References: <86b8f6b9040913010412181d98@mail.gmail.com> Message-ID: <200409151441.36862.packo_assamita@supercable.es> El Lunes, 13 de Septiembre de 2004 10:04, david trillo escribió: > Alguien me puede orientar sobre algun curso o manual de python con > bases de datos? > david Yo seguí la documentacion oficial. -- |-------------------------------------| Paco Moreno - Assamita web: http://www.assamita.net Jabber: packo en bulmalug.net email: packo en assamita.net Perdonar por las molestias de cambio de web, ya es estable. |-------------------------------------| From alexmoreno en fastmail.fm Thu Sep 16 11:46:59 2004 From: alexmoreno en fastmail.fm (Alex Moreno) Date: Thu, 16 Sep 2004 11:46:59 +0200 Subject: impresoras en python Message-ID: <1095328019.32486.204494720@webmail.messagingengine.com> Hola a todos, estoy tanteando python para un proyecto y ahora mismo estoy buscando la forma de mandar datos a una impresora así como listar las presentes en el sistema. Si además fuera un módulo independiente de la plataforma, pues miel sobre hojuelas :-). De momento he estado buscando con la ayuda de Mr. Google sin éxito. Alguien podría echarme una mano? gracias, un saludo. -- Alex Moreno -- Alex Moreno From vitojph en gmail.com Fri Sep 17 02:17:26 2004 From: vitojph en gmail.com (Victor Peinado) Date: Thu, 16 Sep 2004 17:17:26 -0700 Subject: Python y MySQLdb. Message-ID: ¡Hola a todos! Tengo que trabajar con varias bases de datos en MySQL y había pensado utilizar MySQLdb y Python para acceder a determinadas tablas y crear otras nuevas con determinada información estadística. Estoy buscando tutoriales y documentación con ejemplos claros y lo único que he encontrado es esto, igual lo conocéis: http://www.devshed.com/c/a/Python/MySQL-Connectivity-With-Python/ Con eso puedo ir tirando pero agradecería algo más completo. ¿Alguna otra recomendación? Saludos. -- Víctor Peinado || || http://ieqo.org/blog From py en ch3m4.org Fri Sep 17 11:49:45 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 17 Sep 2004 11:49:45 +0200 Subject: Python y MySQLdb. In-Reply-To: References: Message-ID: <200409171149.48561.py@ch3m4.org> On Friday 17 September 2004 02:17, Victor Peinado wrote: > Tengo que trabajar con varias bases de datos en MySQL y había pensado > utilizar MySQLdb y Python para acceder a determinadas tablas y crear > otras nuevas con determinada información estadística. Estoy buscando > tutoriales y documentación con ejemplos claros y lo único que he > encontrado es esto, igual lo conocéis: > > http://www.devshed.com/c/a/Python/MySQL-Connectivity-With-Python/ > > Con eso puedo ir tirando pero agradecería algo más completo. ¿Alguna > otra recomendación? Saludos. Yo he utilizado este libro: "Web Programming in Python: Techniques for Integrating Linux, Apache and MySQL" by George K. Thiruvathukal, Thomas W. Christopher, John P. Shafaee http://www.slither.info/ ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lordzealon en ono.com Sat Sep 18 10:47:23 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Sat, 18 Sep 2004 10:47:23 +0200 Subject: [DISCUSION LADRILLO] El futuro de python en los dispositivos portatiles (PoketPc's, SmartPhones) In-Reply-To: <200408300925.45808.py@ch3m4.org> References: <413071A5.6030006@ono.com> <200408300925.45808.py@ch3m4.org> Message-ID: <414BF61B.9080301@ono.com> Bueno, ya tengo mi iPaq 4150 lo que pasa es que se me olvidó comentarlo :P Tengo también python instalado, lo que pasa es que no he tenido tiempo de probarlo, pero al menos funciona :P Así que si alguien necesita probar algo, que me lo comente e intentaré sacar tiempo de donde pueda. Cualquier cosa que pruebe o haga sobre la PPC os lo iré comentando, pos si os interesa. Un saludo -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From alexmoreno en fastmail.fm Sun Sep 19 13:00:58 2004 From: alexmoreno en fastmail.fm (Alex Moreno) Date: Sun, 19 Sep 2004 13:00:58 +0200 Subject: impresoras en python In-Reply-To: <1095328019.32486.204494720@webmail.messagingengine.com> References: <1095328019.32486.204494720@webmail.messagingengine.com> Message-ID: <1095591658.18883.204673700@webmail.messagingengine.com> Por si a alguien le sirve de ayuda he encontrado que con wxWindows se incluye un módulo para configurar impresoras y mandar documentos a la cola. Aún no lo he probado pero tiene buena pinta. Un saludo. On Thu, 16 Sep 2004 11:46:59 +0200, "Alex Moreno" said: > > Hola a todos, > > estoy tanteando python para un proyecto y ahora mismo estoy buscando la > forma de mandar datos a una impresora así como listar las presentes en > el sistema. Si además fuera un módulo independiente de la plataforma, > pues miel sobre hojuelas :-). De momento he estado buscando con la ayuda > de Mr. Google sin éxito. Alguien podría echarme una mano? > > gracias, un saludo. > -- > Alex Moreno > -- > Alex Moreno > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Alex Moreno From alexmoreno en gluem.org Thu Sep 16 11:45:34 2004 From: alexmoreno en gluem.org (Alex Moreno) Date: Thu, 16 Sep 2004 11:45:34 +0200 Subject: impresoras en python Message-ID: <1095327934.32022.204494563@webmail.messagingengine.com> Hola a todos, estoy tanteando python para un proyecto y ahora mismo estoy buscando la forma de mandar datos a una impresora así como listar las presentes en el sistema. Si además fuera un módulo independiente de la plataforma, pues miel sobre hojuelas :-). De momento he estado buscando con la ayuda de Mr. Google sin éxito. Alguien podría echarme una mano? gracias, un saludo. -- Alex Moreno From jcanto en hispasec.com Mon Sep 20 10:07:23 2004 From: jcanto en hispasec.com (Julio Canto) Date: Mon, 20 Sep 2004 10:07:23 +0200 Subject: impresoras en python In-Reply-To: <1095327934.32022.204494563@webmail.messagingengine.com> References: <1095327934.32022.204494563@webmail.messagingengine.com> Message-ID: <414E8FBB.5070504@hispasec.com> Alex Moreno wrote: >Hola a todos, > >estoy tanteando python para un proyecto y ahora mismo estoy buscando la >forma de mandar datos a una impresora así como listar las presentes en >el sistema. Si además fuera un módulo independiente de la plataforma, >pues miel sobre hojuelas :-). De momento he estado buscando con la ayuda >de Mr. Google sin éxito. Alguien podría echarme una mano? > >gracias, un saludo. > > En windows puedes usar la extensión win32 para mirar esas cosas con el API... en Linux no sabria decirte :? -- Regards, Julio Canto Hispasec Sistemas http://www.hispasec.com From alexmoreno en fastmail.fm Mon Sep 20 17:01:45 2004 From: alexmoreno en fastmail.fm (Alex Moreno) Date: Mon, 20 Sep 2004 17:01:45 +0200 Subject: impresoras en python In-Reply-To: <414E8FBB.5070504@hispasec.com> References: <1095327934.32022.204494563@webmail.messagingengine.com> <414E8FBB.5070504@hispasec.com> Message-ID: <1095692505.18083.204743673@webmail.messagingengine.com> El proyecto tiene que ser lo más portable posible. Creo que las librerías que vienen con wx cumplen ese objetivo. Gracias de todas formas. On Mon, 20 Sep 2004 10:07:23 +0200, "Julio Canto" said: > Alex Moreno wrote: > > >Hola a todos, > > > >estoy tanteando python para un proyecto y ahora mismo estoy buscando la > >forma de mandar datos a una impresora así como listar las presentes en > >el sistema. Si además fuera un módulo independiente de la plataforma, > >pues miel sobre hojuelas :-). De momento he estado buscando con la ayuda > >de Mr. Google sin éxito. Alguien podría echarme una mano? > > > >gracias, un saludo. > > > > > En windows puedes usar la extensión win32 para mirar esas cosas con el > API... en Linux no sabria decirte :? > > -- > Regards, > Julio Canto > Hispasec Sistemas > http://www.hispasec.com > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Alex Moreno From drg_alvaro en yahoo.com Mon Sep 20 17:17:17 2004 From: drg_alvaro en yahoo.com (Alvaro Abraham Colunga Rodriguez) Date: Mon, 20 Sep 2004 10:17:17 -0500 (CDT) Subject: impresoras en python In-Reply-To: <1095327934.32022.204494563@webmail.messagingengine.com> References: <1095327934.32022.204494563@webmail.messagingengine.com> Message-ID: <20040920151717.60579.qmail@web51109.mail.yahoo.com> Yo estoy trabajando con algo de eso, el proyecto tambien es multiplataforma windows/linux. Uso wxPython, despues de leer y bajar codigos logre decifrar el misterio y funciona bien en ambas plataformas, te puedo mandar algo para que lo veas y te puedas basar de ahi. --- Alex Moreno escribió: > Hola a todos, > > estoy tanteando python para un proyecto y ahora > mismo estoy buscando la > forma de mandar datos a una impresora así como > listar las presentes en > el sistema. Si además fuera un módulo independiente > de la plataforma, > pues miel sobre hojuelas :-). De momento he estado > buscando con la ayuda > de Mr. Google sin éxito. Alguien podría echarme una > mano? > > gracias, un saludo. > -- > Alex Moreno > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From alexmoreno en fastmail.fm Mon Sep 20 17:41:50 2004 From: alexmoreno en fastmail.fm (Alex Moreno) Date: Mon, 20 Sep 2004 17:41:50 +0200 Subject: impresoras en python In-Reply-To: <20040920151717.60579.qmail@web51109.mail.yahoo.com> References: <20040920151717.60579.qmail@web51109.mail.yahoo.com> Message-ID: <1095694910.22497.204747190@webmail.messagingengine.com> Si pudieras proporcinarme algo de código sería estupendo. En especial la parte en la que se envia el fichero fuente hacia la impresora. Muchísimas gracias, un saludo. On Mon, 20 Sep 2004 10:17:17 -0500 (CDT), "Alvaro Abraham Colunga Rodriguez" said: > Yo estoy trabajando con algo de eso, el proyecto > tambien es multiplataforma windows/linux. > > Uso wxPython, despues de leer y bajar codigos logre > decifrar el misterio y funciona bien en ambas > plataformas, te puedo mandar algo para que lo veas y > te puedas basar de ahi. > > > > --- Alex Moreno escribió: > > Hola a todos, > > > > estoy tanteando python para un proyecto y ahora > > mismo estoy buscando la > > forma de mandar datos a una impresora así como > > listar las presentes en > > el sistema. Si además fuera un módulo independiente > > de la plataforma, > > pues miel sobre hojuelas :-). De momento he estado > > buscando con la ayuda > > de Mr. Google sin éxito. Alguien podría echarme una > > mano? > > > > gracias, un saludo. > > -- > > Alex Moreno > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Alex Moreno From Nacho.eXr en gmail.com Mon Sep 20 17:42:59 2004 From: Nacho.eXr en gmail.com (Nacho [eXr]) Date: Mon, 20 Sep 2004 17:42:59 +0200 Subject: Limpiar el buffer del teclado o ignorarlo o algo Message-ID: <4bf171b904092008426bd186d4@mail.gmail.com> Buenas, tengo un script que lee varias variables por teclado, el problema reside en que despues de leer la primera variable si el ususario "sigue aporreando" el teclado cuando llega la segunda entrada de datos se llena con este "aporreo", y es más grave cuando al salir del programa en la línea de comandos aparece todo lo escrito despues: . . . s = raw_input("Servidor: ") pt = raw_input("Puerto: ") Conecta(s,pt) u = raw_input("Usuario: ") p = getpass.getpass("Clave: ") Login(u,p) . . . sys.exit(0) ¿Como podría hacer para limpiar el buffer del teclado o similar? Gracias From erny en sicem.biz Mon Sep 20 19:02:36 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 20 Sep 2004 19:02:36 +0200 Subject: Limpiar el buffer del teclado o ignorarlo o algo In-Reply-To: <4bf171b904092008426bd186d4@mail.gmail.com> References: <4bf171b904092008426bd186d4@mail.gmail.com> Message-ID: <414F0D2C.9080406@sicem.biz> Hola, para esos datos, no entiendo dónde puede estar el aporreo. Educación de usuarios. en todo caso, te recomiendo leer todos los datos primero, y después hacer la conexión. Erny puedes probar si un import sys; sys.stdin.buffer='' te sirve. Nacho [eXr] escribió: >Buenas, > >tengo un script que lee varias variables por teclado, el problema >reside en que despues de leer la primera variable si el ususario >"sigue aporreando" el teclado cuando llega la segunda entrada de datos >se llena con este "aporreo", y es más grave cuando al salir del >programa en la línea de comandos aparece todo lo escrito despues: > >. >. >. >s = raw_input("Servidor: ") >pt = raw_input("Puerto: ") >Conecta(s,pt) >u = raw_input("Usuario: ") >p = getpass.getpass("Clave: ") >Login(u,p) >. >. >. >sys.exit(0) > >¿Como podría hacer para limpiar el buffer del teclado o similar? > >Gracias >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0439-0, 20/09/2004 Comprobado en: 20/09/2004 19:02:38 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From morillas en posta.unizar.es Mon Sep 20 19:10:29 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Mon, 20 Sep 2004 19:10:29 +0200 Subject: Limpiar el buffer del teclado o ignorarlo o algo In-Reply-To: <4bf171b904092008426bd186d4@mail.gmail.com> References: <4bf171b904092008426bd186d4@mail.gmail.com> Message-ID: <20040920171028.GA1162@marmota> Asunto: [Python-es] Limpiar el buffer del teclado o ignorarlo o algo Fecha: lun, sep 20, 2004 at 05:42:59 +0200 Citando a Nacho [eXr] (Nacho.eXr en gmail.com): > Buenas, > > tengo un script que lee varias variables por teclado, el problema > reside en que despues de leer la primera variable si el ususario > "sigue aporreando" el teclado cuando llega la segunda entrada de datos > se llena con este "aporreo", y es más grave cuando al salir del > programa en la línea de comandos aparece todo lo escrito despues: > > . > . > . > s = raw_input("Servidor: ") > pt = raw_input("Puerto: ") > Conecta(s,pt) > u = raw_input("Usuario: ") > p = getpass.getpass("Clave: ") > Login(u,p) > . > . > . > sys.exit(0) > > ¿Como podría hacer para limpiar el buffer del teclado o similar? > sys.stdin.flush() vacía el buffer. -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From Nacho.eXr en gmail.com Mon Sep 20 19:24:42 2004 From: Nacho.eXr en gmail.com (Nacho [eXr]) Date: Mon, 20 Sep 2004 19:24:42 +0200 Subject: Limpiar el buffer del teclado o ignorarlo o algo In-Reply-To: <414F0D2C.9080406@sicem.biz> References: <4bf171b904092008426bd186d4@mail.gmail.com> <414F0D2C.9080406@sicem.biz> Message-ID: <4bf171b904092010243ad7415a@mail.gmail.com> Con el sys.stdin.buffer='' devuelve: Traceback (most recent call last): File "D:\dev\Proyectos\exr.py", line 574, in ? if __name__ == "__main__": main2() File "D:\dev\Proyectos\exr.py", line 558, in main2 sys.stdin.buffer='' AttributeError: 'file' object has no attribute 'buffer' El problema mejor explicado con un ejemplo, que se verá más claro: Despues de una petición de entrada, por ej: u = raw_input(" Usuario? ") el programa ejecuta una serie de procesos y bla bla bla. Supongamos que durante ese tiempo pulso algunas teclas, en este caso unas cuantas veces "asdf" y la tecla Intro. Seguidamente pulso "dir" y de nuevo Intro. El programa termina de procesar y sale con un sys.exit(0) normal y corriente. Al terminar el programa sale esto: D:\dev\Proyectos>herramusuario.py Usuario? user - Procesando . . . - Fin del procesado. D:\dev\Proyectos>asdfasdfasdfasdf 'asdfasdfasdfasdf' is not recognized as an internal or external command operable program or batch file. D:\dev\Proyectos>dir Volume in drive D is HD1 Volume Serial Number is XXXX-XXXX etc... D:\dev\Proyectos>_ Es decir, se ha ejecutado el buffer de teclado. Y esto ocurre tanto si sale del programma como si se pide otra entrada de datos. He buscado y rebuscado por Google alguna forma de borrar el buffer de entrada, he intentado usar sys.stdin.flush() pero tampoco. Parece algo simple pero me está costando más de lo q esperaba :/ On Mon, 20 Sep 2004 19:02:36 +0200, Ernesto Revilla wrote: > Hola, > > para esos datos, no entiendo dónde puede estar el aporreo. Educación de > usuarios. > > en todo caso, te recomiendo leer todos los datos primero, y después > hacer la conexión. > > Erny > > puedes probar si un import sys; sys.stdin.buffer='' te sirve. > > Nacho [eXr] escribió: > > > > >Buenas, > > > >tengo un script que lee varias variables por teclado, el problema > >reside en que despues de leer la primera variable si el ususario > >"sigue aporreando" el teclado cuando llega la segunda entrada de datos > >se llena con este "aporreo", y es más grave cuando al salir del > >programa en la línea de comandos aparece todo lo escrito despues: > > > >. > >. > >. > >s = raw_input("Servidor: ") > >pt = raw_input("Puerto: ") > >Conecta(s,pt) > >u = raw_input("Usuario: ") > >p = getpass.getpass("Clave: ") > >Login(u,p) > >. > >. > >. > >sys.exit(0) > > > >¿Como podría hacer para limpiar el buffer del teclado o similar? > > > >Gracias > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > > > --- > avast! Antivirus: Saliente mensaje limpio. > Base de datos de Virus (VPS): 0439-0, 20/09/2004 > Comprobado en: 20/09/2004 19:02:38 > avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > http://www.avast.com > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From henriquesjl en yahoo.es Mon Sep 20 15:52:43 2004 From: henriquesjl en yahoo.es (Jose Henriques) Date: Mon, 20 Sep 2004 09:52:43 -0400 Subject: impresoras en python In-Reply-To: <20040920151717.60579.qmail@web51109.mail.yahoo.com> References: <20040920151717.60579.qmail@web51109.mail.yahoo.com> Message-ID: <1095688363.6510.0.camel@gnobox> Seria bueno que lo mandaras a la lista y asi todos nos nutrimos del codigo... No crees? Solo digo. Gracias. On Mon, 2004-09-20 at 11:17, Alvaro Abraham Colunga Rodriguez wrote: > Yo estoy trabajando con algo de eso, el proyecto > tambien es multiplataforma windows/linux. > > Uso wxPython, despues de leer y bajar codigos logre > decifrar el misterio y funciona bien en ambas > plataformas, te puedo mandar algo para que lo veas y > te puedas basar de ahi. > > > > --- Alex Moreno escribió: > > Hola a todos, > > > > estoy tanteando python para un proyecto y ahora > > mismo estoy buscando la > > forma de mandar datos a una impresora así como > > listar las presentes en > > el sistema. Si además fuera un módulo independiente > > de la plataforma, > > pues miel sobre hojuelas :-). De momento he estado > > buscando con la ayuda > > de Mr. Google sin éxito. Alguien podría echarme una > > mano? > > > > gracias, un saludo. > > -- > > Alex Moreno > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From vitojph en gmail.com Tue Sep 21 02:43:49 2004 From: vitojph en gmail.com (Victor Peinado) Date: Mon, 20 Sep 2004 17:43:49 -0700 Subject: Convertir una lista en un diccionario. Message-ID: ¡Hola a todos! Tengo una pregunta tonta, creo. Me gustaría saber como pasar una lista de elementos a un diccionario, utilizando los elementos impares como claves y los pares como valores. ¿Para qué?, preguntaréis. Simplemente quiero capturar los parámetros que se le pasan a un script como argumentos en sys.argv, y quería convertir una estructura del tipo: sys.argv = ('-arg1', 'valor1', '-arg2', 'valor2', '-arg3', 'valor3') a algo como: argumentos = {'--arg1': 'valor1', '--arg2': 'valor2', '--arg3': 'valor3'} A lo mejor hay una forma más sencilla de hacerlo. ¿Cómo lo puedo hacer? Gracias de antemano y saludos. -- Víctor Peinado || || http://ieqo.org/blog From py en ch3m4.org Tue Sep 21 09:29:24 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 21 Sep 2004 09:29:24 +0200 Subject: Convertir una lista en un diccionario. In-Reply-To: References: Message-ID: <200409210929.28411.py@ch3m4.org> On Tuesday 21 September 2004 02:43, Victor Peinado wrote: > Tengo una pregunta tonta, creo. Me gustaría saber como pasar una lista > de elementos a un diccionario, utilizando los elementos impares como > claves y los pares como valores. ¿Para qué?, preguntaréis. > > Simplemente quiero capturar los parámetros que se le pasan a un script > como argumentos en sys.argv, y quería convertir una estructura del > tipo: > > sys.argv = ('-arg1', 'valor1', '-arg2', 'valor2', '-arg3', 'valor3') > > a algo como: > > argumentos = {'--arg1': 'valor1', '--arg2': 'valor2', '--arg3': 'valor3'} > > A lo mejor hay una forma más sencilla de hacerlo. ¿Cómo lo puedo > hacer? Gracias de antemano y saludos. Respondiendo a tu pregunta: dict(zip(Lista[::2],Lista[1::2])) Pero como consejo, intenta utilizar 'getopt' para estas cosas ó, mucho mejor, el 'optparser'. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Tue Sep 21 09:30:46 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 21 Sep 2004 09:30:46 +0200 Subject: Convertir una lista en un diccionario. References: Message-ID: <000e01c49fac$f7572010$d900a8c0@catalin> for ii in range(len(sys.argv)): if ii % 2 == 0: argumentos[sys.argv[ii]] = sys.argv[ii+1] Seguro habra una forma mas "pythonica" de hacerlo. Un saludo, Catalin Lungu ----- Original Message ----- From: "Victor Peinado" To: "Python-ES" Sent: Tuesday, September 21, 2004 2:43 AM Subject: [Python-es] Convertir una lista en un diccionario. ¡Hola a todos! Tengo una pregunta tonta, creo. Me gustaría saber como pasar una lista de elementos a un diccionario, utilizando los elementos impares como claves y los pares como valores. ¿Para qué?, preguntaréis. Simplemente quiero capturar los parámetros que se le pasan a un script como argumentos en sys.argv, y quería convertir una estructura del tipo: sys.argv = ('-arg1', 'valor1', '-arg2', 'valor2', '-arg3', 'valor3') a algo como: argumentos = {'--arg1': 'valor1', '--arg2': 'valor2', '--arg3': 'valor3'} A lo mejor hay una forma más sencilla de hacerlo. ¿Cómo lo puedo hacer? Gracias de antemano y saludos. -- Víctor Peinado || || http://ieqo.org/blog _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Sep 21 11:12:25 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Tue, 21 Sep 2004 11:12:25 +0200 Subject: Convertir una lista en un diccionario. In-Reply-To: <200409210929.28411.py@ch3m4.org> References: <200409210929.28411.py@ch3m4.org> Message-ID: <200409211112.28589.py@ch3m4.org> On Tuesday 21 September 2004 09:29, Chema Cortés wrote: > Respondiendo a tu pregunta: > > dict(zip(Lista[::2],Lista[1::2])) Como esta solución me parecía demasiado "obfuscada", aquí pongo otra más "pytónica" usando iteradores: def ipair(L,n=2): while L: x,L=L[:n],L[n:] yield x dict(ipair(Lista)) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Tue Sep 21 12:23:48 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 21 Sep 2004 12:23:48 +0200 Subject: Limpiar el buffer del teclado o ignorarlo o algo In-Reply-To: <4bf171b904092010243ad7415a@mail.gmail.com> References: <4bf171b904092008426bd186d4@mail.gmail.com> <414F0D2C.9080406@sicem.biz> <4bf171b904092010243ad7415a@mail.gmail.com> Message-ID: <41500134.1020503@sicem.biz> Vale. Lo he probado con Python 2.3, pero creo mejor es lo que han comentado (no había visto el método al escribir sys.stdin en mi Pythonwin, no me aparecía el método flush, aunque lo conocía para la salida.) Erny Nacho [eXr] escribió: >Con el sys.stdin.buffer='' devuelve: > >Traceback (most recent call last): > File "D:\dev\Proyectos\exr.py", line 574, in ? > if __name__ == "__main__": main2() > File "D:\dev\Proyectos\exr.py", line 558, in main2 > sys.stdin.buffer='' >AttributeError: 'file' object has no attribute 'buffer' > > >El problema mejor explicado con un ejemplo, que se verá más claro: > >Despues de una petición de entrada, por ej: u = raw_input(" Usuario? ") >el programa ejecuta una serie de procesos y bla bla bla. Supongamos >que durante ese tiempo pulso algunas teclas, en este caso unas cuantas >veces "asdf" y la tecla Intro. Seguidamente pulso "dir" y de nuevo >Intro. El programa termina de procesar y sale con un sys.exit(0) >normal y corriente. Al terminar el programa sale esto: > >D:\dev\Proyectos>herramusuario.py > Usuario? user > - Procesando . . . > - Fin del procesado. > >D:\dev\Proyectos>asdfasdfasdfasdf >'asdfasdfasdfasdf' is not recognized as an internal or external command >operable program or batch file. > >D:\dev\Proyectos>dir > Volume in drive D is HD1 > Volume Serial Number is XXXX-XXXX > etc... > >D:\dev\Proyectos>_ > >Es decir, se ha ejecutado el buffer de teclado. Y esto ocurre tanto si >sale del programma como si se pide otra entrada de datos. He buscado y >rebuscado por Google alguna forma de borrar el buffer de entrada, he >intentado usar sys.stdin.flush() pero tampoco. Parece algo simple pero >me está costando más de lo q esperaba :/ > >On Mon, 20 Sep 2004 19:02:36 +0200, Ernesto Revilla wrote: > > >>Hola, >> >>para esos datos, no entiendo dónde puede estar el aporreo. Educación de >>usuarios. >> >>en todo caso, te recomiendo leer todos los datos primero, y después >>hacer la conexión. >> >>Erny >> >>puedes probar si un import sys; sys.stdin.buffer='' te sirve. >> >>Nacho [eXr] escribió: >> >> >> >> >> >>>Buenas, >>> >>>tengo un script que lee varias variables por teclado, el problema >>>reside en que despues de leer la primera variable si el ususario >>>"sigue aporreando" el teclado cuando llega la segunda entrada de datos >>>se llena con este "aporreo", y es más grave cuando al salir del >>>programa en la línea de comandos aparece todo lo escrito despues: >>> >>>. >>>. >>>. >>>s = raw_input("Servidor: ") >>>pt = raw_input("Puerto: ") >>>Conecta(s,pt) >>>u = raw_input("Usuario: ") >>>p = getpass.getpass("Clave: ") >>>Login(u,p) >>>. >>>. >>>. >>>sys.exit(0) >>> >>>¿Como podría hacer para limpiar el buffer del teclado o similar? >>> >>>Gracias >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >>> >>> >>> >>--- >>avast! Antivirus: Saliente mensaje limpio. >>Base de datos de Virus (VPS): 0439-0, 20/09/2004 >>Comprobado en: 20/09/2004 19:02:38 >>avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >>http://www.avast.com >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0439-0, 20/09/2004 Comprobado en: 21/09/2004 12:23:49 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From Nacho.eXr en gmail.com Tue Sep 21 13:58:57 2004 From: Nacho.eXr en gmail.com (Nacho [eXr]) Date: Tue, 21 Sep 2004 13:58:57 +0200 Subject: Limpiar el buffer del teclado o ignorarlo o algo In-Reply-To: <41500134.1020503@sicem.biz> References: <4bf171b904092008426bd186d4@mail.gmail.com> <414F0D2C.9080406@sicem.biz> <4bf171b904092010243ad7415a@mail.gmail.com> <41500134.1020503@sicem.biz> Message-ID: <4bf171b9040921045862cafee4@mail.gmail.com> En efecto y según la documentación de Python el método flush() es el que vacía el sys.stdin, pero yo lo tengo así al finalizar: print " - Fin del procesado." sys.stdin.flush() sys.exit(0) Hice pruebas con un código simple: import sys, time time.sleep(10) print 'Fin.' sys.stdin.flush() sys.exit(0) y escribiendo "dir" + Intro hace un dir nada más terminar. He visto códigos en C++ que utilizan fflush() pero se ve que en Python funciona de otra forma, no? Utilizando: Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32 On Tue, 21 Sep 2004 12:23:48 +0200, Ernesto Revilla wrote: > Vale. Lo he probado con Python 2.3, pero creo mejor es lo que han > comentado (no había visto el método al escribir sys.stdin en mi > Pythonwin, no me aparecía el método flush, aunque lo conocía para la > salida.) > > Erny > > Nacho [eXr] escribió: > > > > >Con el sys.stdin.buffer='' devuelve: > > > >Traceback (most recent call last): > > File "D:\dev\Proyectos\exr.py", line 574, in ? > > if __name__ == "__main__": main2() > > File "D:\dev\Proyectos\exr.py", line 558, in main2 > > sys.stdin.buffer='' > >AttributeError: 'file' object has no attribute 'buffer' > > > > > >El problema mejor explicado con un ejemplo, que se verá más claro: > > > >Despues de una petición de entrada, por ej: u = raw_input(" Usuario? ") > >el programa ejecuta una serie de procesos y bla bla bla. Supongamos > >que durante ese tiempo pulso algunas teclas, en este caso unas cuantas > >veces "asdf" y la tecla Intro. Seguidamente pulso "dir" y de nuevo > >Intro. El programa termina de procesar y sale con un sys.exit(0) > >normal y corriente. Al terminar el programa sale esto: > > > >D:\dev\Proyectos>herramusuario.py > > Usuario? user > > - Procesando . . . > > - Fin del procesado. > > > >D:\dev\Proyectos>asdfasdfasdfasdf > >'asdfasdfasdfasdf' is not recognized as an internal or external command > >operable program or batch file. > > > >D:\dev\Proyectos>dir > > Volume in drive D is HD1 > > Volume Serial Number is XXXX-XXXX > > etc... > > > >D:\dev\Proyectos>_ > > > >Es decir, se ha ejecutado el buffer de teclado. Y esto ocurre tanto si > >sale del programma como si se pide otra entrada de datos. He buscado y > >rebuscado por Google alguna forma de borrar el buffer de entrada, he > >intentado usar sys.stdin.flush() pero tampoco. Parece algo simple pero > >me está costando más de lo q esperaba :/ > > > >On Mon, 20 Sep 2004 19:02:36 +0200, Ernesto Revilla wrote: > > > > > >>Hola, > >> > >>para esos datos, no entiendo dónde puede estar el aporreo. Educación de > >>usuarios. > >> > >>en todo caso, te recomiendo leer todos los datos primero, y después > >>hacer la conexión. > >> > >>Erny > >> > >>puedes probar si un import sys; sys.stdin.buffer='' te sirve. > >> > >>Nacho [eXr] escribió: > >> > >> > >> > >> > >> > >>>Buenas, > >>> > >>>tengo un script que lee varias variables por teclado, el problema > >>>reside en que despues de leer la primera variable si el ususario > >>>"sigue aporreando" el teclado cuando llega la segunda entrada de datos > >>>se llena con este "aporreo", y es más grave cuando al salir del > >>>programa en la línea de comandos aparece todo lo escrito despues: > >>> > >>>. > >>>. > >>>. > >>>s = raw_input("Servidor: ") > >>>pt = raw_input("Puerto: ") > >>>Conecta(s,pt) > >>>u = raw_input("Usuario: ") > >>>p = getpass.getpass("Clave: ") > >>>Login(u,p) > >>>. > >>>. > >>>. > >>>sys.exit(0) > >>> > >>>¿Como podría hacer para limpiar el buffer del teclado o similar? > >>> > >>>Gracias > >>>_______________________________________________ > >>>Python-es mailing list > >>>Python-es en aditel.org > >>>http://listas.aditel.org/listinfo/python-es > >>> > >>> > >>> > >>> > >>> > >>--- > >>avast! Antivirus: Saliente mensaje limpio. > >>Base de datos de Virus (VPS): 0439-0, 20/09/2004 > >>Comprobado en: 20/09/2004 19:02:38 > >>avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > >>http://www.avast.com > >> > >>_______________________________________________ > >>Python-es mailing list > >>Python-es en aditel.org > >>http://listas.aditel.org/listinfo/python-es > >> > >> > >> > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > > > --- > avast! Antivirus: Saliente mensaje limpio. > Base de datos de Virus (VPS): 0439-0, 20/09/2004 > Comprobado en: 21/09/2004 12:23:49 > > > avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > http://www.avast.com > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From atinar_arodatlas en hotmail.com Tue Sep 21 16:41:27 2004 From: atinar_arodatlas en hotmail.com (Atinar Arodatlas) Date: Tue, 21 Sep 2004 16:41:27 +0200 Subject: =?iso-8859-1?q?Gesti=F3n_de_sesiones_X_en_Linux?= Message-ID: Hola, Estoy intentando escribir una aplicación para llevar un registro de sesiones X en Linux (básicamente registrar el nombre de usuario y la duración de cada sesión). La aplicación se inicia después del login, al ser llamada desde el script "/etc/X11/gdm/PreSession/Default", pero necesito que el gestor de sesiones informe a la aplicación cuando el usuario haga el logout. En la documentación de los wxWidgets que estoy usando he visto que hay un par de eventos que se generan al terminar la sesion, que son SESSION_QUERY_END y SESSION_END, con lo que, aparentemente bastaría con registrar una función de callback con alguno de estos eventos. El problema es que estos eventos no se producen nunca... Dado que con las wxWidgets no he conseguido avanzar, lo he intentado con la libreria gnome-python (o pygnome), en la que hay una clase llamada gnome.ui.Client que, parece ser, actua como cliente del gestor de sesiones. Según la (escasa) documentación que he encontrado, se obtiene una instancia de esta clase con una llamada a la función gnome.ui.master_client() y luego se puede usar esta instancia para conectar las correspondientes funciones a los eventos de fin de sesión. Pero el problema aquí es que la susodicha función siempre devuelve None... Si creo directamente una instancia de Client y trato de registrar funciones de retorno para las señales "die" y "save_yourself", que me ha parecido que son las que están relacionadas con lo que quiero, esas funciones tampoco son llamadas nunca... Así que antes de que mi frustración llegue a niveles preocupantes, me gustaría saber si existe algo que funcione en python para saber cuando una sesión X ha terminado. Gracias, Atinar From rodrigo en nul-unu.com Tue Sep 21 17:16:31 2004 From: rodrigo en nul-unu.com (Luis Rodrigo Gallardo Cruz) Date: Tue, 21 Sep 2004 10:16:31 -0500 Subject: =?iso-8859-1?Q?Gesti=F3?= =?iso-8859-1?Q?n?= de sesiones X en Linux In-Reply-To: References: Message-ID: <20040921151631.GA3100@mail.interservice.net> On Tue, Sep 21, 2004 at 04:41:27PM +0200, Atinar Arodatlas wrote: > Hola, > > Estoy intentando escribir una aplicación para llevar un registro de sesiones > X en Linux (básicamente registrar el nombre de usuario y la duración de cada > sesión). > > La aplicación se inicia después del login, al ser llamada desde el script > "/etc/X11/gdm/PreSession/Default", > pero necesito que el gestor de sesiones informe a la aplicación cuando el > usuario haga el logout. ¿Por que no mejor corres algo en el PostSession? -- Rodrigo Gallardo PGP Key ID: ADC9BC28 Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ignacio en pixartargentina.com.ar Tue Sep 21 03:12:27 2004 From: ignacio en pixartargentina.com.ar (Ignacio N Feijoo) Date: Tue, 21 Sep 2004 01:12:27 +0000 Subject: Front-end para el mkfs In-Reply-To: <20040921151631.GA3100@mail.interservice.net> References: <20040921151631.GA3100@mail.interservice.net> Message-ID: <414F7FFB.9080004@pixartargentina.com.ar> Estoy tratando de hacer un front-end para formatear una partición. Para eso tengo que tomar la salida del mkfs.ext2, o mkfs.xfs, etc. Con la sentencia os.system, no lo puedo hacer, con el commands.getoutput(), funciona, pero desde el shell de python, si lo hago en un script, no pasa nada. Alguien puede ayudarme como hacer para formatear, obtener la salida e imprimir al menos un "progress %d %" % (progress)??? gracias. From drg_alvaro en yahoo.com Tue Sep 21 18:02:13 2004 From: drg_alvaro en yahoo.com (Alvaro Abraham Colunga Rodriguez) Date: Tue, 21 Sep 2004 11:02:13 -0500 (CDT) Subject: impresoras en python In-Reply-To: <1095694910.22497.204747190@webmail.messagingengine.com> References: <1095694910.22497.204747190@webmail.messagingengine.com> Message-ID: <20040921160214.33786.qmail@web51102.mail.yahoo.com> Aqui te mando un archivo en donde hace eso, para que lo tomes de ejemplo, no te va funcionar directamente porque depende de otros archivos. Pero puedes ver como utilizar las funciones. --- Alex Moreno escribió: > Si pudieras proporcinarme algo de código sería > estupendo. En especial la > parte en la que se envia el fichero fuente hacia la > impresora. > > Muchísimas gracias, un saludo. > _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmail.com Tue Sep 21 18:50:15 2004 From: vitojph en gmail.com (Victor Peinado) Date: Tue, 21 Sep 2004 09:50:15 -0700 Subject: Convertir una lista en un diccionario. In-Reply-To: <200409210929.28411.py@ch3m4.org> References: <200409210929.28411.py@ch3m4.org> Message-ID: On Tue, 21 Sep 2004 09:29:24 +0200, Chema Cortés wrote: > On Tuesday 21 September 2004 02:43, Victor Peinado wrote: > > Respondiendo a tu pregunta: > > dict(zip(Lista[::2],Lista[1::2])) Ok, dejaré ésto para situaciones generales. > Pero como consejo, intenta utilizar 'getopt' para estas cosas ó, mucho mejor, > el 'optparser'. Y ésto para este momento concreto, que es lo ideal. Gracias a todos por las respuestas. Saludos. -- Víctor Peinado || || http://ieqo.org/blog From maramsis en yahoo.com.ar Tue Sep 21 20:23:14 2004 From: maramsis en yahoo.com.ar (Marcelo Ametller) Date: Tue, 21 Sep 2004 15:23:14 -0300 (ART) Subject: impresoras en python In-Reply-To: <20040921160214.33786.qmail@web51102.mail.yahoo.com> References: <20040921160214.33786.qmail@web51102.mail.yahoo.com> Message-ID: <20040921182314.66364.qmail@web90004.mail.scd.yahoo.com> --- Alvaro Abraham Colunga Rodriguez escribió: > Aqui te mando un archivo en donde hace eso, para que seguro que adjuntaste el archivo? ... > lo tomes de ejemplo, no te va funcionar directamente > porque depende de otros archivos. Pero puedes ver como > utilizar las funciones. > > > --- Alex Moreno escribió: > > Si pudieras proporcinarme algo de código sería > > estupendo. En especial la > > parte en la que se envia el fichero fuente hacia la > > impresora. > > > > Muchísimas gracias, un saludo. > > > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! > Noticias. > Visítanos en http://noticias.espanol.yahoo.com> _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ===== Marcelo --------------------------------- Maram Sistemas Debian Sarge - Linux User: 354777 ___________________________________________________________ 100mb gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar From rapto en arrakis.es Tue Sep 21 21:06:03 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Tue, 21 Sep 2004 21:06:03 +0200 Subject: impresoras en python In-Reply-To: <20040921182314.66364.qmail@web90004.mail.scd.yahoo.com> References: <20040921182314.66364.qmail@web90004.mail.scd.yahoo.com> Message-ID: <1095793562.4275.11.camel@renata.macondo.pri> Ejem, la lista se manduca todos los adjuntos. Si alguien sabe cómo afinar esto en mailman, que levante la mano. Lo más sencillo es pegar el código si es corto o guardarlo en algún lugar de la web y mandar el enlace. El mar, 21-09-2004 a las 20:23, Marcelo Ametller escribió: > --- Alvaro Abraham Colunga Rodriguez > escribió: > > Aqui te mando un archivo en donde hace eso, para que > > seguro que adjuntaste el archivo? ... > > > > lo tomes de ejemplo, no te va funcionar directamente > > porque depende de otros archivos. Pero puedes ver como > > utilizar las funciones. > > > > > > --- Alex Moreno escribió: > > > Si pudieras proporcinarme algo de código sería > > > estupendo. En especial la > > > parte en la que se envia el fichero fuente hacia la > > > impresora. > > > > > > Muchísimas gracias, un saludo. > > > > > > > _________________________________________________________ > > Do You Yahoo!? > > Información de Estados Unidos y América Latina, en Yahoo! > > Noticias. > > Visítanos en http://noticias.espanol.yahoo.com> > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > ===== > Marcelo > --------------------------------- > Maram Sistemas > Debian Sarge - Linux User: 354777 > > > > > > ___________________________________________________________ > 100mb gratis, Antivirus y Antispam > Correo Yahoo!, el mejor correo web del mundo > http://correo.yahoo.com.ar > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From atinar_arodatlas en hotmail.com Wed Sep 22 01:18:15 2004 From: atinar_arodatlas en hotmail.com (Atinar Arodatlas) Date: Wed, 22 Sep 2004 01:18:15 +0200 Subject: =?iso-8859-1?Q?Re:_=5BPython-es=5D_Gesti=F3n_desesiones_X_en_Linux?= References: <20040921151631.GA3100@mail.interservice.net> Message-ID: No me sirve ejecutar algo en el PostSession porque la aplicación tiene que mostrar una ventana al usuario durante toda la sesión indicándole la duración de la misma (mejor dicho, el tiempo que le queda del tiempo que tiene asignado...). Además desconozco como averiguar la duración de la sesión si no es contando el tiempo desde el principio (seguro que hay una forma, pero la primera objeción sigue siendo importante). Posiblemente podría lanzar en el PostSession alguna otra aplicación que avisara de alguna forma a la primera, pero no tengo ni idea de como hacer eso y además eso es precisamente lo que se supone que el Session Manager hace. Gracias por la sugerencia. ----- Original Message ----- From: "Luis Rodrigo Gallardo Cruz" To: "La lista de python en castellano" Sent: Tuesday, September 21, 2004 5:16 PM Subject: Re: [Python-es] Gestión desesiones X en Linux _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Wed Sep 22 11:45:35 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Wed, 22 Sep 2004 11:45:35 +0200 Subject: CPython & IronPython Message-ID: <200409221145.35200.pepe@diselpro.com> Hola a todos... Tengo unas dudas que me corroen ;-) : ¿ En algún momento CPython traduce el código compilado de python a código máquina nativo de la plataforma donde corre o sólo interpreta ese código ? La implementación de Ironpython ¿ es una simple implementación del interprete cpython en C# ó por lo contrario es un compilador de python a CIL ? Gracias. From hernan en orgmf.com.ar Wed Sep 22 12:10:06 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Wed, 22 Sep 2004 12:10:06 +0200 Subject: CPython & IronPython In-Reply-To: <200409221145.35200.pepe@diselpro.com> References: <200409221145.35200.pepe@diselpro.com> Message-ID: > Tengo unas dudas que me corroen ;-) : > > ¿ En algún momento CPython traduce el código compilado de python a > código máquina nativo de la plataforma donde corre o sólo interpreta > ese código ? Lo segundo, si por CPython te refieres a la distribucion de python.org. Hay extensiones (por llamarlas de algún modo) que generan código nativo. > La implementación de Ironpython ¿ es una simple implementación del > interprete cpython en C# ó por lo contrario es un compilador de > python a CIL ? Lo segundo, también. -H. From setepo en gulic.org Wed Sep 22 12:13:16 2004 From: setepo en gulic.org (Ayose) Date: Wed, 22 Sep 2004 11:13:16 +0100 Subject: CPython & IronPython In-Reply-To: <200409221145.35200.pepe@diselpro.com> References: <200409221145.35200.pepe@diselpro.com> Message-ID: <20040922101315.GA4709@setepo.gotdns.org> Buenas [Pepe Aracil] > [...] > ¿ En algún momento CPython traduce el código compilado de python a código > máquina nativo de la plataforma donde corre o sólo interpreta ese código ? Se traduce a byte-code y se interpreta >>> def f(a, b): ... import math ... return math.sin(a*b) ... >>> f(5,6) -0.98803162409286183 >>> import dis >>> dis.dis(f) 2 0 LOAD_CONST 0 (None) 3 IMPORT_NAME 0 (math) 6 STORE_FAST 2 (math) 3 9 LOAD_FAST 2 (math) 12 LOAD_ATTR 1 (sin) 15 LOAD_FAST 0 (a) 18 LOAD_FAST 1 (b) 21 BINARY_MULTIPLY 22 CALL_FUNCTION 1 25 RETURN_VALUE 26 LOAD_CONST 0 (None) 29 RETURN_VALUE > > La implementación de Ironpython ¿ es una simple implementación del interprete > cpython en C# ó por lo contrario es un compilador de python a CIL ? Un compilador, igual que Jython para Java. -- Ayose Cazorla León Debian GNU/Linux - setepo From ezako en yahoo.es Wed Sep 22 12:20:17 2004 From: ezako en yahoo.es (zako) Date: Wed, 22 Sep 2004 12:20:17 +0200 (CEST) Subject: duda de transacciones con MySQLdb (Innodb) Message-ID: <20040922102017.533.qmail@web25202.mail.ukl.yahoo.com> Aupa, despues de los consejos de gente de esta lista me he decantado por usar un motor Innodb en MySQL para tener transacciones en mi programa Python. He estado mirando en la documentacion de la API de MySQLdb y en la del PEP DB API 2.0 de Python. Se que se puede iniciar una transaccion, realizar la transaccion o abortarla, pero no he encontrado ningun metodo para salvar una serie de operaciones MySQL y en caso de abortar la transaccion que se realicen las operaciones especificcadas hasta ese punto. Me gustaria saber si existe el método (que no he localizado) o si se puede "emular" de alguna forma. Un saludo y gracias por la ayuda, zako ______________________________________________ Renovamos el Correo Yahoo!: ¡100 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From jileon en parcan.es Wed Sep 22 12:26:20 2004 From: jileon en parcan.es (=?ISO-8859-1?Q?Juan_Ignacio_Rodr=EDguez_de_Le=F3n?=) Date: Wed, 22 Sep 2004 11:26:20 +0100 Subject: =?ISO-8859-1?Q?Gesti=F3n_de_sesiones_X_e?= =?ISO-8859-1?Q?n_Linux?= In-Reply-To: References: Message-ID: <4151534C.9000908@parcan.es> Atinar Arodatlas wrote: >Hola, > >Estoy intentando escribir una aplicación para llevar un registro de sesiones >X en Linux (básicamente registrar el nombre de usuario y la duración de cada >sesión). > > No se si esto te podra servir. en X se puede definir un script que se ejecuta cuando acaba la sesion: Te copio lo que me dijo papa google: * > *RESET PROGRAM* > Symmetrical with /Xstartup, /the /Xreset /script is run after the > user session has terminated. Run as root, it should contain > commands that undo the effects of commands in /Xstartup, /removing > entries from //etc///utmp /or unmounting directories from file > servers. The environment variables that were passed to /Xstartup > /are also passed to /Xreset. // / > > A sample /Xreset /script: > > > # !/bin/sh > # > # Xreset > # > # This program is run as root after the session ends > # > sessreg - d - 1 $DISPLAY - x /usr/X11R6/lib/xdm/Xservers $USER > /usr/X11R6/lib/xdm/TakeConsole > exit 0 > *Sacado del X-Window System User guide. From erny en sicem.biz Wed Sep 22 12:33:13 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 22 Sep 2004 12:33:13 +0200 Subject: duda de transacciones con MySQLdb (Innodb) In-Reply-To: <20040922102017.533.qmail@web25202.mail.ukl.yahoo.com> References: <20040922102017.533.qmail@web25202.mail.ukl.yahoo.com> Message-ID: <415154E9.1050508@sicem.biz> Hola, eso no es estándar db-api 2.0. De hecho, no hay muchas bases de datos que lo soporten. Hay dos interfaces a ello: transacciones anidadas, es decir, dentro de una transacción puedes empezar otra, y la otra interfaz es con savepoints. Te recomendaría inicialmente trabajar sin transacciones anidadas. Por lo demás, creo que las interfaces db-api 2.0 inician una transacción automáticamente siempre, y si no está habilitado el 'Autocommit', tienes que hacer tú siempre el 'commit' para que los cambios se hagan efectivos. Erny zako escribió: >Aupa, > >despues de los consejos de gente de esta lista me he >decantado por usar un motor Innodb en MySQL para tener >transacciones en mi programa Python. > >He estado mirando en la documentacion de la API de >MySQLdb y en la del PEP DB API 2.0 de Python. Se que >se puede iniciar una transaccion, realizar la >transaccion o abortarla, pero no he encontrado ningun >metodo para salvar una serie de operaciones MySQL y en >caso de abortar la transaccion que se realicen las >operaciones especificcadas hasta ese punto. > >Me gustaria saber si existe el método (que no he >localizado) o si se puede "emular" de alguna forma. Un >saludo y gracias por la ayuda, > >zako > > > >______________________________________________ >Renovamos el Correo Yahoo!: ¡100 MB GRATIS! >Nuevos servicios, más seguridad >http://correo.yahoo.es >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0439-0, 20/09/2004 Comprobado en: 22/09/2004 12:33:14 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From mlarreategi en codesyntax.com Wed Sep 22 12:33:43 2004 From: mlarreategi en codesyntax.com (Mikel Larreategi) Date: Wed, 22 Sep 2004 12:33:43 +0200 Subject: duda de transacciones con MySQLdb (Innodb) In-Reply-To: <20040922102017.533.qmail@web25202.mail.ukl.yahoo.com> References: <20040922102017.533.qmail@web25202.mail.ukl.yahoo.com> Message-ID: <41515507.2030207@codesyntax.com> zako wrote: > He estado mirando en la documentacion de la API de > MySQLdb y en la del PEP DB API 2.0 de Python. Se que > se puede iniciar una transaccion, realizar la > transaccion o abortarla, pero no he encontrado ningun > metodo para salvar una serie de operaciones MySQL y en > caso de abortar la transaccion que se realicen las > operaciones especificcadas hasta ese punto. Una transacción debe cumplir las propiedades ACID: Atomicity, Consistency, Isolation y Durability, sin ellas no se puede garantizar la integridad de la Base de Datos. http://en.wikipedia.org/wiki/ACID En la Base de Datos, de realizar alguna operación, se deben realizar *todas* las operaciones de las que consta la transacción. Si no quieres que algunas operaciones se reflejen igual tienes que hacer dos transacciones y no una. Saludos -- Mikel Larreategi mlarreategi en codesyntax.com CodeSyntax Azitaingo Industrialdea 3 K E-20600 Eibar Tel: +34 943 82 17 80 From lordzealon en ono.com Wed Sep 22 14:03:59 2004 From: lordzealon en ono.com (Lord ZealoN) Date: Wed, 22 Sep 2004 14:03:59 +0200 Subject: CPython & IronPython In-Reply-To: <20040922101315.GA4709@setepo.gotdns.org> References: <200409221145.35200.pepe@diselpro.com> <20040922101315.GA4709@setepo.gotdns.org> Message-ID: <41516A2F.50008@ono.com> Ayose wrote: > Buenas > > [Pepe Aracil] > >>[...] >>¿ En algún momento CPython traduce el código compilado de python a código >>máquina nativo de la plataforma donde corre o sólo interpreta ese código ? > > > Se traduce a byte-code y se interpreta > > >>>>def f(a, b): > > ... import math > ... return math.sin(a*b) > ... > >>>>f(5,6) > > -0.98803162409286183 > >>>>import dis >>>>dis.dis(f) > > 2 0 LOAD_CONST 0 (None) > 3 IMPORT_NAME 0 (math) > 6 STORE_FAST 2 (math) > > 3 9 LOAD_FAST 2 (math) > 12 LOAD_ATTR 1 (sin) > 15 LOAD_FAST 0 (a) > 18 LOAD_FAST 1 (b) > 21 BINARY_MULTIPLY > 22 CALL_FUNCTION 1 > 25 RETURN_VALUE > 26 LOAD_CONST 0 (None) > 29 RETURN_VALUE > > > >>La implementación de Ironpython ¿ es una simple implementación del interprete >>cpython en C# ó por lo contrario es un compilador de python a CIL ? > > > Un compilador, igual que Jython para Java. > Ummm....peeroooo.. el que llevaba IronPython fue contratado por M$. Por lo tanto, IronPython sigue en proceso???? o ya nos podemos olvidar de el? Porque me parece una alternativa muy muy buena. -- Lord_ZealoN (Project Leader) Fire&Ice Studios (http://www.fireicestudios.com) Don't dream, PLAY! From hernan en orgmf.com.ar Wed Sep 22 15:15:58 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Wed, 22 Sep 2004 15:15:58 +0200 Subject: CPython & IronPython In-Reply-To: <41516A2F.50008@ono.com> References: <41516A2F.50008@ono.com> Message-ID: >>> La implementación de Ironpython ¿ es una simple implementación del >>> interprete cpython en C# ó por lo contrario es un compilador de >>> python a CIL ? >> >> >> Un compilador, igual que Jython para Java. >> > > Ummm....peeroooo.. el que llevaba IronPython fue contratado por M$. > Por lo tanto, IronPython sigue en proceso???? o ya nos podemos > olvidar de el? Porque me parece una alternativa muy muy buena. Según él mismo dice, su acuerdo le permite continuar con ese trabajo. -H. From rapto en arrakis.es Wed Sep 22 16:57:23 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Wed, 22 Sep 2004 16:57:23 +0200 Subject: CPython & IronPython In-Reply-To: <41516A2F.50008@ono.com> References: <200409221145.35200.pepe@diselpro.com> <20040922101315.GA4709@setepo.gotdns.org> <41516A2F.50008@ono.com> Message-ID: <1095865042.3687.25.camel@cynar.proteus> ¿Alguien sabe algo de boo? http://boo.codehaus.org/ Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a special focus on language and compiler extensibility. Estoy echando un vistazo y tiene una pinta estupenda. El mié, 22-09-2004 a las 14:03, Lord ZealoN escribió: > Ayose wrote: > > Buenas > > > > [Pepe Aracil] > > > >>[...] > >>¿ En algún momento CPython traduce el código compilado de python a código > >>máquina nativo de la plataforma donde corre o sólo interpreta ese código ? > > > > > > Se traduce a byte-code y se interpreta > > > > > >>>>def f(a, b): > > > > ... import math > > ... return math.sin(a*b) > > ... > > > >>>>f(5,6) > > > > -0.98803162409286183 > > > >>>>import dis > >>>>dis.dis(f) > > > > 2 0 LOAD_CONST 0 (None) > > 3 IMPORT_NAME 0 (math) > > 6 STORE_FAST 2 (math) > > > > 3 9 LOAD_FAST 2 (math) > > 12 LOAD_ATTR 1 (sin) > > 15 LOAD_FAST 0 (a) > > 18 LOAD_FAST 1 (b) > > 21 BINARY_MULTIPLY > > 22 CALL_FUNCTION 1 > > 25 RETURN_VALUE > > 26 LOAD_CONST 0 (None) > > 29 RETURN_VALUE > > > > > > > >>La implementación de Ironpython ¿ es una simple implementación del interprete > >>cpython en C# ó por lo contrario es un compilador de python a CIL ? > > > > > > Un compilador, igual que Jython para Java. > > > > Ummm....peeroooo.. el que llevaba IronPython fue contratado por M$. Por > lo tanto, IronPython sigue en proceso???? o ya nos podemos olvidar de > el? Porque me parece una alternativa muy muy buena. From drg_alvaro en yahoo.com Wed Sep 22 17:57:07 2004 From: drg_alvaro en yahoo.com (Alvaro Abraham Colunga Rodriguez) Date: Wed, 22 Sep 2004 10:57:07 -0500 (CDT) Subject: impresoras en python In-Reply-To: <1095327934.32022.204494563@webmail.messagingengine.com> References: <1095327934.32022.204494563@webmail.messagingengine.com> Message-ID: <20040922155707.40621.qmail@web51102.mail.yahoo.com> Aqui esta el codigo pegado. Espero que no haya problema con la indentacion, incluso biene como usar reportlab para hacer pdfs, que tambien te puede servir. Saludos. from wxPython.wx import * #from pyPgSQL import PgSQL from wxPython.lib.mixins.listctrl import wxColumnSorterMixin,wxListCtrlAutoWidthMixin from datetime import date #from reportlab.pdfgen import canvas #from reportlab.lib.units import cm #from reportlab.lib.pagesizes import letter import common from wx.html import HtmlEasyPrinting class MyPrintout(wxPrintout): #def __init__(self, frame,datos,lista): def __init__(self,canvas): wxPrintout.__init__(self) #self.frame = frame self.pages = 1 self.canvas=canvas #self.datos=datos #self.lista=lista def OnBeginDocument(self, start, end): return self.base_OnBeginDocument(start, end) def OnEndDocument(self): self.base_OnEndDocument() def OnBeginPrinting(self): self.base_OnBeginPrinting() def OnEndPrinting(self): self.base_OnEndPrinting() def OnPreparePrinting(self): self.base_OnPreparePrinting() def HasPage(self, page): if page < self.pages: return true #else: # return false def GetPageInfo(self): return (1, self.pages, 1, self.pages) def OnPrintPage(self, page): dc = self.GetDC() # One possible method of setting scaling factors... #print dir(self.canvas) #maxX = self.canvas.getWidth() #maxY = self.canvas.getHeight() maxX=900 maxY=900 # Let's have at least 50 device units margin marginX = 10 marginY = 10 # Add the margin to the graphic size maxX = maxX + (2 * marginX) maxY = maxY + (2 * marginY) # Get the size of the DC in pixels (w, h) = dc.GetSizeTuple() # Calculate a suitable scaling factor scaleX = float(w) / maxX scaleY = float(h) / maxY # Use x or y scaling factor, whichever fits on the DC actualScale = min(scaleX, scaleY) # Calculate the position on the DC for centring the graphic #posX = (w - (self.canvas.getWidth() * actualScale)) / 2.0 #posY = (h - (self.canvas.getHeight() * actualScale)) / 2.0 posX = (w - (900 * actualScale)) / 2.0 posY = (h - (900 * actualScale)) / 2.0 # Set the scale and origin dc.SetUserScale(actualScale, actualScale) #dc.SetDeviceOrigin(int(posX), int(posY)) dc.SetDeviceOrigin(0,0) #------------------------------------------- #x= 25 #y=15 #if not self.IsPreview(): # y *=4 #------------------------------------------- #line_count = 1 #for item in self.datos: # dc.DrawText(item, x, y*line_count) # line_count+=1 #for i in self.lista: # x2=25 # for item in i: # dc.DrawText(item, x2, y*line_count) # x2*=2 # line_count+=1 #self.canvas.DoDrawing(dc,self.datos,self.lista) self.canvas.DoDrawing(dc) #dc.DrawText("Page: %d" % page, 100,100) return True #------------------------------------------------------ class TextValidator(wxPyValidator): """ This validator is used to ensure that the user has entered something into the text object editor dialog's text field. """ def __init__(self): """ Standard constructor. """ wxPyValidator.__init__(self) def Clone(self): """ Standard cloner. Note that every validator must implement the Clone() method. """ return TextValidator() def Validate(self, win): """ Validate the contents of the given text control. """ textCtrl = self.GetWindow() text = textCtrl.GetValue() if len(text) == 0: wxMessageBox("Los datos estan incompletos", "Error") textCtrl.SetBackgroundColour("red") textCtrl.SetFocus() textCtrl.Refresh() return False else: textCtrl.SetBackgroundColour( wxSystemSettings_GetColour(wxSYS_COLOUR_WINDOW)) textCtrl.Refresh() return True def TransferToWindow(self): """ Transfer data from validator to window. The default implementation returns False, indicating that an error occurred. We simply return True, as we don't do any data transfer. """ return True # Prevent wxDialog from complaining. def TransferFromWindow(self): """ Transfer data from window to validator. The default implementation returns False, indicating that an error occurred. We simply return True, as we don't do any data transfer. """ return True # Prevent wxDialog from complaining. #--------------------------------------------------------- class MyList2(wxListCtrl,wxListCtrlAutoWidthMixin): def __init__(self,parent,ID,pos=wxDefaultPosition,size=wxDefaultSize,style=0): wxListCtrl.__init__(self,parent,ID,pos,size,style) wxListCtrlAutoWidthMixin.__init__(self) #--------------------------------------------------------- class Imprime(wxFrame): def __init__(self,ID,parent): wxFrame.__init__(self,ID,parent,"Impresion") panel=wxPanel(self,-1,style=wxTAB_TRAVERSAL) ID_PRN_PRN=wxNewId() ID_PRN_PRV=wxNewId() ID_PRN_CFG=wxNewId() ID_AGREGA=wxNewId() ID_PRN_PDF=wxNewId() ID_EXIT=wxNewId() self.menuArchivo = wxMenu() #agrega una opcion al menu self.menuArchivo.Append(ID_AGREGA, "A&gregar\tF2","Agrega elementos") self.menuArchivo.Append(ID_PRN_PRN, "Imprimir") self.menuArchivo.Append(ID_PRN_CFG, "Configurar impresion") self.menuArchivo.Append(ID_PRN_PRV, "Vista preliminar") self.menuArchivo.Append(ID_PRN_PDF, "Crear PDF") self.menuArchivo.AppendSeparator() self.menuArchivo.Append(ID_EXIT, "&Salir\tF10", "Salir del programa") EVT_MENU(self,ID_PRN_PRN,self.OnDoPrint) EVT_MENU(self,ID_PRN_PRV,self.OnPrintPreview) EVT_MENU(self,ID_PRN_CFG,self.OnPrintSetup) EVT_MENU(self,ID_PRN_PDF,self.OnPrintPDF) EVT_MENU(self,ID_AGREGA,self.OnAgregar) menuBar = wxMenuBar() #agrega el menu a la barra de menu menuBar.Append(self.menuArchivo, "&Archivo") #establece como barra de menu el que se creo self.SetMenuBar(menuBar) EVT_MENU(self, ID_EXIT, self.OnArchivoSalir) label1=wxStaticText(panel,-1,"Numero de cliente") label2=wxStaticText(panel,-1,"Fecha") #label3=wxStaticText(panel,-1,"Direccion") #label4=wxStaticText(panel,-1,"Telefono") #label5=wxStaticText(panel,-1,"Ciudad") #label6=wxStaticText(panel,-1,"Estado") #label7=wxStaticText(panel,-1,"RFC") self.textocliente=wxTextCtrl(panel,-1,"",size=wxSize(200,100),style=wxTE_MULTILINE|wxTE_READONLY) ID_TEXT_ENTER=wxNewId() self.txt1=wxTextCtrl(panel,ID_TEXT_ENTER,"",size=(200,-1),style=wxTE_PROCESS_ENTER,validator=TextValidator()) self.txt2=wxTextCtrl(panel,-1,"",validator=TextValidator()) #self.txt3=wxTextCtrl(panel,-1,"",validator=TextValidator()) #self.txt4=wxTextCtrl(panel,-1,"",validator=TextValidator()) #self.txt5=wxTextCtrl(panel,-1,"",validator=TextValidator()) #self.txt6=wxTextCtrl(panel,-1,"",validator=TextValidator()) #self.txt7=wxTextCtrl(panel,-1,"",validator=TextValidator()) EVT_TEXT_ENTER(self,ID_TEXT_ENTER,self.OnTextEnter) fe=date fecha=str(fe.today().day)+'/'+str(fe.today().month)+'/'+str(fe.today().year) self.txt2.SetValue(fecha) ID_LISTA=wxNewId() #self.lista=wxListCtrl(panel,ID_LISTA,wxDefaultPosition,wxSize(640,280),wxLC_REPORT) self.lista=MyList2(panel,ID_LISTA,wxDefaultPosition,wxSize(640,280),wxLC_REPORT) self.lista.InsertColumn(0,"Cantidad") self.lista.InsertColumn(1,"Concepto") self.lista.InsertColumn(2,"Precio unitario") self.lista.InsertColumn(3,"Subtotal") box1=wxBoxSizer(wxHORIZONTAL) box1.Add(label1,0) box1.Add(self.txt1,0) box1.Add(label2,0) box1.Add(self.txt2,0) #grid1=wxGridSizer(9,2,0,0) #grid1.Add(label1,0) #grid1.Add(self.txt1,0,wxEXPAND) #grid1.Add(label2,0) #grid1.Add(self.txt2,0,wxEXPAND) #grid1.Add(label3,0) #grid1.Add(self.txt3,0,wxEXPAND) #grid1.Add(label4,0) #grid1.Add(self.txt4,0,wxEXPAND) #grid1.Add(label5,0) #grid1.Add(self.txt5,0,wxEXPAND) #grid1.Add(label6,0) #grid1.Add(self.txt6,0,wxEXPAND) #grid1.Add(label7,0) #grid1.Add(self.txt7,0,wxEXPAND) #ID_BTN_PRN=wxNewId() #ID_BTN_PRNPRV=wxNewId() #ID_BTN_PRNCFG=wxNewId() #btn1=wxButton(panel,wxID_OK,"Guardar") # btn2=wxButton(panel,wxID_CANCEL,"Cancelar") #btn3=wxButton(panel,ID_BTN_PRN,"Imprimr") #btn4=wxButton(panel,ID_BTN_PRNPRV,"Vista preliminar") #btn5=wxButton(panel,ID_BTN_PRNCFG,"Conf impresion") # EVT_BUTTON(self,wxID_CANCEL,self.OnSalir) #EVT_BUTTON(self,wxID_OK,self.OnGuardar) #EVT_BUTTON(self,ID_BTN_PRN,self.OnDoPrint) #EVT_BUTTON(self,ID_BTN_PRNPRV,self.OnPrintPreview) #EVT_BUTTON(self,ID_BTN_PRNCFG,self.OnPrintSetup) #box2=wxBoxSizer(wxHORIZONTAL) #box2.Add(btn1,0,wxALIGN_CENTER|wxALL,5) #box2.Add(btn2,0,wxALIGN_CENTER|wxALL,5) #box2.Add(btn3,0,wxALIGN_CENTER|wxALL,5) #box2.Add(btn4,0,wxALIGN_CENTER|wxALL,5) #box2.Add(btn5,0,wxALIGN_CENTER|wxALL,5) sizer=wxBoxSizer(wxVERTICAL) sizer.Add(box1,0,wxALIGN_CENTER_HORIZONTAL|wxALL,5) #sizer.Add(grid1,0,wxALIGN_CENTER_HORIZONTAL|wxALL,5) sizer.Add(self.textocliente,0,wxALIGN_CENTER_HORIZONTAL|wxEXPAND,5) sizer.Add(self.lista,0,wxALIGN_CENTER_HORIZONTAL|wxEXPAND,5) #sizer.Add(box2,0,wxALIGN_CENTER_HORIZONTAL|wxALL,5) panel.SetSizer(sizer) panel.SetAutoLayout(True) sizer.Fit(self) self.printData = wxPrintData() self.printData.SetPaperId(wxPAPER_LETTER) self.frame=self #dc=wxClientDC(self) #dc.DrawRectangle(5, 5, 50, 50) #self.canvas=MyCanvas(self) #------------------------------------------------------ def OnTextEnter(self,event): valores=[self.txt1.GetValue()] conexion=PgSQL.connect(common.cadconexion()) cursor=conexion.cursor() query="select num,nombre,direccion,telefono,ciudad,estado,rfc from cliente where num='%s'" % valores[0] cursor.execute(query) resultado=cursor.fetchone() if not resultado: wxMessageBox("El cliente %s no existe" % (valores[0]), "Error",wxICON_EXCLAMATION) else: #self.txt2.SetValue(resultado[1]) #self.txt3.SetValue(resultado[2]) #self.txt4.SetValue(resultado[3]) #self.txt5.SetValue(resultado[4]) #self.txt6.SetValue(resultado[5]) #self.txt7.SetValue(resultado[6]) texto=str(resultado[1])+"\n" texto=texto + str(resultado[2])+"\n" texto=texto + str(resultado[3])+"\n" texto=texto + str(resultado[4])+"\n" texto=texto + str(resultado[5])+"\n" texto=texto + str(resultado[6]) self.textocliente.SetValue(texto) conexion.close() #------------------------------------------------------ def OnArchivoSalir(self,event): self.Close(True) #------------------------------------------------------ def OnGuardar(self,event): print "" #------------------------------------------------------ def OnAgregar(self,event): dlg=wxDialog(self,-1,"Agregar") label1=wxStaticText(dlg,-1,"Catidad") label2=wxStaticText(dlg,-1,"Concepto") label3=wxStaticText(dlg,-1,"Precio unitario") txt1=wxTextCtrl(dlg,-1,"",size=wxSize(200,-1),validator=TextValidator()) txt2=wxTextCtrl(dlg,-1,"",size=wxSize(200,-1),validator=TextValidator()) txt3=wxTextCtrl(dlg,-1,"",size=wxSize(200,-1),validator=TextValidator()) btn1=wxButton(dlg,wxID_OK,"Aceptar") btn2=wxButton(dlg,wxID_CANCEL,"Cancelar") box2=wxBoxSizer(wxHORIZONTAL) box2.Add(btn1,0,wxALIGN_CENTER|wxALL,5) box2.Add(btn2,0,wxALIGN_CENTER|wxALL,5) grid1=wxGridSizer(9,2,0,0) grid1.Add(label1,0) grid1.Add(txt1,0,wxEXPAND) grid1.Add(label2,0) grid1.Add(txt2,0,wxEXPAND) grid1.Add(label3,0) grid1.Add(txt3,0,wxEXPAND) sizer=wxBoxSizer(wxVERTICAL) sizer.Add(grid1,0,wxALIGN_CENTER_HORIZONTAL|wxALL,5) sizer.Add(box2,0,wxALIGN_CENTER_HORIZONTAL|wxALL,5) dlg.SetSizer(sizer) dlg.SetAutoLayout(True) sizer.Fit(dlg) opc=dlg.ShowModal() if opc == wxID_OK: pos=self.lista.GetItemCount() self.lista.InsertStringItem(pos,str(txt1.GetValue())) self.lista.SetStringItem(pos,1,str(txt2.GetValue())) self.lista.SetStringItem(pos,2,str(txt3.GetValue())) subtotal=float(txt1.GetValue())*float(txt3.GetValue()) self.lista.SetStringItem(pos,3,str(subtotal)) dlg.Destroy() #------------------------------------------------------ def OnPrintSetup(self, event): printerDialog = wx.wxPrintDialog(self) printerDialog.GetPrintDialogData().SetPrintData(self.printData) printerDialog.GetPrintDialogData().SetSetupDialog(True) printerDialog.ShowModal(); self.printData = printerDialog.GetPrintDialogData().GetPrintData() printerDialog.Destroy() #------------------------------------------------------ def OnPrintPreview(self, event): datos=self.textocliente.GetValue().split("\n") cant=self.lista.GetItemCount() lista=[] for num in range(cant): t1=self.lista.GetItemText(num) t2=self.lista.GetItem(num,1).GetText() t3=self.lista.GetItem(num,2).GetText() t4=self.lista.GetItem(num,3).GetText() lista.append([t1,t2,t3,t4]) #printout = MyPrintout(self,datos,lista) #printout2 = MyPrintout(self,datos,lista) printout = MyPrintout(self) printout2 = MyPrintout(self) self.preview = wxPrintPreview(printout, printout2, self.printData) if not self.preview.Ok(): return frame = wxPreviewFrame(self.preview, self.frame, "Vista preliminar") frame.Initialize() frame.SetPosition(self.frame.GetPosition()) frame.SetSize(self.frame.GetSize()) frame.Show(True) #------------------------------------------------------ def OnDoPrint(self, event): datos=self.textocliente.GetValue().split("\n") cant=self.lista.GetItemCount() lista=[] for num in range(cant): t1=self.lista.GetItemText(num) t2=self.lista.GetItem(num,1).GetText() t3=self.lista.GetItem(num,2).GetText() t4=self.lista.GetItem(num,3).GetText() lista.append([t1,t2,t3,t4]) pdd = wxPrintDialogData() pdd.SetPrintData(self.printData) printer = wxPrinter(pdd) #printout = MyPrintout(self,datos,lista) printout = MyPrintout(self) printer.Print(self.frame, printout) #if not printer.Print(self.frame, printout,prompt=True): # wxMessageBox("There was a problem printing.\nPerhaps your current printer is not set correctly?", "Printing", wxOK) #else: # self.printData = printer.GetPrintDialogData().GetPrintData() #printout.Destroy() #------------------------------------------------------- def OnPrintPDF(self,event): c=canvas.Canvas("factura.pdf",bottomup=0,pagesize=letter) font="Helvetica" font_size= 12 width,height=letter c.setFont(font,font_size) datos=self.textocliente.GetValue().split("\n") cant=self.lista.GetItemCount() lista=[] for num in range(cant): t1=self.lista.GetItemText(num) t2=self.lista.GetItem(num,1).GetText() t3=self.lista.GetItem(num,2).GetText() t4=self.lista.GetItem(num,3).GetText() lista.append([t1,t2,t3,t4]) linea=1 for item in datos: c.drawString(0,cm+linea*15,item) linea+=1 linea+=2 for i in lista: for item in i: c.drawString(0,cm+linea*15,item) linea+=1 linea+=2 c.showPage() c.save() def DoDrawing(self,dc): datos=self.textocliente.GetValue().split("\n") cant=self.lista.GetItemCount() lista=[] for num in range(cant): t1=self.lista.GetItemText(num) t2=self.lista.GetItem(num,1).GetText() t3=self.lista.GetItem(num,2).GetText() t4=self.lista.GetItem(num,3).GetText() lista.append([t1,t2,t3,t4]) dc.BeginDrawing() #dc.SetPen(wxPen('RED')) #dc.DrawRectangle(5, 5, 50, 50) #dc.DrawRectangle(50, 50, 100, 150) #dc.SetBrush(wxLIGHT_GREY_BRUSH) #dc.SetPen(wxPen('BLUE', 4)) #dc.DrawRectangle(15, 15, 50, 50) font = wxFont(14, wxROMAN, wxNORMAL, wxNORMAL) dc.SetFont(font) x=10 y=1 #------------------------------------------- line_count = 1 for item in datos: dc.DrawText(item, x, y*line_count) line_count+=10 for i in lista: x2=0 for item in i: w,h=dc.GetTextExtent(item) dc.DrawText(item, x2, y*line_count) x2+=(w+2) line_count+= (h+10) dc.EndDrawing() class Printer(HtmlEasyPrinting): def __init__(self): HtmlEasyPrinting.__init__(self) def GetHtmlText(self,text): "Simple conversion of text. Use a more powerful version" html_text = text.replace('\n\n','

') html_text = text.replace('\n', '
') return html_text def Print(self, text, doc_name): self.SetHeader(doc_name) self.PrintText(self.GetHtmlText(text),doc_name) def PreviewText(self, text, doc_name): self.SetHeader(doc_name) HtmlEasyPrinting.PreviewText(self, self.GetHtmlText(text)) class Imprime2(wxFrame): def __init__(self,ID,parent): wxFrame.__init__(self,ID,parent,"Impresion") self.printer=Printer() ID_BTN_PRN=wxNewId() ID_BTN_PRNPRV=wxNewId() ID_BTN_PRNCFG=wxNewId() btn3=wxButton(self,ID_BTN_PRN,"Imprimr") btn4=wxButton(self,ID_BTN_PRNPRV,"Vista preliminar") btn5=wxButton(self,ID_BTN_PRNCFG,"Conf impresion") EVT_BUTTON(self,ID_BTN_PRN,self.OnDoPrint) EVT_BUTTON(self,ID_BTN_PRNPRV,self.OnPrintPreview) EVT_BUTTON(self,ID_BTN_PRNCFG,self.OnPrintSetup) box2=wxBoxSizer(wxHORIZONTAL) box2.Add(btn3,0,wxALIGN_CENTER|wxALL,5) box2.Add(btn4,0,wxALIGN_CENTER|wxALL,5) box2.Add(btn5,0,wxALIGN_CENTER|wxALL,5) sizer=wxBoxSizer(wxVERTICAL) sizer.Add(box2,0,wxALIGN_CENTER_HORIZONTAL|wxALL,5) self.SetSizer(sizer) self.SetAutoLayout(True) sizer.Fit(self) def OnPrintPreview(self,event): self.printer.PreviewText("hola mundo","Prueba") def OnPrintSetup(self,event): self.printer.PageSetup() def OnDoPrint(self,event): self.printer.Print("hola mundo","Prueba") class MyCanvas(wxScrolledWindow): def __init__(self, parent, id = -1, size = wxDefaultSize): wxScrolledWindow.__init__(self, parent, id, wxPoint(0, 0), size, wxSUNKEN_BORDER) #----------------------------------------------------- def DoDrawing(self,dc): dc.BeginDrawing() dc.SetPen(wxPen('RED')) dc.DrawRectangle(5, 5, 50, 50) dc.SetBrush(wxLIGHT_GREY_BRUSH) dc.SetPen(wxPen('BLUE', 4)) dc.DrawRectangle(15, 15, 50, 50) dc.SetTextForeground(wxBLACK) dc.DrawText("kjhamnbfdjgjhgfs",50,100) x= 25 y=15 #------------------------------------------- #line_count = 1 #for item in datos: #dc.DrawText(item, x, y*line_count) #line_count+=1 #for i in lista: #x2=25 #for item in i: #dc.DrawText(item, x2, y*line_count) #x2*=2 #line_count+=1 dc.EndDrawing() _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From jorge.gomez en spymac.com Thu Sep 23 02:23:10 2004 From: jorge.gomez en spymac.com (Jorge Gomez Pereira) Date: Wed, 22 Sep 2004 19:23:10 -0500 Subject: CORBA Y PYTHON Message-ID: <000e01c4a103$84626030$b19215c8@master> HOLA, soy nuevo en esto de Python y desearía un ejemplo de cliente-servidor con CORBA, podría ser "hola mundo". Les agradecería mucho. SO=Windows XP Phyton 2.3 Jorge From falted en pytables.org Thu Sep 23 16:49:41 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 23 Sep 2004 16:49:41 +0200 Subject: CPython & IronPython In-Reply-To: References: Message-ID: <200409231649.41967.falted@pytables.org> A Dimecres 22 Setembre 2004 15:15, Hernán Martínez Foffani va escriure: > > Ummm....peeroooo.. el que llevaba IronPython fue contratado por M$. > > Por lo tanto, IronPython sigue en proceso???? o ya nos podemos > > olvidar de el? Porque me parece una alternativa muy muy buena. > > Según él mismo dice, su acuerdo le permite continuar con ese > trabajo. El tal Jim Hugunin dió la charla de introducción en la última conferencia de SciPy '04 (http://www.scipy.org/wikis/scipy04). Me pareció entender que M$ anda muy interesado en tener el backend de CLI para Python de manera rápida y que parece que esa ha sido la razón básica de su fichaje. Saludos, -- Francesc Alted From FBatista en uniFON.com.ar Thu Sep 23 18:54:10 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 23 Sep 2004 13:54:10 -0300 Subject: Como obtener decimal.py si tienes Python 2.3.x Message-ID: Como obtener decimal.py si tengo Python 2.3.x ============================================= A continuación muestro como instalar el módulo decimal.py en su Python 2.3.x. Este módulo viene con la distribución estándar de Python 2.4 y superiores; en estos casos no necesita bajarlo aparte. Note que decimal no está oficialmente soportado para versiones de Python 2.2 y anteriores. Bajando los archivos necesarios ------------------------------- Para este paso, puede tomar dos caminos diferentes: bajar un instalador del módulo, o bajar los archivos por separado. En el primer caso, el procedimiento es más sencillo, pero quizás no obtenga la versión más reciente. En el segundo caso, el procedimiento consta de más pasos pero se asegurará de bajar la versión más reciente del módulo. Usando el instalador ^^^^^^^^^^^^^^^^^^^^ Vaya a http://sourceforge.net/projects/sigefi, entre a la parte de File Releases y elija que tipo de paquete desea bajar: - ``decimal-x.x.win32.exe``: Solamente para Windows. - ``decimal-x.x-x.rpm``: Para las distribuciones Linux que soportan instaladores RPM. - ``decimal-x.x.tar.gz``: Instalador más simple y general (debería funcionar en cualquier lado que tenga instalado Python). En el primer caso, simplemente ejecute el instalador. En el segundo caso, haga ``rpm -i decimal-x.x-x.rpm`` siendo root. En el tercer caso, tambien siendo root, descomprima y desarme el paquete, vaya al directorio creado y ejecute el instalador:: gunzip decimal-x.x.tar.gz tar -xf decimal-x.x.tar cd decimal-x.x python setup.py install Bajando los archivos por separado ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ El módulo decimal consta de un sólo archivo: decimal.py, el cual puede bajar del CVS de Python: http://cvs.sourceforge.net/viewcvs.py/python/python/dist/src/Lib/decimal.py Este archivo debe ser ubicado en el directorio ``site-packages`` de su instalación de Python (por ejemplo, en ``C:\Python23\FIXME\site-packages`` o en ``/usr/lib/python2.3/site-packages``). Note que quizás necesite privilegios de administrador para poder ubicarlo allí. Para probar la instalación necesita archivos adicionales: el test_decimal.py y los archivos de prueba (dentro de un directorio), que puede bajar también del CVS: http://cvs.sourceforge.net/viewcvs.py/python/python/dist/src/Lib/test/test_d ecimal.py http://cvs.sourceforge.net/viewcvs.py/python/python/dist/src/Lib/test/decima ltestdata/ Verificando que todo esté correcto ---------------------------------- Si eligió el tercer método de instalación, en el lugar que ejecutó el instalador tendrá un directorio ``test``. Si bajó los archivos por separado, deberá tener en un directorio de prueba el archivo ``test_decimal.py`` (el directorio puede ser cualquiera, el que desee) y ahí mismo un directorio ``decimaltestdata``. En cualquiera de los dos casos, entre al directorio de prueba y ejecute las pruebas con:: python test_decimal.py Verá un montón de mensajes mientra se prueban las distintas partes del módulo, terminando con un mensaje similar a:: OK doctest (decimal) ... nn tests with zero failures Si hay algún problema con las pruebas, por favor contacte a los desarrolladores. Documentación ------------- En el lugar donde ejecutó el instalador tendrá un directorio llamado ``docs``. Dentro del mismo está la documentación en varios formatos: - HTML: Abra el ``index.html`` con su navegador preferido. - Tex: En el archivo ``libdecimal.tex`` están las fuentes de la documentación. El archivo .tex fue extraído del CVS de Python, y los htmls fueron extraídos de la documentación on-line de Python (modificados para que todos los enlaces relativos a Decimal apunten a los archivos bajados). Puede también consultar la documentación via web en http://www.python.org/dev/doc/devel/lib/module-decimal.html. From santiagodaviddelgadollopis en yahoo.es Thu Sep 23 23:08:33 2004 From: santiagodaviddelgadollopis en yahoo.es (Santiago Delgado) Date: Thu, 23 Sep 2004 23:08:33 +0200 (CEST) Subject: =?iso-8859-1?q?Python-CD_0=2E2=2E1_disponible_v=EDa_?= =?iso-8859-1?q?FTP?= Message-ID: <20040923210833.7668.qmail@web52006.mail.yahoo.com> Hola: La ISO de la versión 0.2.1 ya cuelga en Internet, cortesía de www.cdlibre.org : ftp://www.cdlibre.org/pub/PythonCD/Python-CD_0-2-1.iso Seguiremos informandoos. ===== _______________________________ Santiago David Delgado Llopis santiagodaviddelgadollopis en yahoo.es ______________________________________________ Renovamos el Correo Yahoo!: ¡100 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From sertzen en gmail.com Fri Sep 24 04:20:02 2004 From: sertzen en gmail.com (Nestor) Date: Thu, 23 Sep 2004 21:20:02 -0500 Subject: Nuevo en Python Message-ID: Hola Amigos, Estoy entrando a este gran (por lo que he visto hasta ahora) mundo del Python. Me han pedido un desarrollo y querian que lo haga en vb. Obviamente pense que con Python podia ser mas divertido y a la vez aprender un nuevo lenguaje. El problema es que no he encontrado documentacion para hacer las ventanas. Y no solo es ese el problema, sino ademas que son ventanas para MS windows.... Alguno sabe algo o tiene experiencia con eso? Saludos de Peru Nestor ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From alexmoreno en fastmail.fm Fri Sep 24 10:52:35 2004 From: alexmoreno en fastmail.fm (Alex Moreno) Date: Fri, 24 Sep 2004 10:52:35 +0200 Subject: Nuevo en Python y =?ISO-8859-1?Q?patr=F3n?= MVC In-Reply-To: References: Message-ID: <1096015955.13226.205062944@webmail.messagingengine.com> prueba con las wxWindows. Existen bindings para python, es multiplataforma y respeta el look-and-feel de la plataforma en la que se ejecuta. Aprovecho para hacer una consulta sobre este tema. Yo también me estoy introduciendo en python y estoy empezando a tocar las wxWindows. El caso es que estoy tratando de realizar una implementación del patrón MVC para usar en proyectos más avanzados. No he encontrado nada (o muy poco) sobre esto y me gustaría conocer la opinión de alguien con algo más de experiencia en python. Cuál es la mejor forma de escribir GUI´s en python? Me refiero a la estructura, a la arquitectura para que a largo plazo el proyecto sea mantenible. Es una de las cosas por las que me gusta aplicar patrones y en especial el MVC para interfaces gráficas. O estoy en un error? Gracias anticipadas, un saludo. On Thu, 23 Sep 2004 21:20:02 -0500, "Nestor" said: > Hola Amigos, > Estoy entrando a este gran (por lo que he visto hasta ahora) mundo del > Python. > Me han pedido un desarrollo y querian que lo haga en vb. Obviamente > pense que con Python podia ser mas divertido y a la vez aprender un > nuevo lenguaje. > > El problema es que no he encontrado documentacion para hacer las > ventanas. Y no solo es ese el problema, sino ademas que son ventanas > para MS windows.... > > Alguno sabe algo o tiene experiencia con eso? > > Saludos de Peru > > Nestor -- Alex Moreno From lcatalin en siadv.com Fri Sep 24 11:03:12 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 24 Sep 2004 11:03:12 +0200 Subject: Nuevo en Python References: Message-ID: <005801c4a215$5288da90$d900a8c0@catalin> Descárgate Boa Contructor 0.3.1 y wxPython 2.4.2.4u El entorno es muy parecido a Delphi. Con los wx te vendrá una demo de todos los controles. Un saludo, Catalin Lungu ----- Original Message ----- From: "Nestor" To: Sent: Friday, September 24, 2004 4:20 AM Subject: [Python-es] Nuevo en Python > Hola Amigos, > Estoy entrando a este gran (por lo que he visto hasta ahora) mundo del > Python. > Me han pedido un desarrollo y querian que lo haga en vb. Obviamente > pense que con Python podia ser mas divertido y a la vez aprender un > nuevo lenguaje. > > El problema es que no he encontrado documentacion para hacer las > ventanas. Y no solo es ese el problema, sino ademas que son ventanas > para MS windows.... > > Alguno sabe algo o tiene experiencia con eso? > > Saludos de Peru > > Nestor > -------------------------------------------------------------------------------- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From alexmoreno en fastmail.fm Sat Sep 25 11:25:23 2004 From: alexmoreno en fastmail.fm (Alex Moreno) Date: Sat, 25 Sep 2004 11:25:23 +0200 Subject: Nuevo en Python y =?ISO-8859-1?Q?patr=F3n?= MVC In-Reply-To: <1096015955.13226.205062944@webmail.messagingengine.com> References: <1096015955.13226.205062944@webmail.messagingengine.com> Message-ID: <1096104323.11124.205129596@webmail.messagingengine.com> Me autorespondo :-): ################## import wx # an observable calls callback functions when the data has # changed #o = Observable() #def func(data): # print "hello", data #o.addCallback(func) #o.set(1) # --> "hello", 1 class Observable: def __init__(self, initialValue=None): self.data = initialValue self.callbacks = {} def addCallback(self, func): self.callbacks[func] = 1 def delCallback(self, func): del self.callback[func] def _docallbacks(self): for func in self.callbacks: func(self.data) def set(self, data): self.data = data self._docallbacks() def get(self): return self.data def unset(self): self.data = None class Model: def __init__(self): self.myMoney = Observable(0) def addMoney(self, value): self.myMoney.set(self.myMoney.get() + value) def removeMoney(self, value): self.myMoney.set(self.myMoney.get() - value) class View(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, -1, "Main View") sizer = wx.BoxSizer(wx.VERTICAL) text = wx.StaticText(self, -1, "My Money") ctrl = wx.TextCtrl(self, -1, "") sizer.Add(text, 0, wx.EXPAND|wx.ALL) sizer.Add(ctrl, 0, wx.EXPAND|wx.ALL) self.moneyCtrl = ctrl ctrl.SetEditable(False) self.SetSizer(sizer) self.moneyCtrl = ctrl def SetMoney(self, money): self.moneyCtrl.SetValue(str(money)) class ChangerWidget(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, -1, "Main View") sizer = wx.BoxSizer(wx.VERTICAL) self.add = wx.Button(self, -1, "Add Money") self.remove = wx.Button(self, -1, "Remove Money") sizer.Add(self.add, 0, wx.EXPAND|wx.ALL) sizer.Add(self.remove, 0, wx.EXPAND|wx.ALL) self.SetSizer(sizer) class Controller: def __init__(self, app): self.model = Model() self.view1 = View(None) self.view2 = ChangerWidget(self.view1) self.MoneyChanged(self.model.myMoney.get()) self.view2.add.Bind(wx.EVT_BUTTON, self.AddMoney) self.view2.remove.Bind(wx.EVT_BUTTON, self.RemoveMoney) self.model.myMoney.addCallback(self.MoneyChanged) self.view1.Show() self.view2.Show() def AddMoney(self, evt): self.model.addMoney(10) def RemoveMoney(self, evt): self.model.removeMoney(10) def MoneyChanged(self, money): self.view1.SetMoney(money) app = wx.PySimpleApp() Controller(app) app.MainLoop() ################## On Fri, 24 Sep 2004 10:52:35 +0200, "Alex Moreno" said: > prueba con las wxWindows. Existen bindings para python, es > multiplataforma y respeta el look-and-feel de la plataforma en la que se > ejecuta. > > Aprovecho para hacer una consulta sobre este tema. Yo también me estoy > introduciendo en python y estoy empezando a tocar las wxWindows. El caso > es que estoy tratando de realizar una implementación del patrón MVC para > usar en proyectos más avanzados. No he encontrado nada (o muy poco) > sobre esto y me gustaría conocer la opinión de alguien con algo más de > experiencia en python. Cuál es la mejor forma de escribir GUI´s en > python? Me refiero a la estructura, a la arquitectura para que a largo > plazo el proyecto sea mantenible. Es una de las cosas por las que me > gusta aplicar patrones y en especial el MVC para interfaces gráficas. O > estoy en un error? > > Gracias anticipadas, un saludo. > > On Thu, 23 Sep 2004 21:20:02 -0500, "Nestor" said: > > Hola Amigos, > > Estoy entrando a este gran (por lo que he visto hasta ahora) mundo del > > Python. > > Me han pedido un desarrollo y querian que lo haga en vb. Obviamente > > pense que con Python podia ser mas divertido y a la vez aprender un > > nuevo lenguaje. > > > > El problema es que no he encontrado documentacion para hacer las > > ventanas. Y no solo es ese el problema, sino ademas que son ventanas > > para MS windows.... > > > > Alguno sabe algo o tiene experiencia con eso? > > > > Saludos de Peru > > > > Nestor > -- > Alex Moreno > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Alex Moreno From py en ch3m4.org Mon Sep 27 10:07:30 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 27 Sep 2004 10:07:30 +0200 Subject: Nuevo en Python y =?iso-8859-1?q?patr=F3n?= MVC In-Reply-To: <1096104323.11124.205129596@webmail.messagingengine.com> References: <1096015955.13226.205062944@webmail.messagingengine.com> <1096104323.11124.205129596@webmail.messagingengine.com> Message-ID: <200409271007.33885.py@ch3m4.org> On Saturday 25 September 2004 11:25, Alex Moreno wrote: > Me autorespondo :-): > > Con el tema de los patrones, tuvimos hace unas semanas una discursión por esta lista (mírate el histórico). Mi intención era (y lo sigue siendo) crear una web con la definición e implementación de algunos patrones (al menos los más "clásicos"). Pero me encontré con un artículo que me hizo pensar bastante en el tema de los patrones de diseño para python, con lo que dejé en suspenso el proyecto. No recuerdo la referencia, pero iba de la implementación del patrón Borg como alternativa al patrón singleton, y concluía diciendo que lo que funciona en otros lenguajes (patrones de diseño) no resultaba tan necesario en python, ya que python se podía valer de otras posibilidades que no son tan "academicistas" como los patrones y que funcionan igual de bien. Por ejemplo, en tu caso, se me ocurre que el código quedaría más "pytónico" empleando descriptores para realizar el desacople entre Vista y Modelo, desapareciendo la capa Controlador del modelo (al menos como una clase). ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ezako en yahoo.es Mon Sep 27 18:33:40 2004 From: ezako en yahoo.es (zako) Date: Mon, 27 Sep 2004 18:33:40 +0200 Subject: duda de threads Message-ID: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> aupa, ando con una duda sobre los threads. Utilizo un objeto Thread y sobrescribo el metodo run. El problema es que el metodo run se ejecuta indefinidamente (arranca un servidro TCP) hasta que el programa lo "mate". En la documentacion de Thread he visto que no hay ningun método para matar un hilo, el hilo se acaba cuando finaliza el metodo run (cosa que no ocurre en mi caso) o cuando se recibe una excepcion no manejada. Mi duda es si existe alguna forma de matar ese hilo, por ejemplo si existe alguna funcion para lanzar una excepcion desde el programa al hilo para finalizarlo o algo similar. Sino tambien he visto como posibilidad utilizar el modulo thread en lugar de threading, ya que este tiene una funcion exit. Pero esto me obligaria a modificar bastante el código. Saludos y gracias, zako From optimasc en yahoo.com.mx Mon Sep 27 21:08:45 2004 From: optimasc en yahoo.com.mx (Mauricio Flores Olmos) Date: Mon, 27 Sep 2004 12:08:45 -0700 Subject: duda de threads In-Reply-To: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> Message-ID: <4158653D.80308@yahoo.com.mx> zako wrote: > aupa, > > ando con una duda sobre los threads. Utilizo un objeto Thread y sobrescribo > el metodo run. El problema es que el metodo run se ejecuta indefinidamente > (arranca un servidro TCP) hasta que el programa lo "mate". En la documentacion > de Thread he visto que no hay ningun método para matar un hilo, el hilo se > acaba cuando finaliza el metodo run (cosa que no ocurre en mi caso) o cuando > se recibe una excepcion no manejada. > > Mi duda es si existe alguna forma de matar ese hilo, por ejemplo si existe > alguna funcion para lanzar una excepcion desde el programa al hilo para > finalizarlo o algo similar. > > Sino tambien he visto como posibilidad utilizar el modulo thread en lugar de > threading, ya que este tiene una funcion exit. Pero esto me obligaria a > modificar bastante el código. Saludos y gracias, > > zako > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Solo una idea, no se mucho de threads ni python en general, pero... ya que es un servidor TCP y puede recibir peticiones de algun tipo, puedes poner una especial para que el thread finalice cuando se le mande esa peticion... o de algun modo que revise alguna propiedad con un valor TRUE FALSE, y se este ejecutando mientras la propiedad sea TRUE y termine cuando sea FALSE. Es algo que he utilizado con timers y con metodos de lectura de dispositivos (en otros lenguajes por cierto, estoy investigando como se hace en python), y asi le hago para terminar los procesos en ejecucion. Mauricio Flores From ezako en yahoo.es Tue Sep 28 01:37:54 2004 From: ezako en yahoo.es (zako) Date: Tue, 28 Sep 2004 01:37:54 +0200 Subject: duda de threads In-Reply-To: <4158653D.80308@yahoo.com.mx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> <4158653D.80308@yahoo.com.mx> Message-ID: <20040927233754.GA3857@birgadista.rebelbase.dyns.cx> On Mon, Sep 27, 2004 at 12:08:45PM -0700, Mauricio Flores Olmos wrote: > Solo una idea, no se mucho de threads ni python en general, pero... ya > que es un servidor TCP y puede recibir peticiones de algun tipo, puedes > poner una especial para que el thread finalice cuando se le mande esa > peticion... o de algun modo que revise alguna propiedad con un valor > TRUE FALSE, y se este ejecutando mientras la propiedad sea TRUE y > termine cuando sea FALSE. > Es algo que he utilizado con timers y con metodos de lectura de > dispositivos (en otros lenguajes por cierto, estoy investigando como se > hace en python), y asi le hago para terminar los procesos en ejecucion. aupa, le he estado dando un par de vueltas y creo que seria complicado. En realidad utilizo el servidor SOAP del paquete SOAPpy. Se pueden definir funciones (RPC) SOAP, pero las excepciones lanzadas en esas funciones son entendidas como excepciones del protocolo SOAP y generan mensajes de error SOAP, no son manejadas por el servidor SOAP. En su caso, deberia modificar el servidor SOAP para crear una peticion especial con la que pueda cerrar el hilo y creo que eso se me escapa de mis conocimientos newbies de Python. Como segunda opcion, ya que no puedo cerrar un hilo desde otro hilo, he decido usar procesos y señales. Sin embargo, es curioso como al mandar al hijo una señal SIGTERM este se queda "zombi" y no es eliminado hasta que finaliza el proceso padre. Esto me ha parecido muy raro y os incluyo el programa que he hecho para testearlo. ############################################################################# #!/usr/bin/env python import os, sys, signal, time pid = os.fork() if pid != 0: # proceso padre, print 'Soy el proceso padre. el hijo tiene el pid: %s.' % str(pid) os.system('ps aux | grep python') raw_input('Pula una tecla par matar al proceso hijo -> ') os.kill(pid, signal.SIGTERM) os.system('ps aux | grep python') raw_input('Se ha matado el hijo y queda zombi!!!.\ Pulsa para finalizar el programa -> ') else: # proceso hijo. while 1: time.sleep(5) print 'Kaka' ############################################################################# Al ejecutarlo el segundo os.system(...) muestra como el proceso hijo se haya zombi. No se si tendre algo mal en el código o es que los procesos funcionan asi en Python. Saludos, zako From jorge.gomez en spymac.com Tue Sep 28 04:15:10 2004 From: jorge.gomez en spymac.com (Jorge Gomez Pereira) Date: Mon, 27 Sep 2004 21:15:10 -0500 Subject: IDL en Python Message-ID: <002901c4a500$ff1c14f0$7a9215c8@master> Hola, Será que se puede implementar un IDL en Python??? En caso afirmativo, alguien me regalaria un código de ejemplo??? hola mudo o algo similar. Gracias, Jorge From santi en zetadb.com Tue Sep 28 07:36:34 2004 From: santi en zetadb.com (Santi Camps) Date: Tue, 28 Sep 2004 07:36:34 +0200 Subject: duda de threads In-Reply-To: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> Message-ID: <4158F862.9010809@zetadb.com> En/na zako ha escrit: >aupa, > >ando con una duda sobre los threads. Utilizo un objeto Thread y sobrescribo >el metodo run. El problema es que el metodo run se ejecuta indefinidamente >(arranca un servidro TCP) hasta que el programa lo "mate". En la documentacion >de Thread he visto que no hay ningun método para matar un hilo, el hilo se >acaba cuando finaliza el metodo run (cosa que no ocurre en mi caso) o cuando >se recibe una excepcion no manejada. > >Mi duda es si existe alguna forma de matar ese hilo, por ejemplo si existe >alguna funcion para lanzar una excepcion desde el programa al hilo para >finalizarlo o algo similar. > >Sino tambien he visto como posibilidad utilizar el modulo thread en lugar de >threading, ya que este tiene una funcion exit. Pero esto me obligaria a >modificar bastante el código. Saludos y gracias, > >zako > > Hola, No soy ningún experto sobre el tema, pero creo que el módulo asyncore podría servirte. Lo conozco porque es el que usa ZEO de Zope para implementar su servidor de ZODB via TCP/IP. La documentación del propio módulo lleva una interesante explicación de porqué es mejor usarlo para servidores de este tipo. Saludos Santi Camps http://www.earcon.com From dvilla en gmx.net Tue Sep 28 09:47:32 2004 From: dvilla en gmx.net (David Villa) Date: Tue, 28 Sep 2004 09:47:32 +0200 Subject: CORBA Y PYTHON In-Reply-To: <000e01c4a103$84626030$b19215c8@master> References: <000e01c4a103$84626030$b19215c8@master> Message-ID: <1096357652.2028.21.camel@amy> Hola: Yo utilizo pyORBit, que son los bindings de python para ORBit, que es el ORB que utiliza GNOME como sistema de objetos distribuido (el equivalente al OLE de Microsoft). Aquí [1] tienes ejemplos con PyORBit y con python-orbit, pero dudo que ORBit funcione en Window$ XP. [1] http://arco.inf-cr.uclm.es/svn/public/prj/corba-hello/trunk/src/ Saludos El jue, 23-09-2004 a las 02:23, Jorge Gomez Pereira escribió: > HOLA, soy nuevo en esto de Python y desearía un ejemplo de cliente-servidor con CORBA, podría ser "hola mundo". Les agradecería mucho. > SO=Windows XP > Phyton 2.3 > > Jorge > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From dvilla en gmx.net Tue Sep 28 09:50:19 2004 From: dvilla en gmx.net (David Villa) Date: Tue, 28 Sep 2004 09:50:19 +0200 Subject: IDL en Python In-Reply-To: <002901c4a500$ff1c14f0$7a9215c8@master> References: <002901c4a500$ff1c14f0$7a9215c8@master> Message-ID: <1096357819.1986.24.camel@amy> Hola: Acabo de responder a tu mensaje del Jueves. Se me olvidaba decirte que también hay bindigs para Python de OmniORB e incluso hay un ORB completamente hecho en Python que se llama fnorb. Pero no tengo ejemplos para esos ORBs ni los he probado. Googlea un poco y seguro que encuentras algo. Saludos El mar, 28-09-2004 a las 04:15, Jorge Gomez Pereira escribió: > Hola, > > Será que se puede implementar un IDL en Python??? > > En caso afirmativo, alguien me regalaria un código de ejemplo??? > hola mudo o algo similar. > > Gracias, > > Jorge > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From lcatalin en siadv.com Tue Sep 28 09:52:16 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 28 Sep 2004 09:52:16 +0200 Subject: Tupla 2 Cadena Message-ID: <007a01c4a530$136c3b90$d900a8c0@catalin> Como se puede convertir una tupla en una cadena en una sola linea. (0,0,0) ---> "0,0,0" Gracias, From jcanto en hispasec.com Tue Sep 28 09:57:51 2004 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 28 Sep 2004 09:57:51 +0200 Subject: Tupla 2 Cadena In-Reply-To: <007a01c4a530$136c3b90$d900a8c0@catalin> References: <007a01c4a530$136c3b90$d900a8c0@catalin> Message-ID: <4159197F.4020600@hispasec.com> Catalin Lungu wrote: >Como se puede convertir una tupla en una cadena en una sola linea. > >(0,0,0) ---> "0,0,0" > > str(tupla)? -- Regards, Julio Canto Hispasec Sistemas http://www.hispasec.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acastro en ciberdroide.com Tue Sep 28 09:47:22 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Tue, 28 Sep 2004 09:47:22 +0200 (CEST) Subject: duda de threads In-Reply-To: <20040927233754.GA3857@birgadista.rebelbase.dyns.cx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> <4158653D.80308@yahoo.com.mx> <20040927233754.GA3857@birgadista.rebelbase.dyns.cx> Message-ID: On Tue, 28 Sep 2004, zako wrote: > On Mon, Sep 27, 2004 at 12:08:45PM -0700, Mauricio Flores Olmos wrote: > > Solo una idea, no se mucho de threads ni python en general, pero... ya > > que es un servidor TCP y puede recibir peticiones de algun tipo, puedes > > poner una especial para que el thread finalice cuando se le mande esa > > peticion... o de algun modo que revise alguna propiedad con un valor > > TRUE FALSE, y se este ejecutando mientras la propiedad sea TRUE y > > termine cuando sea FALSE. > > Es algo que he utilizado con timers y con metodos de lectura de > > dispositivos (en otros lenguajes por cierto, estoy investigando como se > > hace en python), y asi le hago para terminar los procesos en ejecucion. > > aupa, > > le he estado dando un par de vueltas y creo que seria complicado. En realidad > utilizo el servidor SOAP del paquete SOAPpy. Se pueden definir funciones (RPC) > SOAP, pero las excepciones lanzadas en esas funciones son entendidas como > excepciones del protocolo SOAP y generan mensajes de error SOAP, no son > manejadas por el servidor SOAP. En su caso, deberia modificar el servidor SOAP > para crear una peticion especial con la que pueda cerrar el hilo y creo que > eso se me escapa de mis conocimientos newbies de Python. > > Como segunda opcion, ya que no puedo cerrar un hilo desde otro hilo, he decido > usar procesos y señales. Sin embargo, es curioso como al mandar al hijo una > señal SIGTERM este se queda "zombi" y no es eliminado hasta que finaliza el > proceso padre. Esto me ha parecido muy raro y os incluyo el programa que he > hecho para testearlo. > > > ############################################################################# > #!/usr/bin/env python > > import os, sys, signal, time > > pid = os.fork() > > if pid != 0: > # proceso padre, > print 'Soy el proceso padre. el hijo tiene el pid: %s.' % str(pid) > os.system('ps aux | grep python') > raw_input('Pula una tecla par matar al proceso hijo -> ') > os.kill(pid, signal.SIGTERM) > os.system('ps aux | grep python') > raw_input('Se ha matado el hijo y queda zombi!!!.\ > Pulsa para finalizar el programa -> ') > else: > # proceso hijo. > while 1: > time.sleep(5) > print 'Kaka' > ############################################################################# > > > Al ejecutarlo el segundo os.system(...) muestra como el proceso hijo se haya > zombi. No se si tendre algo mal en el código o es que los procesos funcionan > asi en Python. Saludos, Ciertos recursos que usan los procesos deben ser liberados por el proceso padre. Si eso no ocurre quedan en ese estado. Una cosa son los thread y otra los procesos creados con fork(). El proceso padre debe recoger los restos de su hijo para darle una sepultura decente. Se hace con las llamadas al sistema wait(2), waitpid(2). Si eso no ocurre (Por ejemplo al padre no le apetece enterrar a un hijo que tuvo que matar porque no paraba de hacer 'kaka'), el hijo quedará entonces en el limbo de los zombis. En el caso de los threads te basta con saber cuando ha de finalizar cada hilo. Los hilos se pueden comunicar por medio de variables globales. Puedes usar con una variable global que indique si hay que finalizar o no. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From py en ch3m4.org Tue Sep 28 10:10:24 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 28 Sep 2004 10:10:24 +0200 Subject: Tupla 2 Cadena In-Reply-To: <007a01c4a530$136c3b90$d900a8c0@catalin> References: <007a01c4a530$136c3b90$d900a8c0@catalin> Message-ID: <200409281010.27110.py@ch3m4.org> On Tuesday 28 September 2004 09:52, Catalin Lungu wrote: > Como se puede convertir una tupla en una cadena en una sola linea. > > (0,0,0) ---> "0,0,0" ¿Qué es ésto? ¿Un concurso? str(tupla)[1:-1] ",".join( [str(i) for i in tupla] ) ",".join(("%s",)*len(tupla))%tupla reduce(lambda x,y:"%s,%s"%(x,y),tupla) ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jcanto en hispasec.com Tue Sep 28 10:14:06 2004 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 28 Sep 2004 10:14:06 +0200 Subject: Tupla 2 Cadena In-Reply-To: <200409281010.27110.py@ch3m4.org> References: <007a01c4a530$136c3b90$d900a8c0@catalin> <200409281010.27110.py@ch3m4.org> Message-ID: <41591D4E.2070704@hispasec.com> Chema Cortés wrote: >¿Qué es ésto? ¿Un concurso? > >str(tupla)[1:-1] > >",".join( [str(i) for i in tupla] ) > >",".join(("%s",)*len(tupla))%tupla > >reduce(lambda x,y:"%s,%s"%(x,y),tupla) > > Paso palabra :P -- Regards, Julio Canto Hispasec Sistemas http://www.hispasec.com From lcatalin en siadv.com Tue Sep 28 10:23:31 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 28 Sep 2004 10:23:31 +0200 Subject: Tupla 2 Cadena References: <007a01c4a530$136c3b90$d900a8c0@catalin> <200409281010.27110.py@ch3m4.org> Message-ID: <003601c4a534$714ed250$d900a8c0@catalin> Muy interesantes las soluciones. Muchas gracias, Catalin From oscarm en iai.csic.es Tue Sep 28 13:53:06 2004 From: oscarm en iai.csic.es (oscar martinez graullera) Date: Tue, 28 Sep 2004 13:53:06 +0200 Subject: crear extensiones en C para manejar listas y/o arrays Message-ID: <200409281353.06570.oscarm@iai.csic.es> Hola         Estoy intentando crear una serie de extensiones en C para una aplicación y necesito leer y/o escribir una serie de valores ordenados en una lista en python o un array en C.         El parsing (Py2'C' o 'C'2Py) cuando estos son valores aislados no me plantea problemas, pero cuando quiero hacerlo con un array no me queda claro como hacerlo. 1) en el caso de py2C es posible manipular los datos a partir del puntero obtenido en el parsing  (como si este fuera un valor aislado)?, en ese caso, de C2py debo crear la lista antes y pasar el puntero para poder manipularla en C ? 2) o  todo lo anterior es falso y debo crearme una estructura propia para poder trabajar con arrays? ufff! 3) me vuelvo a leer la documentación ;-) Gracias, From jjdelcerro en cenoclap.es Tue Sep 28 11:43:46 2004 From: jjdelcerro en cenoclap.es (Joaquin Jose del Cerro Murciano) Date: Tue, 28 Sep 2004 11:43:46 +0200 Subject: duda de threads In-Reply-To: <20040927233754.GA3857@birgadista.rebelbase.dyns.cx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> <4158653D.80308@yahoo.com.mx> <20040927233754.GA3857@birgadista.rebelbase.dyns.cx> Message-ID: <200409281143.46876.jjdelcerro@cenoclap.es> El Martes, 28 de Septiembre de 2004 01:37, zako escribió: > On Mon, Sep 27, 2004 at 12:08:45PM -0700, Mauricio Flores Olmos wrote: > > Solo una idea, no se mucho de threads ni python en general, pero... ya > > que es un servidor TCP y puede recibir peticiones de algun tipo, puedes > > poner una especial para que el thread finalice cuando se le mande esa > > peticion... o de algun modo que revise alguna propiedad con un valor > > TRUE FALSE, y se este ejecutando mientras la propiedad sea TRUE y > > termine cuando sea FALSE. > > Es algo que he utilizado con timers y con metodos de lectura de > > dispositivos (en otros lenguajes por cierto, estoy investigando como se > > hace en python), y asi le hago para terminar los procesos en ejecucion. > > aupa, > > le he estado dando un par de vueltas y creo que seria complicado. En > realidad utilizo el servidor SOAP del paquete SOAPpy. Se pueden definir > funciones (RPC) SOAP, pero las excepciones lanzadas en esas funciones son > entendidas como excepciones del protocolo SOAP y generan mensajes de error > SOAP, no son manejadas por el servidor SOAP. En su caso, deberia modificar > el servidor SOAP para crear una peticion especial con la que pueda cerrar > el hilo y creo que eso se me escapa de mis conocimientos newbies de Python. > > Como segunda opcion, ya que no puedo cerrar un hilo desde otro hilo, he > decido usar procesos y señales. Sin embargo, es curioso como al mandar al > hijo una señal SIGTERM este se queda "zombi" y no es eliminado hasta que > finaliza el proceso padre. Esto me ha parecido muy raro y os incluyo el > programa que he hecho para testearlo. > > > ########################################################################### >## #!/usr/bin/env python > > import os, sys, signal, time > > pid = os.fork() > > if pid != 0: > # proceso padre, > print 'Soy el proceso padre. el hijo tiene el pid: %s.' % str(pid) > os.system('ps aux | grep python') > raw_input('Pula una tecla par matar al proceso hijo -> ') > os.kill(pid, signal.SIGTERM) > os.system('ps aux | grep python') > raw_input('Se ha matado el hijo y queda zombi!!!.\ > Pulsa para finalizar el programa -> ') > else: > # proceso hijo. > while 1: > time.sleep(5) > print 'Kaka' > ########################################################################### >## > > > Al ejecutarlo el segundo os.system(...) muestra como el proceso hijo se > haya zombi. No se si tendre algo mal en el código o es que los procesos > funcionan asi en Python. Saludos, > En relacion con lo de los zombies, por lo que recuerdo de hace mucho tiempo, el programa padre deberia atrapar la señal SIGCHLD para que el hijo no se quedase zombi al morir. podria hacerse algo como: signal.signal(signal.SIGCHLD,signal.SIG_IGN) antes del fork. Pero... (casi siempre hay un pero) El problema que he visto es que el comando signal de python parece que esta basado en la funcion signal de C, y esta funcion deja sin especificar que hacer con los zombies (problemas de definicion del interface POSIX de la funcion signal), por lo que segun sistemas puede serte suficiente o no (a mi, con un FreeBSD no me es suficiente). En caso de que no sea suficiente habria que usar, la funcion sigaction del sistema (te recomiendo que ojees el man sigaction), pero el problema que a bote pronto me he encontrado es que no he visto esta funcion en python. Bueno, siento no serte de mas ayuda pero si alguien sabe de como invocar a sigaction desde python de forma simple ya contara como hacerlo. Un saludo Joaquin > zako > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- From ezako en yahoo.es Tue Sep 28 11:53:26 2004 From: ezako en yahoo.es (zako) Date: Tue, 28 Sep 2004 11:53:26 +0200 (CEST) Subject: duda de threads In-Reply-To: References: Message-ID: <20040928095326.82293.qmail@web25208.mail.ukl.yahoo.com> --- Antonio Castro escribió: > Ciertos recursos que usan los procesos deben ser > liberados por el proceso > padre. Si eso no ocurre quedan en ese estado. Una > cosa son los thread y > otra los procesos creados con fork(). El proceso > padre debe recoger los > restos de su hijo para darle una sepultura decente. > Se hace con las llamadas > al sistema wait(2), waitpid(2). Si eso no ocurre > (Por ejemplo al padre no > le apetece enterrar a un hijo que tuvo que matar > porque no paraba de hacer > 'kaka'), el hijo quedará entonces en el limbo de los > zombis. Ya me puedes perdonar con la preguntita, pero hace 3 años que di programacion en entornos UNIX y esto de esperar a la finalizacion del hijo es la tipica cosa que se olvida a primeras de cambio. xD > En el caso de los threads te basta con saber cuando > ha de finalizar cada > hilo. Los hilos se pueden comunicar por medio de > variables globales. > Puedes usar con una variable global que indique si > hay que finalizar o no. El problema es que en el metodo run de mi clase derivada de Thread se ejecuta un SocketServer.serve_forever() con lo que no podria chequear la variable global. Podria hacer un bucle del metodo SocketServer.handle_request(), pero solo podria chequear la variable global al finalizar una peticion y no podria abortar la peticion en curso o mientras estoy esperando una peticion nueva. Lo unico que se me ocurre seria utilizar "signal" para lanzar alarmas periodicas y entonces chuequear el valor de la variable global. Por lo que he leido en la documentacion signal solo es valido en sistemas UNIX con lo que creo que no me voy a complicar y voy a utilizar procesos que solo es valido para sistemas UNIX tambien y en principio parece que me va a dar menos dolores de cabeza. Saludos y gracias, zako Se me ocurre lanzar un temporizador que periodicamente cheque el estado de la variable ______________________________________________ Renovamos el Correo Yahoo!: ¡100 MB GRATIS! Nuevos servicios, más seguridad http://correo.yahoo.es From falted en pytables.org Tue Sep 28 14:17:50 2004 From: falted en pytables.org (Francesc Alted) Date: Tue, 28 Sep 2004 14:17:50 +0200 Subject: crear extensiones en C para manejar listas y/o arrays In-Reply-To: <200409281353.06570.oscarm@iai.csic.es> References: <200409281353.06570.oscarm@iai.csic.es> Message-ID: <200409281417.50943.falted@pytables.org> Esto es un tópico bastante recurrido en cálculo científico, así que existen muchas técnicas para hacer lo que quieres. Para empezar, lo mejor es que uses los paquetes Numeric [1] o mejor, numarray [2], que es más moderno. Estos paquetes permiten trabajar con arrays compactos (i.e. como se entienden en C) y multidimensionales de manera muy pitónica. Una vez tengas éstos instalados, has de pasar a mirar cómo se accede a su información. Mira una comparativa de diversas técnicas en [3]. A mi, la que mejor me funciona es usar Pyrex [4]. Mira [5] para un ejemplo básico de uso. Si tienes que trabajar con indices multidimensionales de manera intensiva, en [3] verás que weave [6] es mejor alternativa que Pyrex. [1] http://www.pfdubois.com/numpy/ [2] http://www.stsci.edu/resources/software_hardware/numarray [3] http://www.scipy.org/documentation/weave/weaveperformance.html [4] http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ [5] http://www.scipy.org/mailinglists/mailman?fn=scipy-user/2004-September/003319.html [6] http://www.scipy.org/documentation/weave/ Suerte!, -- Francesc Alted A Dimarts 28 Setembre 2004 13:53, oscar martinez graullera va escriure: > Hola >         Estoy intentando crear una serie de extensiones en C para una > aplicación y > necesito leer y/o escribir una serie de valores ordenados en una lista en > python o un array en C. >         El parsing (Py2'C' o 'C'2Py) cuando estos son valores aislados no me > plantea problemas, pero cuando quiero hacerlo con un array no me queda claro > como hacerlo. > 1) en el caso de py2C es posible manipular los datos a partir del puntero > obtenido en el parsing  (como si este fuera un valor aislado)?, en ese caso, > de C2py debo crear la lista antes y pasar el puntero para poder manipularla > en C ? > 2) o  todo lo anterior es falso y debo crearme una estructura propia para > poder trabajar con arrays? ufff! > 3) me vuelvo a leer la documentación ;-) > > Gracias, > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From acurro en wanadoo.es Tue Sep 28 14:21:18 2004 From: acurro en wanadoo.es (Alberto Curro) Date: Tue, 28 Sep 2004 14:21:18 +0200 Subject: duda de threads In-Reply-To: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> Message-ID: <4159573E.3070101@wanadoo.es> zako wrote: >aupa, > >ando con una duda sobre los threads. Utilizo un objeto Thread y sobrescribo >el metodo run. El problema es que el metodo run se ejecuta indefinidamente >(arranca un servidro TCP) hasta que el programa lo "mate". En la documentacion >de Thread he visto que no hay ningun método para matar un hilo, el hilo se >acaba cuando finaliza el metodo run (cosa que no ocurre en mi caso) o cuando >se recibe una excepcion no manejada. > >Mi duda es si existe alguna forma de matar ese hilo, por ejemplo si existe >alguna funcion para lanzar una excepcion desde el programa al hilo para >finalizarlo o algo similar. > >Sino tambien he visto como posibilidad utilizar el modulo thread en lugar de >threading, ya que este tiene una funcion exit. Pero esto me obligaria a >modificar bastante el código. Saludos y gracias, > >zako > > Una duda, aunque no soy un "hacker experto" en temas de red, no acabo de ver las ventajas del modelo que estás adoptando. Supongo que has diseñado la aplicación de forma que hace algo y al mismo tiempo quieres que atienda peticiones en TCP... no? Vale, pero... ¿y cómo atiendes múltiples conexiones? ¿Limitas a una sóla?. ¿No sería más sencillo adoptar el enfoque tradicional de hilo principal -> hilos hijo para las peticiones? Es algo parecido al uso tradicional de procesos padre e hijo con fork(), pero usando threads. De esta manera cada thread hijo atendería una petición y se finalizaría a si mismo, con lo cual se te simplifica (mucho) el problema. ¿no?. En Linux no sé, pero en Windows puedes crear objetos mutex (mismo concepto que colas/slots de comunicación entre procesos en UNIX/Linux, pero adoptado a la "filosofía" microsoft), y así tienes un canal de comunicación con el cual haces un read() y write() sobre el mutex y listo. Ya digo que desconozco qué tienes en mente exactamente. Pero si es el caso "típico" entonces este formato a mí me parece más sencillo y manejable. Salu2 From hernan en orgmf.com.ar Tue Sep 28 15:41:25 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 28 Sep 2004 15:41:25 +0200 Subject: duda de threads In-Reply-To: <20040928095326.82293.qmail@web25208.mail.ukl.yahoo.com> References: <20040928095326.82293.qmail@web25208.mail.ukl.yahoo.com> Message-ID: > --- Antonio Castro escribió: >> ... El proceso padre debe recoger los >> restos de su hijo para darle una sepultura decente. Se hace con las >> llamadas al sistema wait(2), waitpid(2). > > Ya me puedes perdonar con la preguntita, pero hace 3 > años que di programacion en entornos UNIX y esto de > esperar a la finalizacion del hijo es la tipica cosa > que se olvida a primeras de cambio. xD Je... A todos nos pasó alguna vez. Usando wait y familia lo puedes resolver en forma portable. >> En el caso de los threads te basta con saber cuando ha de finalizar >> cada hilo. Los hilos se pueden comunicar por medio de >> variables globales. >> Puedes usar con una variable global que indique si >> hay que finalizar o no. > > El problema es que en el metodo run de mi clase > derivada de Thread se ejecuta un > SocketServer.serve_forever() con lo que no podria > chequear la variable global. Podria hacer un bucle del > metodo SocketServer.handle_request(), pero solo podria > chequear la variable global al finalizar una peticion > y no podria abortar la peticion en curso o mientras > estoy esperando una peticion nueva. Disculpa si ya lo has explicado pero no estuve siguiendo el hilo de la conversación. Lo que no entiendo... ¿Estás usando threads *y* procesos en tu aplicación? ¿No te estás complicando demasiado? -H. From falted en pytables.org Tue Sep 28 16:59:17 2004 From: falted en pytables.org (Francesc Alted) Date: Tue, 28 Sep 2004 16:59:17 +0200 Subject: crear extensiones en C para manejar listas y/o arrays In-Reply-To: <200409281417.50943.falted@pytables.org> References: <200409281353.06570.oscarm@iai.csic.es> <200409281417.50943.falted@pytables.org> Message-ID: <200409281659.17805.falted@pytables.org> A Dimarts 28 Setembre 2004 14:17, Francesc Alted va escriure: > Esto es un tópico bastante recurrido en cálculo científico, así que Uf, releyendo esto veo que debería haber escrito *recurrente*. Además, mi ligera dislexia no es excusa para este caso. En fin, mi profe de lengua de la EGB me hubiera arreado un buen "calbot", como era la costumbre de aquellos años... -- Francesc Alted From ezako en yahoo.es Tue Sep 28 17:34:00 2004 From: ezako en yahoo.es (zako) Date: Tue, 28 Sep 2004 17:34:00 +0200 Subject: duda de threads In-Reply-To: <4159573E.3070101@wanadoo.es> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> <4159573E.3070101@wanadoo.es> Message-ID: <20040928153400.GA1310@birgadista.rebelbase.dyns.cx> aupa, lo que estoy realizando no es mas que mi prototipo para el proyecto fin de carrera y no es algo muy ortodoxo. Básicamente lo que hago es arrancar un servidor SOAP multihilo que atiende peticiones SOAP-RPC de diferentes nodos autorizados de internet. Alguna de las peticiones que pueden realizar es arrancar otro Servidor SOAP con diferentes funciones SOAP-RPC para que puedan ser utilizados por un segundo grupo de ordenadores. Es esta necesidad de arrancar servidores SOAP sobre la marcha lo que me ha obligado ojear las necesidades de los threads y procesos. En principio me da igual usar hilos o procesos, mas bien me preocuparia en un futuro el problema de portabilidad a otros OS y el tema del rendimiento pero no es demasiado importante actualmente (que lo quiero es acabar el proyecto xD). Aunque arrancar varios servidores (en procesos o hilos) puede resultar un tanto extraño. No es un capricho, es una solucion para posibilitar que un servicio (un nuevo servidor) este sujeto a un determinado ancho de banda, ya que todos los clientes pasan por un proxy y solo podremos caracterizar cada servicio por el puerto en el que esta escuchando. Mas o menos seria por encima lo que debo de hacer. No mezclo threads ni procesos solo he intentado buscar aquello que mejor se adapte a mi sistema. Un sistema y muchas gracias (soluciono mas problemas en esta lista que en la universidad), zako From crgutier en dcc.uchile.cl Tue Sep 28 10:36:26 2004 From: crgutier en dcc.uchile.cl (Cristian Gutierrez) Date: Tue, 28 Sep 2004 04:36:26 -0400 Subject: duda de threads References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> <4158653D.80308@yahoo.com.mx> <20040927233754.GA3857@birgadista.rebelbase.dyns.cx> Message-ID: <871xgmx01h.fsf@guti.no-ip.org> ezako en yahoo.es wrote: [...] > Como segunda opcion, ya que no puedo cerrar un hilo desde otro hilo, > he decido usar procesos y señales. Sin embargo, es curioso como al > mandar al hijo una señal SIGTERM este se queda "zombi" y no es > eliminado hasta que finaliza el proceso padre. Esto me ha parecido muy > raro y os incluyo el programa que he hecho para testearlo. [...] > os.kill(pid, signal.SIGTERM) # aca te falto un... os.wait() [...] > Al ejecutarlo el segundo os.system(...) muestra como el proceso hijo > se haya zombi. No se si tendre algo mal en el código o es que los > procesos funcionan asi en Python. Saludos, Los procesos quedan en estado `zombie' mientras nadie les haga un "requiem" (es decir, wait() ;-). Saludos, -- Cristian Gutierrez http://www.dcc.uchile.cl/~crgutier crgutier[@]dcc.uchile.cl Jabber:crgutier en jabber.org "Enter any 11-digit prime number to continue..." From josecerezo en grupocsm.com Tue Sep 28 12:44:54 2004 From: josecerezo en grupocsm.com (Jose Vte Cerezo Goorea) Date: Tue, 28 Sep 2004 12:44:54 +0200 Subject: Uso de fork() y terminaciones de hijos desde padres Message-ID: <415940A6.2030406@grupocsm.com> en este enlace hay una buena informacion de uso de os.fork() http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66012 Saludos From nan_lo2001 en yahoo.com Tue Sep 28 18:03:55 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Tue, 28 Sep 2004 09:03:55 -0700 (PDT) Subject: como leer datos Message-ID: <20040928160355.34908.qmail@web21202.mail.yahoo.com> Hola, soy nueva en python y todavia no entiendo cual es la mejor forma de leer mis datos. Tengo una base de datos con campos definidos para cada variable. Para leerla la transformaba en csv y la leia asi, intentando convertirla en matriz : from numarray import * f=open("c:\\testdata.csv",'r+') nvars=f.readline() nvars nobs=f.readlines() nobs if nvars[-1]=='\n': varnames=nvars[0:-1].split(",") else: varnames=nvars.split(",") n=len(nobs) k=len(varnames) VarData = zeros((n,k),Float) for i in range(0,n): for j in range(0,k): if nobs[i]==float(): VarData[i,j] = float(nobs[i].split(",")[j]) else: VarData[i,j] = char(nobs[i].split(",")[j]) # Make dictionary of Variables: Data = {varnames[0]: VarData[:,0]} for j in range(0,k): Data0={varnames[j]: VarData[:,j]} Data.update(Data0) Necesito hacer operaciones despues con mis variables y por eso estaba construyendo una matriz. Tengo varias preguntas: -No se si es posible leer directamente mi base de datos definiendo los campos de cada variable sin tener que transformar la base en un archivo .csv -La base de datos tiene tanto numeros como palabras, por eso al intentar construir la matriz tengo problemas porque no puedo leer todos los datos con float() Es mejor usar solo diccionarios en este caso? Si es asi como puedo incluir campos, valores y typo de variable todo en el mismo diccionario? Si no, existe alguna forma mejor para leer mis datos? Muchas gracias por su ayuda. Nancy Lozano --------------------------------- Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From FBatista en uniFON.com.ar Tue Sep 28 18:26:22 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Tue, 28 Sep 2004 13:26:22 -0300 Subject: como leer datos Message-ID: [Nan loz] #- -No se si es posible leer directamente mi base de datos #- definiendo los campos de cada variable sin tener que #- transformar la base en un archivo .csv ¿Qué base de datos es? Yo trabajo todo el tiempo con MySQL pero Python tiene conexiones a muchas otras también. #- -La base de datos tiene tanto numeros como palabras, por eso #- al intentar construir la matriz tengo problemas porque no #- puedo leer todos los datos con float() Sólo haz float() cuando quieres transformar un nro, y deja los string tal cual. Un registro de tu BDD como ejemplo ayudaría para que entendamos lo que quieres hacer. . Facundo From nan_lo2001 en yahoo.com Tue Sep 28 19:17:52 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Tue, 28 Sep 2004 10:17:52 -0700 (PDT) Subject: como leer datos Message-ID: <20040928171752.53655.qmail@web21206.mail.yahoo.com> Gracias por contestar tan rapido. Tengo dos bases de datos, parte de un registro de la primera es: 0200000022011 44718860880101300 09609048010328010101184 0007185 1 991 C61 donde las variables estan definidas de la siguiente forma: ITEM NAME ITEM # POSITIONS LENGTH SEER registry 01 01-02 2 Case number 02 03-10 8 Record number 03 11-12 2 etc...... En este caso por ejemplo no quiero leer con float() las primeras variables porque son codigos y es importante mantener 0002 y no convertirlo en 2. Sin embargo hay otras variables con las que despues voy a tener que hacer operaciones simples (sumas, promedios, contar, etc). La otra base de datos es similar, el problema es el mismo: Jo DaviessIllinois1708517085618.7032222289 Muchas gracias, Nancy --------------------------------- Do you Yahoo!? Yahoo! Mail - Helps protect you from nasty viruses. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From FBatista en uniFON.com.ar Tue Sep 28 19:57:31 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Tue, 28 Sep 2004 14:57:31 -0300 Subject: como leer datos Message-ID: [Nan loz] #- Gracias por contestar tan rapido. Tengo dos bases de datos, #- parte de un registro de la primera es: #- #- 0200000022011 44718860880101300 09609048010328010101184 #- 0007185 1 991 C61 #- donde las variables estan definidas de la siguiente forma: #- #- ITEM NAME ITEM # POSITIONS #- LENGTH #- #- SEER registry 01 01-02 #- 2 #- #- Case number 02 03-10 #- 8 #- #- Record number 03 11-12 #- 2 #- etc...... #- #- En este caso por ejemplo no quiero leer con float() las #- primeras variables porque son codigos y es importante #- mantener 0002 y no convertirlo en 2. Sin embargo hay otras #- variables con las que despues voy a tener que hacer #- operaciones simples (sumas, promedios, contar, etc). Nancy, creo que la confusión viene porque nunca trabajaste directamente con BDDs. Por ejemplo, si yo hago con el MySQLdb: db = MySQLdb.connection(central, usuario, clave, base) result = db.query('select * from tabla1 where user="Facundo"') obtengo en ´result´ unas listas con todos los registros, donde cada registro es una lista con los campos, siempre como string: [ ["Facundo", "23/09/04", "2532"], ["Facundo", "24/09/04", "5861"], ["Facundo", "25/09/04", "2937"], ["Facundo", "26/09/04", "3687"], ["Facundo", "27/09/04", "4035"] ] Queda en el/la programador/a saber interpretar esa lista (o sea, saber que en cada registro el primer elemento es el nombre del usuario, que el segundo elemento es una fecha, y que el tercero es una cantidad) y convertirlo a lo que se necesite. Por ejemplo, yo lo que haría es: rfinal = [] for (user, fecha, cant) in result: cant = int(cant) rfinal.append(user, cant) obteniendo luego algo como lo siguiente: [["Facundo", 2532], ["Facundo", 5861], ... ] Espero que esto te sirva para poder aplicarlo a tu caso. Slds. . Facundo From erny en sicem.biz Tue Sep 28 20:45:34 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 28 Sep 2004 20:45:34 +0200 Subject: duda de threads In-Reply-To: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> References: <20040927163340.GA1992@birgadista.rebelbase.dyns.cx> Message-ID: <4159B14E.5040703@sicem.biz> Hola, creo que tu problema es común, y yo tuve lo mismo, o tengo el mismo, y la solución es reimplementar el serve_forever, pero que es realmente simple: # eso sale de la clase BaseServer del archivo SocketServer.py: def serve_forever: while not self.salir: self.handle_request() ahora, en tu init tienes que definir el self.salir=0 Más cosillas: aunque tú le digas que salga, el no sale, por se bloquea en el socket, esperando una lectura. Por ello mismo, en el métod que pone el self.salir a 1 le suelo poner solicitudes a localhost, para que se salga. un problemilla es que es una solicitud basura, pero esa la podrás tratar. Erny zako escribió: >aupa, > >ando con una duda sobre los threads. Utilizo un objeto Thread y sobrescribo >el metodo run. El problema es que el metodo run se ejecuta indefinidamente >(arranca un servidro TCP) hasta que el programa lo "mate". En la documentacion >de Thread he visto que no hay ningun método para matar un hilo, el hilo se >acaba cuando finaliza el metodo run (cosa que no ocurre en mi caso) o cuando >se recibe una excepcion no manejada. > >Mi duda es si existe alguna forma de matar ese hilo, por ejemplo si existe >alguna funcion para lanzar una excepcion desde el programa al hilo para >finalizarlo o algo similar. > >Sino tambien he visto como posibilidad utilizar el modulo thread en lugar de >threading, ya que este tiene una funcion exit. Pero esto me obligaria a >modificar bastante el código. Saludos y gracias, > >zako >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0440-0, 28/09/2004 Comprobado en: 28/09/2004 20:45:34 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From fvillarroel en yahoo.com Tue Sep 28 23:45:13 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Tue, 28 Sep 2004 14:45:13 -0700 (PDT) Subject: Compilar para Windows Message-ID: <20040928214513.38859.qmail@web41211.mail.yahoo.com> Hola Lista, les cuento debo desarrollar una aplicacion Python y GTK que accedera a una base de datos postgres, el cuento es que debo instalar este programa generado con Python y GTK como dije en estaciones Windows muchos de ellos 95 otros 98, etc. Que necesito instalar en estos PC para que me corra esta aplicacion. O de otra forma como compilo en mi linux esta aplicacion para que me genere un .exe que me corra en windows. Otra duda es el acceso a postgres, debo poner el odbc para windows tambien, verdad?. Bueno espero sus comentarios, seguro que alguien ha tenido una experiencia similar a esta que me ayude sobre como lo hago. Saludos Fernando Villarroel N. __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From fvillarroel en yahoo.com Wed Sep 29 00:50:16 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Tue, 28 Sep 2004 15:50:16 -0700 (PDT) Subject: Codigos ASCII Message-ID: <20040928225016.75854.qmail@web41202.mail.yahoo.com> Hola hace un tiempo Chema Cortes me envio los siguientes codigos ascii para controlar el cursor en pantalla: ESC='\033' #posicionar el cursor l?nea y columna print ESC+'[%d;%dH'%(l,c) #subir cursor n l?neas print ESC+'[%dA'%n #bajar cursor n l?neas print ESC+'[%dB'%n #mover cursor n columnas adelante print ESC+'[%dC'%n #mover cursor n columnas atr?s print ESC+'[%dD'%n #guardar posici?n cursor print ESC+'[s' #restaurar posici?n cursor print ESC+'[u' #borrar pantalla print ESC+'[2J' #borrar hasta fin de linea print ESC+'[K' El cuento es que basicamente necesito utilizar estos codigos para controlar una impresora, la idea es utilizar la impresora como archivo para imprimir una Orden de Transporte, ademas de facturas y otros documentos: open("LPT1","w") Donde puedo conseguir una lista de estos codigos para saber entre otras cosas como agrandar o disminuir el tama?o de la letra, como cambiar de pagina (eject), como dimensionar la pagina (1/2 carta, oficio,etc). Lo tipico es usar el formulario continuo 11 x 9.5 (equivalente al tama?o A4), pero aveces se necesita imprimir en formato 14 x 9.5 para imprimir planillas o otras cosas, es para eso que necesito los codigos ASCII. No se si me entienden como le digo mediante algun codigo ASCII que la pagina sera de X lineas y que cuando le diga eject se posicione en la primera fila de la siguiente pagina que puede ser la segunda mitad del tama?o carta o A4 o 11x9.5 (eso en pulgadas), se entiende?. Bueno si existe alguna solucion mas elegante, la tomo tambien. Pero nunca esta de mas conocer estos codigos. Fernando Villarroel N. __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmail.com Wed Sep 29 03:04:54 2004 From: vitojph en gmail.com (Victor Peinado) Date: Tue, 28 Sep 2004 18:04:54 -0700 Subject: Problemas leyendo un fichero al encontrar EOF. Message-ID: ¡Hola lista! Estoy teniendo algunos problemas para evitar que un programita me casque al encontrar el final de un fichero y no sé cómo hacer frente a esto. Os cuento: Estoy leyendo línea a línea distintos ficheros (una especie de listas de palabras) de longitud variable. Cada línea de estos ficheros tiene el siguiente formato: valor1 término1 valor2 término2 valor3 término3 ... valorN términoN donde valor es un número con coma flotate y término es una cadena. Además, los valores están colocados en orden decreciente. El caso es que voy leyendo línea a línea (usando f.readline()) siempre que el valor de la línea actual no sea inferior a determinado umbral, hago un split para separar los valores y los proceso. Bueno, hasta aquí es sencillo. El problema lo encuentro cuando uno de los fichero tiene una sola línea, encuentra el EOF y casca el split. ¿Cómo puedo anticiparme y comprobar que no he llegado al final del fichero? Gracias de antemano y saludos. -- Víctor Peinado || || http://ieqo.org/blog From jardindeletras en telefonica.net Wed Sep 29 08:53:40 2004 From: jardindeletras en telefonica.net (Javi) Date: Wed, 29 Sep 2004 08:53:40 +0200 Subject: =?iso-8859-1?q?Librer=EDa_para_guardar_la_configurac?= =?iso-8859-1?q?i=F3n_de_los_programas=2E?= Message-ID: <200409290853.40824.jardindeletras@telefonica.net> Hola Pensando en no reinventar la rueda ¿conocéis alguna librería para guardar la configuración de los programas? Un saludo From lcatalin en siadv.com Wed Sep 29 08:57:08 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 29 Sep 2004 08:57:08 +0200 Subject: Imprimir comentarios Message-ID: <005301c4a5f1$89f717f0$d900a8c0@catalin> Hola, Hay alguna forma estándar de imprimir los nombres de las funciones y los comentarios de un modulo python. Por ejemplo: def Suma(a, b): """Devuelve la suma de los números a y b""" return a+b que pueda imprimir: def Suma(a, b): """Devuelve la suma de los números a y b""" Gracias, Catalin Lungu From py en ch3m4.org Wed Sep 29 09:11:05 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 09:11:05 +0200 Subject: crear extensiones en C para manejar listas y/o arrays In-Reply-To: <200409281659.17805.falted@pytables.org> References: <200409281353.06570.oscarm@iai.csic.es> <200409281417.50943.falted@pytables.org> <200409281659.17805.falted@pytables.org> Message-ID: <200409290911.11591.py@ch3m4.org> On Tuesday 28 September 2004 16:59, Francesc Alted wrote: > > Esto es un tópico bastante recurrido en cálculo científico, así que > > Uf, releyendo esto veo que debería haber escrito *recurrente*. Además, mi > ligera dislexia no es excusa para este caso. En fin, mi profe de lengua de > la EGB me hubiera arreado un buen "calbot", como era la costumbre de > aquellos años... Pues no me había dado cuenta del "recurrido", aunque seguro que cuando vi lo de "tópico" ya cambié a DTD 'transitional' :-D ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From santi en zetadb.com Wed Sep 29 09:36:53 2004 From: santi en zetadb.com (Santi Camps) Date: Wed, 29 Sep 2004 09:36:53 +0200 Subject: =?ISO-8859-1?Q?Librer=EDa_para_guardar_la_?= =?ISO-8859-1?Q?configuraci=F3n_de_los_programas=2E?= In-Reply-To: <200409290853.40824.jardindeletras@telefonica.net> References: <200409290853.40824.jardindeletras@telefonica.net> Message-ID: <415A6615.5060509@zetadb.com> En/na Javi ha escrit: >Hola > >Pensando en no reinventar la rueda ¿conocéis alguna librería para guardar la >configuración de los programas? > >Un saludo > > Perdonad mi zopemanía, pero es que básicamente uso python para eso. Con Zope se distribuye un módulo llamado ZConfig que, a partir de un Schema XML gestiona ficheros de configuración en formato XML. Es lo que se usa por ejemplo para gestionar los ficheros zope.conf o zeo.conf. Espero que te sirva. Santi Camps http://www.earcon.com From santi en zetadb.com Wed Sep 29 09:38:27 2004 From: santi en zetadb.com (Santi Camps) Date: Wed, 29 Sep 2004 09:38:27 +0200 Subject: Imprimir comentarios In-Reply-To: <005301c4a5f1$89f717f0$d900a8c0@catalin> References: <005301c4a5f1$89f717f0$d900a8c0@catalin> Message-ID: <415A6673.7000103@zetadb.com> En/na Catalin Lungu ha escrit: >Hola, >Hay alguna forma estándar de imprimir los nombres de las funciones y los comentarios de un modulo python. > >Por ejemplo: > >def Suma(a, b): > """Devuelve la suma de los números a y b""" > return a+b > >que pueda imprimir: > >def Suma(a, b): > """Devuelve la suma de los números a y b""" > >Gracias, >Catalin Lungu > > En Debian he usado un paquete llamado python-epydoc que hace exactamente eso. Santi Camps http://www.earcon.com From py en ch3m4.org Wed Sep 29 09:36:52 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 09:36:52 +0200 Subject: como leer datos In-Reply-To: <20040928171752.53655.qmail@web21206.mail.yahoo.com> References: <20040928171752.53655.qmail@web21206.mail.yahoo.com> Message-ID: <200409290936.55525.py@ch3m4.org> Como te dice Facundo, intenta utilizar algún módulo de base de datos para su procesado. Pero de no ser ésto posible, utilizar el módulo 'csv' para convertir ficheros con esta condificación. Aunque sea fácil procesarlos, te evitará bastantes problemas. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Wed Sep 29 09:57:53 2004 From: falted en pytables.org (Francesc Alted) Date: Wed, 29 Sep 2004 09:57:53 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: References: Message-ID: <200409290957.53020.falted@pytables.org> Mmm... no sé muy bien cual es tu problema. Esto te lo solucionaria?: umbral = 1.0 for line in open('data'): sp=line.split() f,s=(float(sp[0]), sp[1]) if f >= umbral: print "f, s -->", f, s a mi me funciona para cualquier número de lineas A Dimecres 29 Setembre 2004 03:04, Victor Peinado va escriure: > ¡Hola lista! > > Estoy teniendo algunos problemas para evitar que un programita me > casque al encontrar el final de un fichero y no sé cómo hacer frente a > esto. Os cuento: > > Estoy leyendo línea a línea distintos ficheros (una especie de listas > de palabras) de longitud variable. Cada línea de estos ficheros tiene > el siguiente formato: > > valor1 término1 > valor2 término2 > valor3 término3 > ... > valorN términoN > > > donde valor es un número con coma flotate y término es una cadena. > Además, los valores están colocados en orden decreciente. > > El caso es que voy leyendo línea a línea (usando f.readline()) siempre > que el valor de la línea actual no sea inferior a determinado umbral, > hago un split para separar los valores y los proceso. Bueno, hasta > aquí es sencillo. El problema lo encuentro cuando uno de los fichero > tiene una sola línea, encuentra el EOF y casca el split. ¿Cómo puedo > anticiparme y comprobar que no he llegado al final del fichero? > > Gracias de antemano y saludos. > > -- Francesc Alted From py en ch3m4.org Wed Sep 29 10:17:38 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 10:17:38 +0200 Subject: Codigos ASCII In-Reply-To: <20040928225016.75854.qmail@web41202.mail.yahoo.com> References: <20040928225016.75854.qmail@web41202.mail.yahoo.com> Message-ID: <200409291017.42132.py@ch3m4.org> On Wednesday 29 September 2004 00:50, FERNANDO VILLARROEL wrote: > Donde puedo conseguir una lista de estos codigos para > saber entre otras cosas como agrandar o disminuir el > tamaño de la letra, como cambiar de pagina (eject), > como dimensionar la pagina (1/2 carta, oficio,etc). Lo > tipico es usar el formulario continuo 11 x 9.5 > (equivalente al tamaño A4), pero aveces se necesita > imprimir en formato 14 x 9.5 para imprimir planillas o > otras cosas, es para eso que necesito los codigos > ASCII. Dependerá de la impresora que utilices. Las antiguas matriciales usaban secuencias de escapes similares a las que comentas, existiendo varios tipo de "emulación" (IBM y Epson) que hacían bastante compatibles las impresoras entre sí. Hoy en día las impresoras láser ó de chorro de tinta no usan estos códigos. En láseres está el postscript como gran estándar; el resto utilizan lenguajes similares como el PCL, HPGL, etc que intentan no tener que pagar royalties a Adobe por el postscript. Resumidamente, dependerá de tu marca y modelo de impresora. Mira sus especificaciones a ver qué lenguajes acepta. Aún existen impresoras que usan los viejos códigos de impresora matriciales, pero son muy raras. > Bueno si existe alguna solucion mas elegante, la tomo > tambien. Pero nunca esta de mas conocer estos codigos. Aunque no lo he trabajado mucho, mi consejo es que utilices el ghostscript, una especie de emulación del postscript que funciona para gran cantidad de impresoras y con multitud de posibilidades. Lo tienes para linux y windows: http://www.ghostscript.com Curiosamente, las pruebas de este sistema las hacen con el PyUnit, así que tienes algunos scripts que pueden servirte como ejemplos: http://cvs.ghostscript.com/cgi-bin/viewcvs.cgi/cvs/ghostscript/gs/toolbin/tests/ ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Sep 29 10:21:11 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 10:21:11 +0200 Subject: =?iso-8859-1?q?Librer=EDa_para_guardar_la_configuraci=F3n_de_los?= =?iso-8859-1?q?_programas=2E?= In-Reply-To: <200409290853.40824.jardindeletras@telefonica.net> References: <200409290853.40824.jardindeletras@telefonica.net> Message-ID: <200409291021.11476.py@ch3m4.org> On Wednesday 29 September 2004 08:53, Javi wrote: > Pensando en no reinventar la rueda ¿conocéis alguna librería para guardar > la configuración de los programas? 'ConfigParser' ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From morillas en posta.unizar.es Wed Sep 29 10:29:52 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Wed, 29 Sep 2004 10:29:52 +0200 Subject: Imprimir comentarios In-Reply-To: <005301c4a5f1$89f717f0$d900a8c0@catalin> References: <005301c4a5f1$89f717f0$d900a8c0@catalin> Message-ID: <1096446592.415a7280a16a0@webmail.unizar.es> Mensaje citado por Catalin Lungu : > Hola, > Hay alguna forma estándar de imprimir los nombres de las funciones y los > comentarios de un modulo python. > > Por ejemplo: > > def Suma(a, b): > """Devuelve la suma de los números a y b""" > return a+b > > que pueda imprimir: > > def Suma(a, b): > """Devuelve la suma de los números a y b""" > Tienes un ejemplo interesante en diveintopython http://diveintopython.org/power_of_introspection/index.html Creo que es eso lo que buscas. -- Luis Miguel From lcatalin en siadv.com Wed Sep 29 10:37:30 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 29 Sep 2004 10:37:30 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. References: Message-ID: <000d01c4a5ff$951cc270$d900a8c0@catalin> Prueba leer con readlines() que te devuelve una lista de cadenas a que le puedes aplicar split. Así puedes cerrar el fichero antes de trabajar con el contenido. Un saludo, Catalin Lungu ----- Original Message ----- From: "Victor Peinado" To: "Python-ES" Sent: Wednesday, September 29, 2004 3:04 AM Subject: [Python-es] Problemas leyendo un fichero al encontrar EOF. ¡Hola lista! Estoy teniendo algunos problemas para evitar que un programita me casque al encontrar el final de un fichero y no sé cómo hacer frente a esto. Os cuento: Estoy leyendo línea a línea distintos ficheros (una especie de listas de palabras) de longitud variable. Cada línea de estos ficheros tiene el siguiente formato: valor1 término1 valor2 término2 valor3 término3 ... valorN términoN donde valor es un número con coma flotate y término es una cadena. Además, los valores están colocados en orden decreciente. El caso es que voy leyendo línea a línea (usando f.readline()) siempre que el valor de la línea actual no sea inferior a determinado umbral, hago un split para separar los valores y los proceso. Bueno, hasta aquí es sencillo. El problema lo encuentro cuando uno de los fichero tiene una sola línea, encuentra el EOF y casca el split. ¿Cómo puedo anticiparme y comprobar que no he llegado al final del fichero? Gracias de antemano y saludos. -- Víctor Peinado || || http://ieqo.org/blog _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jordipascual en ono.com Wed Sep 29 09:28:29 2004 From: jordipascual en ono.com (Jordi Pascual) Date: Wed, 29 Sep 2004 09:28:29 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: References: Message-ID: <415A641D.2090502@ono.com> Creo que podrías leer todo el archivo, utilizar un for para leer los valores, utilizando el separador que tengas en el archivo (coma, espacio, etc.) y usar un break cuando llegues a la condición, algo así: archivo = open(nombreArchivo,'r') ... for (valor,termino) in archivo: if condicion: break [el procesado que quieras] O, creo que mejor, podrías usar las excepciones: lee las líneas dentro de un try: except try: abre archivo, procesa, etc. except IOError: pass [o lo que necesites] En/na Victor Peinado ha escrit: >¡Hola lista! > >Estoy teniendo algunos problemas para evitar que un programita me >casque al encontrar el final de un fichero y no sé cómo hacer frente a >esto. Os cuento: > >Estoy leyendo línea a línea distintos ficheros (una especie de listas >de palabras) de longitud variable. Cada línea de estos ficheros tiene >el siguiente formato: > >valor1 término1 >valor2 término2 >valor3 término3 >... >valorN términoN > > >donde valor es un número con coma flotate y término es una cadena. >Además, los valores están colocados en orden decreciente. > >El caso es que voy leyendo línea a línea (usando f.readline()) siempre >que el valor de la línea actual no sea inferior a determinado umbral, >hago un split para separar los valores y los proceso. Bueno, hasta >aquí es sencillo. El problema lo encuentro cuando uno de los fichero >tiene una sola línea, encuentra el EOF y casca el split. ¿Cómo puedo >anticiparme y comprobar que no he llegado al final del fichero? > >Gracias de antemano y saludos. > > > > From rapto en arrakis.es Wed Sep 29 11:14:07 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 29 Sep 2004 11:14:07 +0200 Subject: crear extensiones en C para manejar listas y/o arrays In-Reply-To: <200409290911.11591.py@ch3m4.org> References: <200409281353.06570.oscarm@iai.csic.es> <200409281417.50943.falted@pytables.org> <200409281659.17805.falted@pytables.org> <200409290911.11591.py@ch3m4.org> Message-ID: <415A7CDF.8030705@arrakis.es> Si este mensaje llega a Malonda, salimos en http://tira.escomposlinux.org/ :-D Chema Cortés escribió: >On Tuesday 28 September 2004 16:59, Francesc Alted wrote: > > > >>>Esto es un tópico bastante recurrido en cálculo científico, así que >>> >>> >>Uf, releyendo esto veo que debería haber escrito *recurrente*. Además, mi >>ligera dislexia no es excusa para este caso. En fin, mi profe de lengua de >>la EGB me hubiera arreado un buen "calbot", como era la costumbre de >>aquellos años... >> >> > >Pues no me había dado cuenta del "recurrido", aunque seguro que cuando vi lo >de "tópico" ya cambié a DTD 'transitional' :-D > > From py en ch3m4.org Wed Sep 29 11:18:30 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 11:18:30 +0200 Subject: Imprimir comentarios In-Reply-To: <005301c4a5f1$89f717f0$d900a8c0@catalin> References: <005301c4a5f1$89f717f0$d900a8c0@catalin> Message-ID: <200409291118.34744.py@ch3m4.org> On Wednesday 29 September 2004 08:57, Catalin Lungu wrote: > Hay alguna forma estándar de imprimir los nombres de las funciones y los > comentarios de un modulo python. > > Por ejemplo: > > def Suma(a, b): > """Devuelve la suma de los números a y b""" > return a+b > > que pueda imprimir: > > def Suma(a, b): > """Devuelve la suma de los números a y b""" ¿Has probado con 'pydoc'? $ pydoc mimodulo ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lopez en esrf.fr Wed Sep 29 11:24:08 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Wed, 29 Sep 2004 11:24:08 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: <200409290957.53020.falted@pytables.org> References: <200409290957.53020.falted@pytables.org> Message-ID: <5.1.0.14.0.20040929112238.00ae4f60@pop.esrf.fr> At 09:57 29/09/2004 +0200, you wrote: >umbral = 1.0 >for line in open('data'): creo que deberia llevar el metodo readlines para poder iterar sobre las lineas del fichero y no sobre el fichero (se te habrá pasado ;) for line in open('data').readlines(): > sp=line.split() > f,s=(float(sp[0]), sp[1]) > if f >= umbral: > print "f, s -->", f, s > >a mi me funciona para cualquier número de lineas ____________________________________ Angel Lopez Muñoz Spanish CRG BeamLine at the European Synchrotron Radiation Facility 6, Rue Jules Horowitz ESRF-B. P. 220 F-38043 Grenoble Cedex 09 France Tel. +33-(0)476 88 24 49 Fax +33-(0)476 88 28 16 From lopez en esrf.fr Wed Sep 29 11:28:46 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Wed, 29 Sep 2004 11:28:46 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: References: Message-ID: <5.1.0.14.0.20040929112510.00ae5300@pop.esrf.fr> Prueba con esto. umbral=555.5 #el numero que se necesite f=open('fichero', 'r'): linea=f.readline() while linea: valor=float(linea.split()[0]) termino=str(linea.split()[1]) if valor>umbral or valor=umbral: # haz lo que debas hacer... linea=f.readline() f.close() Un saludo. At 18:04 28/09/2004 -0700, you wrote: >¡Hola lista! > >Estoy teniendo algunos problemas para evitar que un programita me >casque al encontrar el final de un fichero y no sé cómo hacer frente a >esto. Os cuento: > >Estoy leyendo línea a línea distintos ficheros (una especie de listas >de palabras) de longitud variable. Cada línea de estos ficheros tiene >el siguiente formato: > >valor1 término1 >valor2 término2 >valor3 término3 >... >valorN términoN > > >donde valor es un número con coma flotate y término es una cadena. >Además, los valores están colocados en orden decreciente. > >El caso es que voy leyendo línea a línea (usando f.readline()) siempre >que el valor de la línea actual no sea inferior a determinado umbral, >hago un split para separar los valores y los proceso. Bueno, hasta >aquí es sencillo. El problema lo encuentro cuando uno de los fichero >tiene una sola línea, encuentra el EOF y casca el split. ¿Cómo puedo >anticiparme y comprobar que no he llegado al final del fichero? > >Gracias de antemano y saludos. > > >-- >Víctor Peinado || || http://ieqo.org/blog >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es ____________________________________ Angel Lopez Muñoz Spanish CRG BeamLine at the European Synchrotron Radiation Facility 6, Rue Jules Horowitz ESRF-B. P. 220 F-38043 Grenoble Cedex 09 France Tel. +33-(0)476 88 24 49 Fax +33-(0)476 88 28 16 From rapto en arrakis.es Wed Sep 29 11:35:38 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 29 Sep 2004 11:35:38 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: <5.1.0.14.0.20040929112238.00ae4f60@pop.esrf.fr> References: <5.1.0.14.0.20040929112238.00ae4f60@pop.esrf.fr> Message-ID: <415A81EA.3030101@arrakis.es> El iterador por omisión de los objetos file es el equivalente a xreadlines, es decir, línea por línea y sin cargar el fichero completo en memoria. for line in open('data'): es correcto. Angel Lopez Muñoz escribió: > At 09:57 29/09/2004 +0200, you wrote: > >> umbral = 1.0 >> for line in open('data'): > > > creo que deberia llevar el metodo readlines para poder iterar sobre > las lineas del fichero y no sobre el fichero (se te habrá pasado ;) > for line in open('data').readlines(): > >> sp=line.split() >> f,s=(float(sp[0]), sp[1]) >> if f >= umbral: >> print "f, s -->", f, s >> >> a mi me funciona para cualquier número de lineas > > > > From lopez en esrf.fr Wed Sep 29 11:36:28 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Wed, 29 Sep 2004 11:36:28 +0200 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: <415A81EA.3030101@arrakis.es> References: <5.1.0.14.0.20040929112238.00ae4f60@pop.esrf.fr> <5.1.0.14.0.20040929112238.00ae4f60@pop.esrf.fr> <415A81EA.3030101@arrakis.es> Message-ID: <5.1.0.14.0.20040929113422.028e1bc0@pop.esrf.fr> At 11:35 29/09/2004 +0200, you wrote: >El iterador por omisión de los objetos file es el equivalente a >xreadlines, es decir, línea por línea y sin cargar el fichero completo en >memoria. for line in open('data'): es correcto. Gracias por la aclaración. Ya se sabe: "Nunca almorzaras, sin aprender una cosa más" Un saludo para todos. >Angel Lopez Muñoz escribió: > >>At 09:57 29/09/2004 +0200, you wrote: >> >>>umbral = 1.0 >>>for line in open('data'): >> >> >>creo que deberia llevar el metodo readlines para poder iterar sobre las >>lineas del fichero y no sobre el fichero (se te habrá pasado ;) >>for line in open('data').readlines(): >> >>> sp=line.split() >>> f,s=(float(sp[0]), sp[1]) >>> if f >= umbral: >>> print "f, s -->", f, s >>> >>>a mi me funciona para cualquier número de lineas >> >> >> > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From falted en pytables.org Wed Sep 29 11:54:29 2004 From: falted en pytables.org (Francesc Alted) Date: Wed, 29 Sep 2004 11:54:29 +0200 Subject: crear extensiones en C para manejar listas y/o arrays In-Reply-To: <415A7CDF.8030705@arrakis.es> References: <200409281353.06570.oscarm@iai.csic.es> <200409290911.11591.py@ch3m4.org> <415A7CDF.8030705@arrakis.es> Message-ID: <200409291154.29655.falted@pytables.org> A Dimecres 29 Setembre 2004 11:14, Marcos Sánchez Provencio va escriure: > Si este mensaje llega a Malonda, salimos en http://tira.escomposlinux.org/ > > :-D Poz zi :) Por cierto, eso del DTD 'transitional' existe o es un invención de Chema? -- Francesc Alted From o.merchan en bussitel.es Wed Sep 29 12:45:54 2004 From: o.merchan en bussitel.es (Oscar Merchan) Date: Wed, 29 Sep 2004 12:45:54 +0200 Subject: Curses o Ncurses Message-ID: <20040929124554.79880577.o.merchan@bussitel.es> Buenas a todos. Tan solo queria preguntar si alguien sabe algo sobre las curses en python, lo que quiero hacer es un programa en modo texto, y a ser posible incorporarle menus, ventanitas, etc ... ... De normal suelo hacer los programas con el boa y las wxpython, pero el programa que quiero hacer ira en texto, y posiblemente en una metadistro para poderlo llevar a cualquier sitio y que me sirva ya que su funcion sera la de clonar discos y restaurarlos. Alguien tiene ejemplos, o tutoriales en cristiano sobre las curses o ncurses ?? Gracias, saludos Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pachi en mmn-arquitectos.com Wed Sep 29 12:53:42 2004 From: pachi en mmn-arquitectos.com (Rafael Villar Burke) Date: Wed, 29 Sep 2004 12:53:42 +0200 Subject: crear extensiones en C para manejar listas y/o arrays In-Reply-To: <200409291154.29655.falted@pytables.org> References: <200409281353.06570.oscarm@iai.csic.es> <200409290911.11591.py@ch3m4.org> <415A7CDF.8030705@arrakis.es> <200409291154.29655.falted@pytables.org> Message-ID: <415A9436.1020107@mmn-arquitectos.com> Francesc Alted wrote: >A Dimecres 29 Setembre 2004 11:14, Marcos Sánchez Provencio va escriure: > > >>Si este mensaje llega a Malonda, salimos en http://tira.escomposlinux.org/ >> >>:-D >> >> > >Poz zi :) > >Por cierto, eso del DTD 'transitional' existe o es un invención de Chema? > Normalmente los hacen para facilitar la transición a nuevas versiones de un DTD. Es como un modo de compatibilidad que incluye elementos y atributos obsoletos de la versión anterior. Por ejemplo: y: The HTML 4.01 Transitional DTD includes everything in the strict DTD plus deprecated elements and attributes: -- Pachi From haxier en softhome.net Wed Sep 29 15:12:51 2004 From: haxier en softhome.net (Asier) Date: Wed, 29 Sep 2004 15:12:51 +0200 Subject: como leer datos In-Reply-To: <20040928160355.34908.qmail@web21202.mail.yahoo.com> References: <20040928160355.34908.qmail@web21202.mail.yahoo.com> Message-ID: <20040929131251.GA303@ktptaldea.dynu.com> El 28/09/2004, Nan loz escribió: > Hola, soy nueva en python y todavia no entiendo cual es la mejor forma > de leer mis datos. Tengo una base de datos con campos definidos para > cada variable. Para leerla la transformaba en csv y la leia asi, > intentando convertirla en matriz : # ============================================================================ import csv class access2000(csv.Dialect): '''Clase para generar los CSV en el formato que Access 2000 necesita. ''' delimiter = ';' quotechar = '"' doublequote = True quoting = csv.QUOTE_NONNUMERIC lineterminator = '\r\n' skipinitialspace = True salida = csv.writer(fichero, dialect = access2000) Tiene un csv.reader que quizás encuentres útil. -- email: burn areas again 'aGF4aWVyQHNvZnRob21lLm5ldA=='.decode('base64') Asier. - La ignorancia es la felicidad - From fvillarroel en yahoo.com Wed Sep 29 15:50:41 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Wed, 29 Sep 2004 06:50:41 -0700 (PDT) Subject: Curses o Ncurses In-Reply-To: <20040929124554.79880577.o.merchan@bussitel.es> References: <20040929124554.79880577.o.merchan@bussitel.es> Message-ID: <20040929135041.76871.qmail@web41206.mail.yahoo.com> http://www.amk.ca/python/howto/curses/ Espero te sirva. --- Oscar Merchan wrote: > > Buenas a todos. > > Tan solo queria preguntar si alguien sabe algo sobre > las curses en python, lo que quiero hacer es un > programa en modo texto, y a > ser posible incorporarle menus, ventanitas, etc ... > ... > De normal suelo hacer los programas con el boa y las > wxpython, pero el programa que quiero hacer ira en > texto, y posiblemente en > una metadistro para poderlo llevar a cualquier sitio > y que me sirva ya que su funcion sera la de clonar > discos y restaurarlos. > > Alguien tiene ejemplos, o tutoriales en cristiano > sobre las curses o ncurses ?? > > > > Gracias, saludos Oscar Merchan. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________ Do you Yahoo!? Yahoo! Mail Address AutoComplete - You start. We finish. http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From fvillarroel en yahoo.com Wed Sep 29 16:20:23 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Wed, 29 Sep 2004 07:20:23 -0700 (PDT) Subject: Codigos ASCII In-Reply-To: <200409291017.42132.py@ch3m4.org> References: <200409291017.42132.py@ch3m4.org> Message-ID: <20040929142023.19773.qmail@web41213.mail.yahoo.com> Depender? de la impresora que utilices. Las antiguas matriciales usaban secuencias de escapes similares a las que comentas, existiendo varios tipo de "emulaci?n" (IBM y Epson) que hac?an bastante compatibles las impresoras entre s?. Hola y gracias primero que nada por tus comentarios, el punto que me comentas es verdad y lo cierto es que las impresoras para las que necesito las secuencias de control tanto para hacer eject, agrandar o disminuir el tama?o de la letra es para las antiguas matriz de punto como IBM o OKIDATA. Por lo que si tienes los codigos creo que me serviran o si tienes algun link de donde los puedo sacar te lo agradesco. Recuerdo que hace mucho tiempo usando Clipper lo hacia perfectamente, pero ni idea donde quedaron esos programitas. Otra duda es posible compilar una aplicacion hecha con Python y GTK para Windows. Fernando Villarroel. --- Chema Cort?s wrote: > On Wednesday 29 September 2004 00:50, FERNANDO > VILLARROEL wrote: > > > Donde puedo conseguir una lista de estos codigos > para > > saber entre otras cosas como agrandar o disminuir > el > > tama?o de la letra, como cambiar de pagina > (eject), > > como dimensionar la pagina (1/2 carta, > oficio,etc). Lo > > tipico es usar el formulario continuo 11 x 9.5 > > (equivalente al tama?o A4), pero aveces se > necesita > > imprimir en formato 14 x 9.5 para imprimir > planillas o > > otras cosas, es para eso que necesito los codigos > > ASCII. > > Depender? de la impresora que utilices. Las antiguas > matriciales usaban > secuencias de escapes similares a las que comentas, > existiendo varios tipo de > "emulaci?n" (IBM y Epson) que hac?an bastante > compatibles las impresoras > entre s?. Hoy en d?a las impresoras l?ser ? de > chorro de tinta no usan estos > c?digos. En l?seres est? el postscript como gran > est?ndar; el resto utilizan > lenguajes similares como el PCL, HPGL, etc que > intentan no tener que pagar > royalties a Adobe por el postscript. > > Resumidamente, depender? de tu marca y modelo de > impresora. Mira sus > especificaciones a ver qu? lenguajes acepta. A?n > existen impresoras que usan > los viejos c?digos de impresora matriciales, pero > son muy raras. > > > Bueno si existe alguna solucion mas elegante, la > tomo > > tambien. Pero nunca esta de mas conocer estos > codigos. > > Aunque no lo he trabajado mucho, mi consejo es que > utilices el ghostscript, > una especie de emulaci?n del postscript que funciona > para gran cantidad de > impresoras y con multitud de posibilidades. Lo > tienes para linux y windows: > > http://www.ghostscript.com > > Curiosamente, las pruebas de este sistema las hacen > con el PyUnit, as? que > tienes algunos scripts que pueden servirte como > ejemplos: > > http://cvs.ghostscript.com/cgi-bin/viewcvs.cgi/cvs/ghostscript/gs/toolbin/tests/ > > ATTACHMENT part 1.2 application/pgp-signature > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From nan_lo2001 en yahoo.com Wed Sep 29 17:22:01 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Wed, 29 Sep 2004 08:22:01 -0700 (PDT) Subject: leer datos Message-ID: <20040929152201.53485.qmail@web21206.mail.yahoo.com> Chema, lo que he hecho hasta ahora es transformar mis datos a csv y usar ese modulo, pero quisiera saber si hay alguna forma de leer los datos sin usar un separador (tab o comas etc) sino definiendo los campos directamente en python para evitarme el paso intermedio. Gracias Nancy --------------------------------- Do you Yahoo!? Yahoo! Mail - 50x more storage than other providers! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Wed Sep 29 17:54:42 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 29 Sep 2004 17:54:42 +0200 Subject: leer datos In-Reply-To: <20040929152201.53485.qmail@web21206.mail.yahoo.com> References: <20040929152201.53485.qmail@web21206.mail.yahoo.com> Message-ID: <415ADAC2.7010703@arrakis.es> Nan loz escribió: >Chema, >lo que he hecho hasta ahora es transformar mis datos a csv y usar ese modulo, pero quisiera saber si hay alguna forma de leer los datos sin usar un separador (tab o comas etc) sino definiendo los campos directamente en python para evitarme el paso intermedio. >Gracias >Nancy > > > > parece que lo más sencillo es: for lin in open('fich.txt'): SEERregistry=lin[1:3] # o int(lin[1:3]) si lo quieres como entero, etc CaseNumber=lin[3:11] RecordNumber=lin[12:15] etc. También puedes afinarlo con tablas tipo: columnas=[ ('SEERregistry',1,2,str), ('CaseNumber',3,8,int), ('RecordNumber',11,2,int), ] y luego: ret=[] for lin in open('fich.txt'): reg={} for col in columnas: reg[col[0]=col[3](lin[col[1]:col[1]+col[2]]) ret.append(reg) ¿Va por ahí la cosa? ---- 0200000022011 44718860880101300 09609048010328010101184 0007185 1 991 C61 donde las variables estan definidas de la siguiente forma: ITEM NAME ITEM # POSITIONS LENGTH SEER registry 01 01-02 2 Case number 02 03-10 8 Record number 03 11-12 2 From nan_lo2001 en yahoo.com Wed Sep 29 17:57:47 2004 From: nan_lo2001 en yahoo.com (Nan loz) Date: Wed, 29 Sep 2004 08:57:47 -0700 (PDT) Subject: leer datos Message-ID: <20040929155747.13340.qmail@web21207.mail.yahoo.com> Si, mil gracias eso era lo que queria. Voy a ensayarlo ahora con mis datos :) Mil gracias a todos!!! Nancy >parece que lo m?s sencillo es: >for lin in open('fich.txt'): > SEERregistry=lin[1:3] # o int(lin[1:3]) si lo quieres como entero, >etc CaseNumber=lin[3:11] RecordNumber=lin[12:15] etc. Tambi?n puedes afinarlo con tablas tipo: columnas=[ ('SEERregistry',1,2,str), ('CaseNumber',3,8,int), ('RecordNumber',11,2,int), ] y luego: ret=[] for lin in open('fich.txt'): reg={} for col in columnas: reg[col[0]=col[3](lin[col[1]:col[1]+col[2]]) ret.append(reg) ?Va por ah? la cosa? --------------------------------- Do you Yahoo!? vote.yahoo.com - Register online to vote today! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Sep 29 18:08:20 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 18:08:20 +0200 Subject: leer datos In-Reply-To: <20040929152201.53485.qmail@web21206.mail.yahoo.com> References: <20040929152201.53485.qmail@web21206.mail.yahoo.com> Message-ID: <200409291808.23230.py@ch3m4.org> On Wednesday 29 September 2004 17:22, Nan loz wrote: > Chema, > lo que he hecho hasta ahora es transformar mis datos a csv y usar ese > modulo, pero quisiera saber si hay alguna forma de leer los datos sin usar > un separador (tab o comas etc) sino definiendo los campos directamente en > python para evitarme el paso intermedio. Gracias A ver si entiendo bien: lo que realmente tienes es un fichero cuyos registros son campos de tamaño fijo, nada de csv ni parecido. El algoritmo consistiría en cortar cada línea en los pedazos que necesites para cada campo, algo así: regdef=( #field name, length ("seer reg", 2), ("case no", 8), ("rec no", 2) ) def troceo(lin, rdef): res=[0]*len(rdef) ini=0 for pos,(name,length) in enumerate(rdef): res[pos]=lin[ini:ini+length] ini+=length return res for lin in file("fichero.txt"): registro=troceo(lin,regdef) #... #procesar cada registro # "seer reg" --> registro[0] # "case no" --> registro[1] # "rec no" --> registro[2] Se puede sofisticar un poco más, con la función troceo devolviendo un diccionario que además convierta tipos: regdef=( #field name, length, cast ("seer reg", 2, str), ("case no", 8, float), ("rec no", 2, int) ) def troceo(lin, rdef): res={} ini=0 for pos,(name,length,cast) in enumerate(rdef): res[name]=cast(lin[ini:ini+length]) ini+=length return res for lin in file("fichero.txt"): registro=troceo(lin,regdef) #... #procesar cada registro # "seer reg" --> registro["seer reg"] str # "case no" --> registro["case no"] float # "rec no" --> registro["rec no"] int Si necesitas un tipo "date", por algún motivo, puedes emplear esta función 'cast', aunque existen mejores alternativas (pe: el módulo 'mx.datetime'): from datetime import date def datecast(fecha): #formato fecha: DD/MM/YYYY (d,m,y)=fecha.split("/") return date(int(y),int(m),int(d)) Y si necesitas un tipo "decimal" para cantidades monetarias, hace unos días hubo un mensaje de Facundo Batista sobre ello. Espero que te sea de utilidad. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Sep 29 18:33:32 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 29 Sep 2004 18:33:32 +0200 Subject: Codigos ASCII In-Reply-To: <20040929142023.19773.qmail@web41213.mail.yahoo.com> References: <20040929142023.19773.qmail@web41213.mail.yahoo.com> Message-ID: <200409291833.35869.py@ch3m4.org> On Wednesday 29 September 2004 16:20, you wrote: > Hola y gracias primero que nada por tus comentarios, > el punto que me comentas es verdad y lo cierto es que > las impresoras para las que necesito las secuencias de > control tanto para hacer eject, agrandar o disminuir > el tamaño de la letra es para las antiguas matriz de > punto como IBM o OKIDATA. Por lo que si tienes los > codigos creo que me serviran o si tienes algun link de > donde los puedo sacar te lo agradesco. Busca en www.ibm.com ó www.lexmark.com el manual de tu impresora. Allí encontrarás los códigos que necesitas. Buscando por google he encontrado éste manual que no se de qué impresora es, pero tiene explicados los códigos: http://www.printronix.com/public_manuals/p5000/Ptx_PRM_ANSI_164305D.pdf En mis programas de clipper usaba sólo estos códigos: normal --> chr(18) comprimido --> chr(15) expandido --> chr(14) salto página --> chr(12) > Recuerdo que hace mucho tiempo usando Clipper lo hacia > perfectamente, pero ni idea donde quedaron esos > programitas. > > Otra duda es posible compilar una aplicacion hecha con > Python y GTK para Windows. Aquí no puedo ayudarte. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Wed Sep 29 21:11:18 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Wed, 29 Sep 2004 21:11:18 +0200 Subject: =?iso-8859-1?q?Librer=EDa_para_guardar_la_configuraci=F3n_de_los?= =?iso-8859-1?q?_programas=2E?= In-Reply-To: <200409290853.40824.jardindeletras@telefonica.net> References: <200409290853.40824.jardindeletras@telefonica.net> Message-ID: <200409292111.18407.pepe@diselpro.com> Si el fichero de configuración no tiene que ser editado por un humano yo utilizo el módulo cpickle para guardar un diccionario con la configuración. Salut. El Miércoles, 29 de Septiembre de 2004 08:53, Javi escribió: > Hola > > Pensando en no reinventar la rueda ¿conocéis alguna librería para guardar > la configuración de los programas? > > Un saludo > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From fvillarroel en yahoo.com Wed Sep 29 21:48:37 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Wed, 29 Sep 2004 12:48:37 -0700 (PDT) Subject: Pygtk Message-ID: <20040929194837.1905.qmail@web41205.mail.yahoo.com> Hola es posible portar una aplicacion escrita con Python y pygtk a Windows, ya instale Python en una maquina con Windows 98, ahora como instalo pygtk en Windows, esto lo consulto asi ya que prefiero generar la aplicacion y correrla en modo interprete en la maquina Windows se puede? ....O debo generar mi aplicacion en Python pygtk en Linux y luego compilarla para Linux, se puede, y como se hace si es posible?. Fernando Villarroel N. _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmail.com Wed Sep 29 22:46:49 2004 From: vitojph en gmail.com (Victor Peinado) Date: Wed, 29 Sep 2004 13:46:49 -0700 Subject: Problemas leyendo un fichero al encontrar EOF. In-Reply-To: <200409290957.53020.falted@pytables.org> References: <200409290957.53020.falted@pytables.org> Message-ID: ¡Hola! Siento el retraso en responder. Gracias a todos por las respuestas, me han servido para ver las cosas de otra forma :-) Al final, lo solucioné antes de leer vuestras recomendaciones capturando excepciones, que para algo están, y parece que funciona como debe. Saludos. -- Víctor Peinado || || http://ieqo.org/blog From pablo en elenya.net Thu Sep 30 06:13:21 2004 From: pablo en elenya.net (=?ISO-8859-1?Q?Pablo_Ruiz_M=FAzquiz?=) Date: Thu, 30 Sep 2004 00:13:21 -0400 Subject: OT: Oferta de empleo por dos meses Message-ID: <415B87E1.9090802@elenya.net> Hola, Perdonad pero ya sabéis cómo es esto. Te llama alguien y te pide que le sustituyas para un curro fácil pero tú no puedes e intentas que otros sí puedan llevarlo a cabo. Resumen del curro: Curso de Intel para enseñar qué es eso de "internet para todos" del gobierno y las novedades de los procesadores de Intel que vienen. No se necesita ser un hacha en informática, sólo expresarse bien y poder hablar en público con un portátil y un cañón. Sueldo: 1500 euros netos por 2 meses de trabajo. EL trabajo consiste en viajar una o dos veces por semana (se requiere coche, claro) a zonas de España donde hay convenciones ya asignadas. Se paga el kilometraje muy bien, hoteles de 4 estrellas pagados. Todo pagado, vamos. Si hay alguien interesado, que llame inmediatamente a Ramón al 645546219. No suelo mandar correos muy OT a listas de correo, sólo cuando creo que puede beneficiar a alguien. Perdonad si ha molestado. Pablo Ruiz Múzquiz elfo Aranarth From sertzen en gmail.com Thu Sep 30 00:16:58 2004 From: sertzen en gmail.com (Nestor) Date: Wed, 29 Sep 2004 17:16:58 -0500 Subject: OT: Oferta de empleo por dos meses In-Reply-To: <415B87E1.9090802@elenya.net> References: <415B87E1.9090802@elenya.net> Message-ID: Lastima que no exista ese tipo de ofertas en Peru :( On Thu, 30 Sep 2004 00:13:21 -0400, Pablo Ruiz Múzquiz wrote: > Hola, > > Perdonad pero ya sabéis cómo es esto. Te llama alguien y te pide que le > sustituyas para un curro fácil pero tú no puedes e intentas que otros sí > puedan llevarlo a cabo. > > Resumen del curro: > > Curso de Intel para enseñar qué es eso de "internet para todos" del > gobierno y las novedades de los procesadores de Intel que vienen. No se > necesita ser un hacha en informática, sólo expresarse bien y poder > hablar en público con un portátil y un cañón. > Sueldo: 1500 euros netos por 2 meses de trabajo. EL trabajo consiste en > viajar una o dos veces por semana (se requiere coche, claro) a zonas de > España donde hay convenciones ya asignadas. Se paga el kilometraje muy > bien, hoteles de 4 estrellas pagados. Todo pagado, vamos. > > Si hay alguien interesado, que llame inmediatamente a Ramón al 645546219. > > No suelo mandar correos muy OT a listas de correo, sólo cuando creo que > puede beneficiar a alguien. > > Perdonad si ha molestado. > > Pablo Ruiz Múzquiz > elfo > Aranarth > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- N From fvillarroel en yahoo.com Thu Sep 30 03:26:31 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Wed, 29 Sep 2004 18:26:31 -0700 (PDT) Subject: wxpython Message-ID: <20040930012631.5123.qmail@web41214.mail.yahoo.com> Hola hace poco envie un correo a la lista sobre como hacer funcionar una aplicacion python y pygtk en windows, no he conseguido mucho. Buscando mas informacion me encuentro con wxpython y dice que es muy portable osea una aplicacion que corre en Linux lo hace perfectamente en Windows. Quiero que me ayuden un poco en el tema estoy contra el tiempo, debo desarrollar una aplicacion grafica, ya que mi cliente quiere remplazar su antiguo programa en clipper que corre como monousuario por una aplicacion grafica que centralice todo su negocio (incluso estaciones remotas). Es la solucion que ando buscando wxpython?, donde encuentro algun demo?, existe documentacion en espa?ol?. Bueno espero sus siempre acertados comentarios. Fernando Villarroel N. __________________________________ Do you Yahoo!? Yahoo! Mail is new and improved - Check it out! http://promotions.yahoo.com/new_mail ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ferblape en inf.upv.es Thu Sep 30 06:43:23 2004 From: ferblape en inf.upv.es (Fernando Blat Peris) Date: Thu, 30 Sep 2004 06:43:23 +0200 Subject: [SemiOT]Pack y unpack Message-ID: <1096519403.415b8eeb3f63f@webmail.upv.es> Hola a todos, estoy utilizando el método pack del módulo Struct y SuperStruct para transformar a datos binarios unos structs que tengo en C. La idea es formar en python un diccionario con unos campos equivalentes a los de C, binarizar dicho diccionario utilizando pack y enviarlo por un socket del programa en python para que sea leído por el socket de un programa en C. Utilizo lo de binarizar porque he leído que es la forma natural de transformar estructuras a C. Bueno, la parte de python en el proceso está clara y no tengo problema, pero no me aclaro a leer los datos binarios en C ni con qué librería ni nada, de ahí a que esto sea un SemiOT. Lo pregunto aquí por si alguien lo ha hecho alguna vez. Si molesta la pregunta no contestad y punto, que lo entenderé sin problema :) Un saludo. -- Fernando Blat Peris From pedro.carrasco en iver.es Thu Sep 30 07:59:50 2004 From: pedro.carrasco en iver.es (Pedro A. Carrasco Ponce) Date: Thu, 30 Sep 2004 07:59:50 +0200 Subject: wxpython In-Reply-To: <20040930012631.5123.qmail@web41214.mail.yahoo.com> References: <20040930012631.5123.qmail@web41214.mail.yahoo.com> Message-ID: <415BA0D6.4090905@iver.es> FERNANDO VILLARROEL wrote: > Hola hace poco envie un correo a la lista sobre como > hacer funcionar una aplicacion python y pygtk en > windows, no he conseguido mucho. > > Buscando mas informacion me encuentro con wxpython y > dice que es muy portable osea una aplicacion que corre > en Linux lo hace perfectamente en Windows. Quiero que > me ayuden un poco en el tema estoy contra el tiempo, > debo desarrollar una aplicacion grafica, ya que mi > cliente quiere remplazar su antiguo programa en > clipper que corre como monousuario por una aplicacion > grafica que centralice todo su negocio (incluso > estaciones remotas). > > Es la solucion que ando buscando wxpython?, donde > encuentro algun demo?, existe documentacion en > español?. Hola, yo no he encontrado documentación en español, aún así, cuando instalas las wxpython te crea un directorio de demos con una demostración del uso de todos los widgets. Yo vengo utilizando hace tiempo wxpython y te puedo recomendar wxglade para diseñarte los formularios. Respecto a la documentación, con la de la página www.wxpython.org y la de las propias wxwidgets (www.wxwidgets.org) tendrás bastante, aunque en inglés. Un saludo. -- Pedro From mlacunza en spymac.com Thu Sep 30 08:42:57 2004 From: mlacunza en spymac.com (Mario Lacunza) Date: Thu, 30 Sep 2004 01:42:57 -0500 Subject: Migrar de VB a Python In-Reply-To: <415BA0D6.4090905@iver.es> References: <20040930012631.5123.qmail@web41214.mail.yahoo.com> <415BA0D6.4090905@iver.es> Message-ID: <415BAAF1.5020808@spymac.com> Hola Amigos!! Saben de la existencia de alguna herramienta q permita migrar el codigo de un programa hecho en Visual Basic a Python??? Gracias! Saludos / Best regards Mario Lacunza Email: mlacunza en spymac.com Lima - Peru --- avast! Antivirus: Correo Saliente, El Mensaje no contiene virus. Base de datos de Virus (VPS): 0440-2, 29/09/2004 Comprobado el: 30/09/2004 01:43:01 a.m. avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From morillas en posta.unizar.es Thu Sep 30 09:19:27 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Thu, 30 Sep 2004 09:19:27 +0200 Subject: wxpython In-Reply-To: <415BA0D6.4090905@iver.es> References: <20040930012631.5123.qmail@web41214.mail.yahoo.com> <415BA0D6.4090905@iver.es> Message-ID: <1096528767.415bb37f8b70d@webmail.unizar.es> Mensaje citado por "Pedro A. Carrasco Ponce" : > FERNANDO VILLARROEL wrote: > > Hola hace poco envie un correo a la lista sobre como > > hacer funcionar una aplicacion python y pygtk en > > windows, no he conseguido mucho. > > > > Buscando mas informacion me encuentro con wxpython y > > dice que es muy portable osea una aplicacion que corre > > en Linux lo hace perfectamente en Windows. Quiero que > > me ayuden un poco en el tema estoy contra el tiempo, > > debo desarrollar una aplicacion grafica, ya que mi > > cliente quiere remplazar su antiguo programa en > > clipper que corre como monousuario por una aplicacion > > grafica que centralice todo su negocio (incluso > > estaciones remotas). > > > > Es la solucion que ando buscando wxpython?, donde > > encuentro algun demo?, existe documentacion en > > español?. > Yo dejé alguna cosa muyyyy sencillita aquí http://155.210.85.193:8080/ccia/nodes/2004-05-02/wxpython Lo único que conozco en español es la documentación de T Javier Robles: http://milugar.homeip.net:8080/mi_lugar/trabajos/wxglade-tutorial/ > Hola, yo no he encontrado documentación en español, aún así, cuando > instalas las wxpython te crea un directorio de demos con una > demostración del uso de todos los widgets. > Yo vengo utilizando hace tiempo wxpython y te puedo recomendar wxglade > para diseñarte los formularios. > Respecto a la documentación, con la de la página www.wxpython.org y la > de las propias wxwidgets (www.wxwidgets.org) tendrás bastante, aunque en > inglés. > -- Luis Miguel From falted en pytables.org Thu Sep 30 09:47:55 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 30 Sep 2004 09:47:55 +0200 Subject: [SemiOT]Pack y unpack In-Reply-To: <1096519403.415b8eeb3f63f@webmail.upv.es> References: <1096519403.415b8eeb3f63f@webmail.upv.es> Message-ID: <200409300947.55529.falted@pytables.org> Hola, Lo que preguntas es muy genérico, pero intentaré darte alguna pista (aunque a lo mejor no es lo que quieres). Una vez tengas los datos en el buffer binario recibido en el socket del programa C, simplemente has de definir una estructura parecida a esta: typedef struct {int *i; char *s; float *f;} pstruct; con los campos iguales a tu definición del struct en python. Después defines un puntero a esta estructura: pstruct *ps; y le asignas la dirección de tu buffer: ps = (pstruct *)buffer; A partir de ahi, ya puedes acceder a la info: int = ps->i; str = ps->s; float = ps->f; Saludos, A Dijous 30 Setembre 2004 06:43, Fernando Blat Peris va escriure: > Hola a todos, > > estoy utilizando el método pack del módulo Struct y SuperStruct para transformar > a datos binarios unos structs que tengo en C. > > La idea es formar en python un diccionario con unos campos equivalentes a los de > C, binarizar dicho diccionario utilizando pack y enviarlo por un socket del > programa en python para que sea leído por el socket de un programa en C. > Utilizo lo de binarizar porque he leído que es la forma natural de transformar > estructuras a C. > > Bueno, la parte de python en el proceso está clara y no tengo problema, pero no > me aclaro a leer los datos binarios en C ni con qué librería ni nada, de ahí a > que esto sea un SemiOT. > > Lo pregunto aquí por si alguien lo ha hecho alguna vez. Si molesta la pregunta > no contestad y punto, que lo entenderé sin problema :) > > Un saludo. -- Francesc Alted From neo en pythonhispano.org Thu Sep 30 09:27:25 2004 From: neo en pythonhispano.org (Jose) Date: Thu, 30 Sep 2004 09:27:25 +0200 Subject: Migrar de VB a Python In-Reply-To: <415BAAF1.5020808@spymac.com> References: <20040930012631.5123.qmail@web41214.mail.yahoo.com> <415BA0D6.4090905@iver.es> <415BAAF1.5020808@spymac.com> Message-ID: <1096529244.3939.1.camel@demeter.speriaitc.com> http://vb2py.sourceforge.net/ Salu2, Jose (neo at pythonhispano dot org) El jue, 30-09-2004 a las 08:42, Mario Lacunza escribió: > Hola Amigos!! > > Saben de la existencia de alguna herramienta q permita migrar el codigo > de un programa hecho en Visual Basic a Python??? > > Gracias! > > Saludos / Best regards > > Mario Lacunza > Email: mlacunza en spymac.com > Lima - Peru > > > > --- > avast! Antivirus: Correo Saliente, El Mensaje no contiene virus. > Base de datos de Virus (VPS): 0440-2, 29/09/2004 > Comprobado el: 30/09/2004 01:43:01 a.m. > avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. > http://www.avast.com > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From josep.torrens en gmail.com Thu Sep 30 10:11:49 2004 From: josep.torrens en gmail.com (Toram) Date: Thu, 30 Sep 2004 10:11:49 +0200 Subject: wxpython In-Reply-To: <20040930012631.5123.qmail@web41214.mail.yahoo.com> References: <20040930012631.5123.qmail@web41214.mail.yahoo.com> Message-ID: <5c81228b04093001117b23a20@mail.gmail.com> On Wed, 29 Sep 2004 18:26:31 -0700 (PDT), FERNANDO VILLARROEL wrote: > Hola hace poco envie un correo a la lista sobre como > hacer funcionar una aplicacion python y pygtk en > windows, no he conseguido mucho. > Yo estoy desarrollando una aplicacion con PyGTK y de momento me funciona bien. El desarrollo lo hago en Linux, y el cliente tiene WinXP...y funciona! :) Mi desarrollo es con: * Lenguaje: Python * Entorno gráfico: GTK2 (con glade2) * Base de Datos: Firebird (modulo python: kinterbasdb) * Impresion y informes: reportlab Para windoes..instale...el python,...luego el gladewin (que ya lleva las gtk2 para windows), despues instale el pygtk para windows (esta en su web), y unas extensiones para python de win32 (hay un link en la pagina de pygtk creo). Despues instale Firebird, luego el kinterbasdb, y el datetime de genie, finalmente instale el reportlab, y voila! funciona, ;) Es un poco trabajoso si, pero como es una aplicacion a medida, yo se la instalo al cliente y se la configuro, o sea que el no lo va a notar. Y a partir de ahi, a desarrollar, es muy cómodo! poder programar en mi linux, enviarle los archivos python, y que funcione todo (linux->windows), sin tocar una linea de codigo, :) -- Josep http://toram.webpollencina.com * I tu, encara uses Explorer i Outlook? -- http://breu.bulma.net/?l3541 * No accept arxius en format WORD: http://breu.bulma.net/?l3192 From mlacunza en spymac.com Thu Sep 30 10:12:45 2004 From: mlacunza en spymac.com (Mario Lacunza) Date: Thu, 30 Sep 2004 03:12:45 -0500 Subject: Migrar de VB a Python In-Reply-To: <1096529244.3939.1.camel@demeter.speriaitc.com> References: <20040930012631.5123.qmail@web41214.mail.yahoo.com> <415BA0D6.4090905@iver.es> <415BAAF1.5020808@spymac.com> <1096529244.3939.1.camel@demeter.speriaitc.com> Message-ID: <415BBFFD.5030300@spymac.com> Gracias! Saludos / Best regards Mario Lacunza Email: mlacunza en spymac.com Lima - Peru Jose wrote: >http://vb2py.sourceforge.net/ > >Salu2, >Jose (neo at pythonhispano dot org) > >El jue, 30-09-2004 a las 08:42, Mario Lacunza escribió: > > >>Hola Amigos!! >> >>Saben de la existencia de alguna herramienta q permita migrar el codigo >>de un programa hecho en Visual Basic a Python??? >> >>Gracias! >> >>Saludos / Best regards >> >>Mario Lacunza >>Email: mlacunza en spymac.com >>Lima - Peru >> >> >> >>--- >>avast! Antivirus: Correo Saliente, El Mensaje no contiene virus. >>Base de datos de Virus (VPS): 0440-2, 29/09/2004 >>Comprobado el: 30/09/2004 01:43:01 a.m. >>avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. >>http://www.avast.com >> >> >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > > ------------------------------------------------------------------------ > > > > ------------------------------------------------------------------------ > > avast! Antivirus : Correo Entrante, El Mensaje > no contiene virus. > > Base de datos de Virus (VPS): 0440-2, 29/09/2004 > Comprobado el: 30/09/2004 03:10:35 a.m. > avast! tiene derechos reservados (c) 2000-2004 ALWIL Software. > > --- avast! Antivirus: Correo Saliente, El Mensaje no contiene virus. Base de datos de Virus (VPS): 0440-2, 29/09/2004 Comprobado el: 30/09/2004 03:13:00 a.m. avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Thu Sep 30 10:18:57 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Thu, 30 Sep 2004 10:18:57 +0200 Subject: Pygtk In-Reply-To: <20040929194837.1905.qmail@web41205.mail.yahoo.com> References: <20040929194837.1905.qmail@web41205.mail.yahoo.com> Message-ID: <415BC171.5050900@arrakis.es> Para que rule pygtk en WindowsTM (sacado de http://www.red-sur.com/~python-cd/python-cd.html) PyGTK http://www.mapr.ucl.ac.be/~gustin/win32_ports/binaries/pygtk-2.2.0-1.win32-py2.3.exe El entorno de ejecución de gtk para win http://prdownloads.sourceforge.net/gladewin32/gtk+-win32-aio-2.2.4-20040124.exe FERNANDO VILLARROEL escribió: >Hola es posible portar una aplicacion escrita con >Python y pygtk a Windows, ya instale Python en una >maquina con Windows 98, ahora como instalo pygtk en >Windows, esto lo consulto asi ya que prefiero generar >la aplicacion y correrla en modo interprete en la >maquina Windows se puede? > > >....O debo generar mi aplicacion en Python pygtk en >Linux y luego compilarla para Linux, se puede, y como >se hace si es posible?. > > >Fernando Villarroel N. > > From fvillarroel en yahoo.com Thu Sep 30 20:38:24 2004 From: fvillarroel en yahoo.com (FERNANDO VILLARROEL) Date: Thu, 30 Sep 2004 11:38:24 -0700 (PDT) Subject: Python-pypgsql para Windows Message-ID: <20040930183824.76381.qmail@web41202.mail.yahoo.com> Hola lista estuve probando con wxPython, hasta el minuto me a corrido fantastico en Windows, lo que pasa es que como dije debo desarrollar una aplicacion (cliente) para acceder desde computadores con Windows a una base de datos remota PostgreSQL (Postgres corre en una Debian woody), en los Windows puse Python y wxPython y mis pruebas van bien, pero ahora como a las estaciones Windows les instalo el modulo pyPgSQL para acceder a Postgres. No encuentro donde bajar este modulo para Windows. Debo ademas instalar el ODBC de PostgreSQL para Windows verdad?. Fernando Villarroel. _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Thu Sep 30 20:49:58 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 30 Sep 2004 20:49:58 +0200 Subject: Python-pypgsql para Windows In-Reply-To: <20040930183824.76381.qmail@web41202.mail.yahoo.com> References: <20040930183824.76381.qmail@web41202.mail.yahoo.com> Message-ID: <415C5556.50904@sicem.biz> Hola he probado con pypgsql.sf.net y me ha salido la página del proyecto, allí encontrarás enlace a: http://sourceforge.net/project/showfiles.php?group_id=16528 desde donde te puedes bajar el instalador Windows para la versión de python correspondiente. Para que funcione el programa, no te hace falta instalar el ODBC para Windows. Eso es porque incluye la librería cliente (libpq) de Postgres ya compilada. (por curiosidad, pypgsql sale de un señor (Gerhard Häring, creo) por no estar de acuerdo con el proyecto pygres (que antes tb lo había para Windows). Lo bueno: lo tienes para diferentes plataformas. Saludos, Erny FERNANDO VILLARROEL escribió: >Hola lista estuve probando con wxPython, hasta el >minuto me a corrido fantastico en Windows, lo que pasa >es que como dije debo desarrollar una aplicacion >(cliente) para acceder desde computadores con Windows >a una base de datos remota PostgreSQL (Postgres corre >en una Debian woody), en los Windows puse Python y >wxPython y mis pruebas van bien, pero ahora como a las >estaciones Windows les instalo el modulo pyPgSQL para >acceder a Postgres. No encuentro donde bajar este >modulo para Windows. > >Debo ademas instalar el ODBC de PostgreSQL para >Windows verdad?. > >Fernando Villarroel. > > > >_______________________________ >Do you Yahoo!? >Declare Yourself - Register online to vote today! >http://vote.yahoo.com > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > --- avast! Antivirus: Saliente mensaje limpio. Base de datos de Virus (VPS): 0440-2, 29/09/2004 Comprobado en: 30/09/2004 20:50:00 avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software. http://www.avast.com From arn_python en yahoo.com.ar Thu Sep 30 23:33:46 2004 From: arn_python en yahoo.com.ar (Ariel Nardelli) Date: Thu, 30 Sep 2004 18:33:46 -0300 Subject: Cuando abrir la coneccion con las bases de datos desde python? Message-ID: <415C7BBA.6030900@yahoo.com.ar> Hola.... Mas que una pregunta es una cuestion de como usan ustedes las aperturas y cierres de la coneccion a las bases de datos... Yo particularmente lo que hago es abrir una coneccion a las bases de datos al principio de mi funcion y al final antes de salir de la funcion vuelvo a cerrar la base y listo, o sea, durante todo el tiempo que el programa esta trabajando la coneccion a la base de datos esta abierta... Por otro lado hay gente que abre y cierra la coneccion justo en el momento de hacer una operacion de sql entonces cada vez que se quiere hacer una operacion sobre sql abren la coneccion, realizan la operacion (leen graban o lo que sea) y cierran la conecion y continuan con el programa... Despues puede haber un mix de estas dos cosas, o sea, abrir la coneccion realizar todas o varios trabajos sobre sql y cerrar la coneccion y continuar con el programa... Bueno esta es mi pregunta, que usan mas ustedes y por que? Yo no quiero abrir muchas veces la coneccion por una cuestion de no sobrecargar el motor de base de datos (mysql en mi caso) y por ahi pasar mas tiempo abriendo y cerrando conecciones que realizando operaciones sql en si :) Queda planteado el tema, un tema que va mas con el uso y costumbre personal que desde el punto de vista de programacion en si... Que opinan ustedes? Ariel From ferblape en inf.upv.es Thu Sep 30 23:36:32 2004 From: ferblape en inf.upv.es (Fernando Blat) Date: Thu, 30 Sep 2004 23:36:32 +0200 Subject: [SemiOT]Pack y unpack In-Reply-To: <200409300947.55529.falted@pytables.org> References: <1096519403.415b8eeb3f63f@webmail.upv.es> <200409300947.55529.falted@pytables.org> Message-ID: <20040930213631.GA10948@mediterrania> El jue, 30 de sep de 2004, a las 09:47:55 +0200, Francesc Alted dijo: > Hola, > > Lo que preguntas es muy genérico, pero intentaré darte alguna pista (aunque > a lo mejor no es lo que quieres). > > Una vez tengas los datos en el buffer binario recibido en el socket del > programa C, simplemente has de definir una estructura parecida a esta: > > typedef struct {int *i; char *s; float *f;} pstruct; > > con los campos iguales a tu definición del struct en python. Después defines > un puntero a esta estructura: > > pstruct *ps; > > y le asignas la dirección de tu buffer: > > ps = (pstruct *)buffer; > > A partir de ahi, ya puedes acceder a la info: > > int = ps->i; str = ps->s; float = ps->f; Muchas gracias, es justo lo que quería. Lo he probado y funciona perfecto. Sin embargo me he dado cuenta de que esta forma de compartir estructuras de datos entre C y Python está un poco cogida por pinzas, pues binarizar unos datos depende demasiado del compilador y de la plataforma. Si se quiere ser purista del todo sólo queda como solución enviar strings que luego se irán convirtiendo, según un orden dado, en los campos de la estructura de datos. De todas formas me gustaría conocer vuestras alternativas, ya como curiosidad, pues el problema está solucionado :) -- Fernando Blat Peris > ferblape en inf.upv.es From rapto en arrakis.es Thu Sep 30 23:59:04 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Thu, 30 Sep 2004 23:59:04 +0200 Subject: Python-pypgsql para Windows In-Reply-To: <20040930183824.76381.qmail@web41202.mail.yahoo.com> References: <20040930183824.76381.qmail@web41202.mail.yahoo.com> Message-ID: <1096581535.6497.6.camel@renata.macondo.pri> La otra es usar ODBC, para lo que tendrás que usar el driver odbc para postgresql y acceder al servidor ODBC por mxODBC o por COM con las extensiones de Windows. El jue, 30-09-2004 a las 20:38, FERNANDO VILLARROEL escribió: > Hola lista estuve probando con wxPython, hasta el > minuto me a corrido fantastico en Windows, lo que pasa > es que como dije debo desarrollar una aplicacion > (cliente) para acceder desde computadores con Windows > a una base de datos remota PostgreSQL (Postgres corre > en una Debian woody), en los Windows puse Python y > wxPython y mis pruebas van bien, pero ahora como a las > estaciones Windows les instalo el modulo pyPgSQL para > acceder a Postgres. No encuentro donde bajar este > modulo para Windows. > > Debo ademas instalar el ODBC de PostgreSQL para > Windows verdad?. > > Fernando Villarroel. > > > > _______________________________ > Do you Yahoo!? > Declare Yourself - Register online to vote today! > http://vote.yahoo.com > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es