From e18278 en mail.uajms.edu.bo Thu Apr 1 06:36:28 2004 From: e18278 en mail.uajms.edu.bo (Sigfrid) Date: Thu, 1 Apr 2004 00:36:28 -0400 (BOT) Subject: Glade2 en Mandrake 10 Community Message-ID: <64877.200.87.30.11.1080794188.squirrel@webmail.uajms.edu.bo> Hola. Hace mas o menos un mes que estoy practicando python, y en estos dias estoy practicando aplicaciones graficas con pyGTK y Glade. Me baje el Mandrake 10, pero cuando ejecute el el Glade me di cuenta que es una version "muy antigua", creo que es la 0.16xx. Desde windows estoy usando Glade2 y pyGTK 2.0 Cuando hago una aplicación en modo grafico en windows y la ejecuto en linux me funciona perfectamente. Pero yo quiero hacer las interfaces y todo lo demas en Linux. Y por eso necesito el Glade2. Me baje el RPM de Glade2 para Mandrake, pero me pide muchas librerias, las instalo pero me sigue pidiendo las mismas librerias. Alguien tiene funcionando el Glade2 en Mandrake 10?? Lo mismo me pasa con el Anjuta???? Espero me puedan ayudar muchas gracias de antemano. ATTE. PD.- Primero usaba RedHat y ahi podia instalar todo sin problemas, me pase a Mandrake, por la version de Python, ya que viene la version 2.3 PD2.- Una ultima cosa, cuando ejecuto las aplicaciones graficas en Windows, me sale un Warning, en la consola de XP: Gtk-WARNING **: Imposible de encontrar el motor de estilos en module_path: 1/2winp Como arreglo, para que no salga ese warning?? Muchas gracias de antemano. From hjrg1 en alu.ua.es Thu Apr 1 08:08:55 2004 From: hjrg1 en alu.ua.es (=?ISO-8859-1?Q?H=E9ctor_Jos=E9?= Rico =?ISO-8859-1?Q?Garc=EDa?=) Date: Thu, 01 Apr 2004 08:08:55 +0200 Subject: Glade2 en Mandrake 10 Community In-Reply-To: <64877.200.87.30.11.1080794188.squirrel@webmail.uajms.edu.bo> References: <64877.200.87.30.11.1080794188.squirrel@webmail.uajms.edu.bo> Message-ID: <1080799735.14305.18.camel@localhost> > PD2.- Una ultima cosa, cuando ejecuto las aplicaciones graficas > en Windows, me sale un Warning, en la consola de XP: > > Gtk-WARNING **: Imposible de encontrar el motor de estilos en > module_path: 1/2winp > > > Como arreglo, para que no salga ese warning?? Busca donde tengas instalados los temas un fichero gtk2.rc , creo recordar , y ahi tendras que comentar/borrar donde haga referencia a ese modulo o conseguirlo. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From shelun69 en latinmail.com Thu Apr 1 09:12:32 2004 From: shelun69 en latinmail.com (luis antonio saucedo) Date: Thu, 1 Apr 2004 02:12:32 -0500 (EST) Subject: Un poco de Python Message-ID: <20040401071232.2924B191AF@smtp.latinmail.com> Hola a todos, solo he hecho algunos ejercicios en Python y a muchos de mis compañeron les intereso saber un poco mas del mismo y quieren una pequeña platica para converserlos de usar este maravilloso lenguaje pense en hablarles un poco de los tipos de datos que maneja Python y cosas por el estilo...que podrian recomendar para que estos posibles programadores de python se animen a usarlo, ya que lamentablemente soy relativamente nuevo en el lenguaje. de antemano Gracias por su ayuda. http://www.latinmail.com - La forma más cómoda de enviar y recibir tus e-mails ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From attor_sahe en hotmail.com Thu Apr 1 09:49:41 2004 From: attor_sahe en hotmail.com (Attor Sahe) Date: Thu, 01 Apr 2004 01:49:41 -0600 Subject: Hola a Todos Message-ID: Hola a todos, recien llego a la lista, voy iniciando en Python pero tengo muchas ganas de aprender lo que sea necesario para que nos ayudemos mutuamente. Buena Suerte a todos!!!!!!!! _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.microsoft.com/es From FBatista en uniFON.com.ar Thu Apr 1 15:20:35 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 1 Apr 2004 10:20:35 -0300 Subject: Un poco de Python Message-ID: #- Hola a todos, solo he hecho algunos ejercicios en Python y a #- muchos de mis compañeron les intereso saber un poco mas del #- mismo y quieren una pequeña platica para converserlos de #- usar este maravilloso lenguaje pense en hablarles un poco de #- los tipos de datos que maneja Python y cosas por el #- estilo...que podrian recomendar para que estos posibles #- programadores de python se animen a usarlo, ya que #- lamentablemente soy relativamente nuevo en el lenguaje. La mejor forma de comenzar es por www.python.org. Si buscas literatura en castellano, http://www.python.org/doc/NonEnglish.html#spanish. Las FAQs en castellano (por su servidor): http://www.python.org/doc/faq/es/ Slds. . Facundo From cescd en yahoo.com.mx Thu Apr 1 17:54:13 2004 From: cescd en yahoo.com.mx (=?iso-8859-1?q?Cesar=20Cardenas=20Desales?=) Date: Thu, 1 Apr 2004 09:54:13 -0600 (CST) Subject: Un poco de Python In-Reply-To: <20040401071232.2924B191AF@smtp.latinmail.com> References: <20040401071232.2924B191AF@smtp.latinmail.com> Message-ID: <20040401155413.89664.qmail@web10603.mail.yahoo.com> Pues creo que si hay por allí algún pythonista argentino podrían incluso hacer un eventillo. Yo acá en México me quedo esperando que aparezca unos aficionados para ver qué se puede hacer. Ya leyeron ese artículo de "Lonely Python"? http://www.onlamp.com/pub/a/python/2001/11/15/pythonnews.html --- luis antonio saucedo escribió: > Hola a todos, solo he hecho algunos ejercicios en > Python y a muchos de mis compañeron les intereso > saber un poco mas del mismo y quieren una pequeña > platica para converserlos de usar este maravilloso > lenguaje pense en hablarles un poco de los tipos de > datos que maneja Python y cosas por el estilo...que > podrian recomendar para que estos posibles > programadores de python se animen a usarlo, ya que > lamentablemente soy relativamente nuevo en el > lenguaje. > > de antemano Gracias por su ayuda. > > http://www.latinmail.com - La forma más cómoda de > enviar y recibir tus e-mails> _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From FBatista en uniFON.com.ar Thu Apr 1 18:09:17 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 1 Apr 2004 13:09:17 -0300 Subject: Un poco de Python Message-ID: Cesar Cardenas Desales escribió: #- Pues creo que si hay por allí algún pythonista #- argentino podrían incluso hacer un eventillo. Yo soy argentino, :), y me encantaría armar algún evento (no digo una conferencia, no soy tan soñador, pero ir a tomar una cerveza o un café entre todos, :) #- Yo acá en México me quedo esperando que aparezca unos #- aficionados para ver qué se puede hacer. Yo también, y no encuentro ninguna forma razonable de buscarlos... . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. From soulkiller en teleline.es Thu Apr 1 23:02:26 2004 From: soulkiller en teleline.es (Soul) Date: Thu, 01 Apr 2004 23:02:26 +0200 Subject: Python,opengl y desarrollo de juegos Message-ID: <1080853346.4276.3.camel@Zeus> He estado buscando algo de info sobre como usar opengl y python para el dasarrollo de juegos. Alguien tiene alguna experiencia ? habéis probado algo ? Qualquier comentarios,web, o aportación será bien recibida. Soul PS: Cada día que pasa me enamoro mas del python! Ahhhh! :-) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jsanchis en bcm.tmc.edu Thu Apr 1 23:47:08 2004 From: jsanchis en bcm.tmc.edu (Pepe Sepulveda Sanchis) Date: Thu, 01 Apr 2004 15:47:08 -0600 Subject: Python,opengl y desarrollo de juegos In-Reply-To: <1080853346.4276.3.camel@Zeus> References: <1080853346.4276.3.camel@Zeus> Message-ID: <406C8DDC.2040908@bcm.tmc.edu> supongo que ya le habras pegado una mirada pero por si no lo has hecho http://www.pygame.org/ Soul wrote: >He estado buscando algo de info sobre como usar opengl y python para el >dasarrollo de juegos. >Alguien tiene alguna experiencia ? habéis probado algo ? >Qualquier comentarios,web, o aportación será bien recibida. > >Soul > >PS: Cada día que pasa me enamoro mas del python! Ahhhh! :-) > > >------------------------------------------------------------------------ > >_______________________________________________ >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 Fri Apr 2 06:59:16 2004 From: soulkiller en teleline.es (Soul) Date: Fri, 02 Apr 2004 06:59:16 +0200 Subject: Python,opengl y desarrollo de juegos In-Reply-To: <406C8DDC.2040908@bcm.tmc.edu> References: <1080853346.4276.3.camel@Zeus> <406C8DDC.2040908@bcm.tmc.edu> Message-ID: <1080881955.3775.2.camel@Zeus> El jue, 01-04-2004 a las 23:47, Pepe Sepulveda Sanchis escribió: > supongo que ya le habras pegado una mirada > pero por si no lo has hecho > > http://www.pygame.org/ > ________________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Si que leí algo algo sobre pygame, pero creo que había otra libreria ( pykyra) q estaba mucho mejor. Voy a ver si encuentro algún tutorial por ahi. http://www.alobbs.com/modules.php?op=modload&name=pykyra&file=index Soul ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From barrera en gsyc.escet.urjc.es Fri Apr 2 11:10:38 2004 From: barrera en gsyc.escet.urjc.es (Pablo Barrera =?ISO-8859-1?Q?Gonz=E1lez?=) Date: Fri, 02 Apr 2004 11:10:38 +0200 Subject: Python dentro de C++ Message-ID: <1080897038.827.16.camel@granizo> Buenas Llevo un tiempo intentando encontrar una forma fácil de extender mis programas en C++ con Python. No tengo ningún problema en hacerlo al revés (SWIG[1] es de mucha ayuda para esto), pero para meter Python dentro de C++ no encuentro un método fácil (como SWIG, quiero decir). Creo que SIP hace algo parecido a esto, pero dentro del entorno KDE. ¿Conocéis algún sistema que me permita meter Python dentro de C++ de forma fácil, es decir, que él cree una interfaz de acceso tipo C++ y así me olvido del Py_Object y demás? Me gustaría un SWIG pero a la inversa. Gracias Pablo [1]: http://www.swig.org -- Pablo Barrera González Grupo de Sistemas y Comunicaciones (URJC) From attor_sahe en hotmail.com Fri Apr 2 11:34:15 2004 From: attor_sahe en hotmail.com (Attor Sahe) Date: Fri, 02 Apr 2004 03:34:15 -0600 Subject: Por default Message-ID: estoy utilizando la version 2.3 de python en windows, estaba repasando la documentacion, pero me surgio la duda de cuales son los modulos o librerias que se cargan por defecto al iniciar Python, les pido una disculpa ya que soy malo en ingles y me cuesta un poco de trabajo entender la documentacion. Les agradezco cualquier orientacion por adelantando!!!! _________________________________________________________________ MSN. Más Útil Cada Día http://www.msn.es/intmap/ From hernan en orgmf.com.ar Fri Apr 2 12:18:17 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Fri, 2 Apr 2004 12:18:17 +0200 Subject: Python dentro de C++ In-Reply-To: <1080897038.827.16.camel@granizo> References: <1080897038.827.16.camel@granizo> Message-ID: Pablo Barrera González escribio: > Llevo un tiempo intentando encontrar una forma fácil de extender mis > programas en C++ con Python. No tengo ningún problema en hacerlo al > revés (SWIG[1] es de mucha ayuda para esto), pero para meter Python > dentro de C++ no encuentro un método fácil (como SWIG, quiero decir). > Creo que SIP hace algo parecido a esto, pero dentro del entorno KDE. > > ¿Conocéis algún sistema que me permita meter Python dentro de C++ de > forma fácil, es decir, que él cree una interfaz de acceso tipo C++ y > así me olvido del Py_Object y demás? Me gustaría un SWIG pero a la > inversa. Hay otras herramientas para hacer wrappers. Tengo entendido que Boost.Python tiene mejor soporte de C++ que SWIG. http://www.boost.org/libs/python/doc/index.html (esto es solo de oidas. personalmente nunca lo usé) -H. From o.merchan en bussitel.es Fri Apr 2 12:16:47 2004 From: o.merchan en bussitel.es (Oscar Merchan) Date: Fri, 2 Apr 2004 12:16:47 +0200 Subject: Por default In-Reply-To: References: Message-ID: <20040402121647.5ecdc944.o.merchan@bussitel.es> On Fri, 02 Apr 2004 03:34:15 -0600 "Attor Sahe" wrote: > estoy utilizando la version 2.3 de python en windows, estaba repasando la > documentacion, pero me surgio la duda de cuales son los modulos o librerias > que se cargan por defecto al iniciar Python, les pido una disculpa ya que > soy malo en ingles y me cuesta un poco de trabajo entender la documentacion. > Yo de ti, para saber lo que te trae por defecto lo que haria seria ejecutar el python en una termianl de ms-dos de windows. Una vez dentro, escribres ' help() ' y luego ' modules ' y te saldra toda la lista de modulos disponibles de python. Luego ya si pones el nombre del modulo te saldran las funciones que tiene, pero para saber los modulos que ahi haciendo esas dos cosas deberia de valer. > Les agradezco cualquier orientacion por adelantando!!!! > Solo espero que sea eso lo que estas preguntando, si no especifica lo que quieres ver realmente, y si yo no lo se, seguro que alguien de la lista lo sabe. Saludos, Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Apr 2 12:32:20 2004 From: py en ch3m4.org (Chema Cortes) Date: Fri, 02 Apr 2004 12:32:20 +0200 Subject: Por default In-Reply-To: References: Message-ID: <406D4134.6080203@ch3m4.org> Attor Sahe escribió: > estoy utilizando la version 2.3 de python en windows, estaba repasando > la documentacion, pero me surgio la duda de cuales son los modulos o > librerias que se cargan por defecto al iniciar Python, les pido una > disculpa ya que soy malo en ingles y me cuesta un poco de trabajo > entender la documentacion. Para saber los módulos cargados: import sys print sys.modules Pero no sé si es éso lo que realmente querías preguntar. El modo que tiene python de importar módulos hace que, si el módulo ya había sido importado, no vuelva a importar módulos que ya estaba en memoria. No te importe volver a importar un mismo módulo todas las veces que consideres oportuno. Y otra cosa, si quieres ver en todo momento qué módulos va importando el intérprete, utiliza la opción -v de python. From attor_sahe en hotmail.com Fri Apr 2 12:33:40 2004 From: attor_sahe en hotmail.com (Attor Sahe) Date: Fri, 02 Apr 2004 04:33:40 -0600 Subject: Por default Message-ID: >From: Oscar Merchan >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Por default >Date: Fri, 2 Apr 2004 12:16:47 +0200 > >On Fri, 02 Apr 2004 03:34:15 -0600 >"Attor Sahe" wrote: > > > estoy utilizando la version 2.3 de python en windows, estaba repasando >la > > documentacion, pero me surgio la duda de cuales son los modulos o >librerias > > que se cargan por defecto al iniciar Python, les pido una disculpa ya >que > > soy malo en ingles y me cuesta un poco de trabajo entender la >documentacion. > > > >Yo de ti, para saber lo que te trae por defecto lo que haria seria ejecutar >el python en una termianl de ms-dos de windows. >Una vez dentro, escribres ' help() ' y luego ' modules ' y te saldra toda >la lista de modulos disponibles de python. > >Luego ya si pones el nombre del modulo te saldran las funciones que tiene, >pero para saber los modulos que ahi haciendo esas dos cosas deberia de >valer. > > > > Les agradezco cualquier orientacion por adelantando!!!! > > > >Solo espero que sea eso lo que estas preguntando, si no especifica lo que >quieres ver realmente, y si yo no lo se, seguro que alguien de la lista lo >sabe. > >Saludos, Oscar Merchan. > A lo que me refiero es cuales modulos o librerias se encuentran activas cuando se inicia Python que permiten realizar las tareas basica como usar Python como calculadora, condiciones if, ciclo for, etc. _______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ MSN Fotos: la forma más fácil de compartir e imprimir fotos. http://photos.msn.es/support/worldwide.aspx From attor_sahe en hotmail.com Fri Apr 2 12:48:59 2004 From: attor_sahe en hotmail.com (Attor Sahe) Date: Fri, 02 Apr 2004 04:48:59 -0600 Subject: Por default Message-ID: >From: Chema Cortes >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Por default >Date: Fri, 02 Apr 2004 12:32:20 +0200 > >Attor Sahe escribió: >>estoy utilizando la version 2.3 de python en windows, estaba repasando la >>documentacion, pero me surgio la duda de cuales son los modulos o >>librerias que se cargan por defecto al iniciar Python, les pido una >>disculpa ya que soy malo en ingles y me cuesta un poco de trabajo entender >>la documentacion. > >Para saber los módulos cargados: > >import sys >print sys.modules > > >Pero no sé si es éso lo que realmente querías preguntar. > >El modo que tiene python de importar módulos hace que, si el módulo ya >había sido importado, no vuelva a importar módulos que ya estaba en >memoria. No te importe volver a importar un mismo módulo todas las veces >que consideres oportuno. > >Y otra cosa, si quieres ver en todo momento qué módulos va importando el >intérprete, utiliza la opción -v de python. >______________________________________________ Les agradezco, esa es la referencia que queria saber. con eso me entretengo un rato gracias!!!!!! attor.py _ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ MSN Fotos: la forma más fácil de compartir e imprimir fotos. http://photos.msn.es/support/worldwide.aspx From lopez en esrf.fr Fri Apr 2 12:49:15 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Fri, 02 Apr 2004 12:49:15 +0200 Subject: Por default In-Reply-To: References: Message-ID: <5.1.0.14.0.20040402124231.00ace7e8@mailserv.esrf.fr> >A lo que me refiero es cuales modulos o librerias se encuentran activas >cuando se inicia Python que permiten realizar las tareas basica como usar >Python como calculadora, condiciones if, ciclo for, etc. Creo que te refieres a los Built-in objects. Echale un vistazo a la documentacion: http://www.python.org/doc/current/lib/builtin.html 2.1 Built-in functions (import, dir, eval, ......) 2.3 Built-in types (numeric types, string, boolean, ...) A partir del enlace que te escribo, (para python 2.3) tienes toda esa informacion muy util). Espero que sea lo que buscabas. ____________________________________ 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 hernan en orgmf.com.ar Fri Apr 2 13:00:20 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Fri, 2 Apr 2004 13:00:20 +0200 Subject: Por default In-Reply-To: References: Message-ID: Attor Sahe escribio: >>> ... cuales son >>> los modulos o librerias que se cargan por defecto al iniciar >>> Python > > A lo que me refiero es cuales modulos o librerias se encuentran > activas cuando se inicia Python que permiten realizar las tareas > basica como usar Python como calculadora, condiciones if, ciclo for, > etc. Ojo que lo primero (modulos cargardos al iniciar el interprete) no implica lo segundo. Quizas ya lo hayas deducido de las respuestas que te enviaron: que un modulo esté cargado en memoria no quiere decir que lo puedas usar sin tener que invocar el import (hay varias razones por qué es así) -H. From py en ch3m4.org Fri Apr 2 13:15:00 2004 From: py en ch3m4.org (Chema Cortes) Date: Fri, 02 Apr 2004 13:15:00 +0200 Subject: Python,opengl y desarrollo de juegos In-Reply-To: <1080881955.3775.2.camel@Zeus> References: <1080853346.4276.3.camel@Zeus> <406C8DDC.2040908@bcm.tmc.edu> <1080881955.3775.2.camel@Zeus> Message-ID: <406D4B34.2050902@ch3m4.org> Soul escribió: > Si que leí algo algo sobre pygame, pero creo que había otra libreria ( > pykyra) q estaba mucho mejor. Voy a ver si encuentro algún tutorial por > ahi. No te olvides de revisar los mensajes de esta lista, donde hablamos del pykyra hace ya algún tiempo. Que sepas que el autor de pykyra, Álvaro, anda por aquí a la escucha :-)) http://listas.aditel.org/archivos/python-es/2002-September/001213.html ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Apr 2 13:25:15 2004 From: py en ch3m4.org (Chema Cortes) Date: Fri, 02 Apr 2004 13:25:15 +0200 Subject: Por default In-Reply-To: References: Message-ID: <406D4D9B.9000307@ch3m4.org> Hernan Foffani escribió: > Ojo que lo primero (modulos cargardos al iniciar el interprete) > no implica lo segundo. Creo que Attor necesita saber la relación de "objetos" disponibles. O sea, la función 'dir': >>> dir() ['__builtins__','__doc__','__name__'] >>> dir(__builtins__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'DeprecationWarning', 'EOFError', ... 'vars', 'xrange', 'zip'] >>> From attor_sahe en hotmail.com Fri Apr 2 13:32:34 2004 From: attor_sahe en hotmail.com (Attor Sahe) Date: Fri, 02 Apr 2004 05:32:34 -0600 Subject: Por default Message-ID: >From: Chema Cortes >Reply-To: La lista de python en castellano >To: La lista de python en castellano >Subject: Re: [Python-es] Por default >Date: Fri, 02 Apr 2004 13:25:15 +0200 > >Hernan Foffani escribió: > >>Ojo que lo primero (modulos cargardos al iniciar el interprete) >>no implica lo segundo. > >Creo que Attor necesita saber la relación de "objetos" disponibles. O sea, >la función 'dir': > > >>> dir() >['__builtins__','__doc__','__name__'] > >>> dir(__builtins__) >['ArithmeticError', 'AssertionError', 'AttributeError', >'DeprecationWarning', 'EOFError', ... 'vars', 'xrange', 'zip'] > >>> > una preguntita, --Esta instruccion dá a conocer los objetos y algunas excepciones que estan disponibles? >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ MSN Fotos: la forma más fácil de compartir e imprimir fotos. http://photos.msn.es/support/worldwide.aspx From alejandro en janoli.no-ip.org Fri Apr 2 16:08:07 2004 From: alejandro en janoli.no-ip.org (J. Alejandro Noli) Date: Fri, 2 Apr 2004 11:08:07 -0300 Subject: Un poco de Python In-Reply-To: References: Message-ID: <20040402140807.GA16102@hulk> Hola Facundo: Me sumo, aunque vivo en San Rafael (mza) y los únicos eventillos serían virtuales ! El jueves 01, a las 13:09, Batista, Facundo escribió: > Cesar Cardenas Desales escribió: > > #- Pues creo que si hay por allí algún pythonista > #- argentino podrían incluso hacer un eventillo. > > Yo soy argentino, :), y me encantaría armar algún evento (no digo una > conferencia, no soy tan soñador, pero ir a tomar una cerveza o un café entre > todos, :) > > > #- Yo acá en México me quedo esperando que aparezca unos > #- aficionados para ver qué se puede hacer. > > Yo también, y no encuentro ninguna forma razonable de buscarlos... > > . Facundo > > > > > > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . . . . . . . . . > ADVERTENCIA > > La información contenida en este mensaje y cualquier archivo anexo al mismo, > son para uso exclusivo del destinatario y pueden contener información > confidencial o propietaria, cuya divulgación es sancionada por la ley. > > Si Ud. No es uno de los destinatarios consignados o la persona responsable > de hacer llegar este mensaje a los destinatarios consignados, no está > autorizado a divulgar, copiar, distribuir o retener información (o parte de > ella) contenida en este mensaje. Por favor notifíquenos respondiendo al > remitente, borre el mensaje original y borre las copias (impresas o grabadas > en cualquier medio magnético) que pueda haber realizado del mismo. > > Todas las opiniones contenidas en este mail son propias del autor del > mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones > Personales S.A. o alguna empresa asociada. > > Los mensajes electrónicos pueden ser alterados, motivo por el cual > Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación > cualquiera sea el resultante de este mensaje. > > Muchas Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Saludos, - J. Alejandro Noli - alejandro NOSPAM janoli.no-ip.org ««« Debian SID GNU/Linux 04 k6II 350 ------- * ----------------------- --- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From daniel en sintesys.com.ar Sat Apr 3 00:37:56 2004 From: daniel en sintesys.com.ar (Daniel Rozengardt) Date: Fri, 2 Apr 2004 19:37:56 -0300 Subject: Un poco de Python In-Reply-To: <20040402140807.GA16102@hulk> References: <20040402140807.GA16102@hulk> Message-ID: <003b01c41903$27cc8e50$0100a8c0@escritorio> Bueno, soy de Buenos Aires, pero no programo demasiado seguido!! Daniel -----Original Message----- From: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] On Behalf Of J. Alejandro Noli Sent: Viernes, 02 de Abril de 2004 11:08 a.m. To: La lista de python en castellano Subject: Re: [Python-es] Un poco de Python Hola Facundo: Me sumo, aunque vivo en San Rafael (mza) y los únicos eventillos serían virtuales ! El jueves 01, a las 13:09, Batista, Facundo escribió: > Cesar Cardenas Desales escribió: > > #- Pues creo que si hay por allí algún pythonista > #- argentino podrían incluso hacer un eventillo. > > Yo soy argentino, :), y me encantaría armar algún evento (no digo una > conferencia, no soy tan soñador, pero ir a tomar una cerveza o un café entre > todos, :) > > > #- Yo acá en México me quedo esperando que aparezca unos > #- aficionados para ver qué se puede hacer. > > Yo también, y no encuentro ninguna forma razonable de buscarlos... > > . Facundo > > > > > > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . . . . . . . . . > ADVERTENCIA > > La información contenida en este mensaje y cualquier archivo anexo al mismo, > son para uso exclusivo del destinatario y pueden contener información > confidencial o propietaria, cuya divulgación es sancionada por la ley. > > Si Ud. No es uno de los destinatarios consignados o la persona responsable > de hacer llegar este mensaje a los destinatarios consignados, no está > autorizado a divulgar, copiar, distribuir o retener información (o parte de > ella) contenida en este mensaje. Por favor notifíquenos respondiendo al > remitente, borre el mensaje original y borre las copias (impresas o grabadas > en cualquier medio magnético) que pueda haber realizado del mismo. > > Todas las opiniones contenidas en este mail son propias del autor del > mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones > Personales S.A. o alguna empresa asociada. > > Los mensajes electrónicos pueden ser alterados, motivo por el cual > Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación > cualquiera sea el resultante de este mensaje. > > Muchas Gracias. > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Saludos, - J. Alejandro Noli - alejandro NOSPAM janoli.no-ip.org ««« Debian SID GNU/Linux 04 k6II 350 ------- * ----------------------- --- From attor_sahe en hotmail.com Sun Apr 4 11:57:31 2004 From: attor_sahe en hotmail.com (Attor Sahe) Date: Sun, 04 Apr 2004 04:57:31 -0500 Subject: Sobre Blender Message-ID: Hola a todos!!!!! Mas adelante pretendo trabajar un poco en Blender y tengo entendido que en esta esta aplicacion interviene Python de alguna forma ---alguien sabe cual es la intervencion de Python en Blender??? Gracias! _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.microsoft.com/es From ch3m4 en ch3m4.org Mon Apr 5 01:59:46 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Sun, 4 Apr 2004 16:59:46 -0700 Subject: Sobre Blender In-Reply-To: References: Message-ID: <1081123186.4070a1721adc8@ch3m4.org> Mensaje citado por Attor Sahe : > Mas adelante pretendo trabajar un poco en Blender y tengo entendido que en > esta esta aplicacion interviene Python de alguna forma ---alguien sabe cual > es la intervencion de Python en Blender??? Yo lo miré un poco para ver cómo funcionaba SPE (Stani's Python Editor) que es un editor como el PyCrust que trae el wxPython, pero incluyendo además los objetos 3D de blender para integralo en el Blender. La integración de python en blender sirve para casi todo: rederización de los objetos, tranformaciones (importar/exportar,...), animaciones y control del motor de juegos. No me metí mucho más en Blender, ya que casi siempre acabo perdiéndome en el interface que tiene, pero creo que llegué a ver algún tutorial de creación de scripts python para blender incluído en el SPE. SPE: http://spe.pycs.net Tutorial python en blender: http://jmsoler.free.fr/didacticiel/blender/tutor/english/index_prog_python.htm From gari en eibar.org Mon Apr 5 12:34:03 2004 From: gari en eibar.org (Gari Araolaza) Date: Mon, 05 Apr 2004 12:34:03 +0200 Subject: =?iso-8859-1?q?Documentaci=F3n_de_**kw_=3F=3F?= Message-ID: <4071361B.1010104@eibar.org> Hola! Veo en tantos y tantos sitios el famoso **kw, y sin embargo no he encontrado documentación al respecto. Me refiero a esto: def __init__(self,**kw) Por deducción deben tratarse de otros argumentos "libres" en forma de diccionario que admite el método. ¿Es así? ¿Dónde puedo verlo documentado esto? Gracias Gari From esanchez en aditel.org Mon Apr 5 12:47:41 2004 From: esanchez en aditel.org (=?ISO-8859-1?Q?Emilio_A=2E_S=E1nchez_L=F3pez?=) Date: Mon, 5 Apr 2004 12:47:41 +0200 (CEST) Subject: =?iso-8859-1?q?Documentaci=F3n_de_**kw_=3F=3F?= In-Reply-To: <4071361B.1010104@eibar.org> References: <4071361B.1010104@eibar.org> Message-ID: El día 05/04/04, Gari Araolaza escribió: > Hola! > > Veo en tantos y tantos sitios el famoso **kw, y sin embargo no he > encontrado documentación al respecto. Me refiero a esto: > > def __init__(self,**kw) > > Por deducción deben tratarse de otros argumentos "libres" en forma de > diccionario que admite el método. ¿Es así? ¿Dónde puedo verlo > documentado esto? No en forma de diccionario, sino realmente libres :) O sea: __init__(patata="patata",melon=1,tomate=[a,b,c]) > Gracias > > Gari > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- ---------------------------------- Emilio A. Sanchez Lopez E-mail: esanchez en aditel.org http://zope.aditel.org/~esanchez ---------------------------------- From maurix78 en wanadoo.es Mon Apr 5 12:03:07 2004 From: maurix78 en wanadoo.es (Maurizio Panniello) Date: Mon, 05 Apr 2004 11:03:07 +0100 Subject: =?ISO-8859-1?Q?Documentaci=F3n_de_**kw_=3F?= =?ISO-8859-1?Q?=3F?= In-Reply-To: <4071361B.1010104@eibar.org> References: <4071361B.1010104@eibar.org> Message-ID: <40712EDB.3080906@wanadoo.es> Gari Araolaza wrote: > Hola! > > Veo en tantos y tantos sitios el famoso **kw, y sin embargo no he > encontrado documentación al respecto. Me refiero a esto: > > def __init__(self,**kw) > > Por deducción deben tratarse de otros argumentos "libres" en forma de > diccionario que admite el método. ¿Es así? ¿Dónde puedo verlo > documentado esto? > > Gracias > > Gari > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > Si es así! Porque no se lo preguntas al interprete... es veraderamente simple usarlo... pero si buscas en la doc de python seguro hay! >>> def a(**ky) : ... print ky ... >>> a(hola=5) {'hola': 5} >>> a(hola=5,patata="hola") {'hola': 5, 'patata': 'hola'} bye. Maurizio From hernan en orgmf.com.ar Mon Apr 5 13:07:33 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Mon, 5 Apr 2004 13:07:33 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Documentaci=F3n_de_**kw_=3F=3F?= In-Reply-To: <4071361B.1010104@eibar.org> References: <4071361B.1010104@eibar.org> Message-ID: Gari escribio: > Veo en tantos y tantos sitios el famoso **kw, y sin embargo no he > encontrado documentación al respecto. Me refiero a esto: > > def __init__(self,**kw) > > Por deducción deben tratarse de otros argumentos "libres" en forma de > diccionario que admite el método. ¿Es así? ¿Dónde puedo verlo > documentado esto? Usualmente aparece como "kw" por abreviar "keyword" (que no tiene nada que ver con las palabras reservadas de python.) *Recibes* los parametros en un diccionario. Si usas un solo asterisco los recibes en una tupla. >>> def qq(*params): print params >>> qq(1,2) (1, 2) >>> Hay mas info en la seccion 5.3.4 del manual de referencia. -H. From gari en eibar.org Mon Apr 5 13:19:29 2004 From: gari en eibar.org (Gari Araolaza) Date: Mon, 05 Apr 2004 13:19:29 +0200 Subject: =?ISO-8859-1?Q?Documentaci=F3n_de_**kw_=3F?= =?ISO-8859-1?Q?=3F?= In-Reply-To: References: Message-ID: <407140C1.7080501@eibar.org> Muchas gracias a Maurizio, Emilio y Hernan!! Respuesta rápida y clara!! :-) Gari >Gari escribio: > > >>Veo en tantos y tantos sitios el famoso **kw, y sin embargo no he >>encontrado documentación al respecto. Me refiero a esto: >> >>def __init__(self,**kw) >> >>Por deducción deben tratarse de otros argumentos "libres" en forma de >>diccionario que admite el método. ¿Es así? ¿Dónde puedo verlo >>documentado esto? >> >> From impar en gmx.net Mon Apr 5 13:25:36 2004 From: impar en gmx.net (David Sotelo) Date: Mon, 5 Apr 2004 13:25:36 +0200 Subject: =?iso-8859-1?Q?Documentaci=F3n?= de **kw ?? In-Reply-To: <4071361B.1010104@eibar.org> References: <4071361B.1010104@eibar.org> Message-ID: <20040405112536.GA3052@bifrost.gotdns.org> On Mon, 05/Apr/2004 12:34 (+0200), Gari Araolaza wrote: > Veo en tantos y tantos sitios el famoso **kw, y sin embargo no he > encontrado documentación al respecto. Me refiero a esto: > > def __init__(self,**kw) > > Por deducción deben tratarse de otros argumentos "libres" en forma de > diccionario que admite el método. ¿Es así? ¿Dónde puedo verlo > documentado esto? http://python.org/doc/current/tut/node6.html#SECTION006720000000000000000 http://python.org/doc/current/ref/function.html Saludos. From raro82 en hotmail.com Mon Apr 5 18:03:04 2004 From: raro82 en hotmail.com (Adrian Ferreres Esteller) Date: Mon, 05 Apr 2004 16:03:04 +0000 Subject: Conexion con la base de datos Postgresql Message-ID: Hola a todos: Me gustaria preguntaros si sabeis la manera que tiene Python para conectarse a una base de datos Postgresql. Gracias _________________________________________________________________ ¿Todavía no conoces el nuevo MSN Messenger? Descárgatelo gratis aquí. http://messenger.microsoft.com/es From morillas en posta.unizar.es Mon Apr 5 19:16:49 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Mon, 5 Apr 2004 19:16:49 +0200 Subject: Conexion con la base de datos Postgresql In-Reply-To: References: Message-ID: <20040405171649.GA515@marmota> Asunto: [Python-es] Conexion con la base de datos Postgresql Fecha: lun, abr 05, 2004 at 04:03:04 +0000 Citando a Adrian Ferreres Esteller (raro82 en hotmail.com): > Hola a todos: > Me gustaria preguntaros si sabeis la manera que tiene Python para > conectarse a una base de datos Postgresql. > Utiliza cualquiera de los módulos de postgresql para python. Aquí [1] tienes un resumen. Sigue la interfaz de la api [2]. En la documentación de los módulos tienes ejemplos. [1] http://www.python.org/pycon/dc2004/papers/23/ [2] http://www.amk.ca/python/writing/DB-API.html -- lm From aldo en gmc.dynip.com Mon Apr 5 18:59:28 2004 From: aldo en gmc.dynip.com (Aldo Hugo Vargas Rodriguez) Date: Mon, 05 Apr 2004 11:59:28 -0500 Subject: Enviar mail con archivos adjuntos. Message-ID: <1081184368.405.10.camel@sistemas.gmc.dynip.com> Hola, estuve checando el modulo stmplib para enviar email por medio de python, hasta aqui no problema, pero como le hago para mandar un attachment por medio de el, o existe otro modulo con que lo pueda hacer, de antemano gracias... ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Mon Apr 5 22:33:33 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Mon, 05 Apr 2004 22:33:33 +0200 Subject: Enviar mail con archivos adjuntos. In-Reply-To: <1081184368.405.10.camel@sistemas.gmc.dynip.com> References: <1081184368.405.10.camel@sistemas.gmc.dynip.com> Message-ID: <4071C29D.7010901@arrakis.es> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52243 Está en inglis, pero me imagino que el código se entiende. Aldo Hugo Vargas Rodriguez wrote: >Hola, estuve checando el modulo stmplib para enviar email por medio de >python, hasta aqui no problema, pero como le hago para mandar un >attachment por medio de el, o existe otro modulo con que lo pueda hacer, >de antemano gracias... > > > From markus_jais en yahoo.de Tue Apr 6 08:26:55 2004 From: markus_jais en yahoo.de (=?iso-8859-1?q?Markus=20Jais?=) Date: Tue, 6 Apr 2004 08:26:55 +0200 (CEST) Subject: Conexion con la base de datos Postgresql In-Reply-To: References: Message-ID: <20040406062655.54025.qmail@web25209.mail.ukl.yahoo.com> hola http://www.python.org/topics/database/modules.html aqui hay una lista con modules para conectarse a una base de datos y tambien algunos modules para Postgresql Markus --- Adrian Ferreres Esteller schrieb: > Hola a todos: > Me gustaria preguntaros si sabeis la manera > que tiene Python para > conectarse a una base de datos Postgresql. > > Gracias > > _________________________________________________________________ > ¿Todavía no conoces el nuevo MSN Messenger? > Descárgatelo gratis aquí. > http://messenger.microsoft.com/es > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Mit schönen Grüßen von Yahoo! Mail - http://mail.yahoo.de From py en ch3m4.org Mon Apr 5 17:31:49 2004 From: py en ch3m4.org (Chema Cortes) Date: Mon, 05 Apr 2004 17:31:49 +0200 Subject: Por default In-Reply-To: References: Message-ID: <40717BE5.7070900@ch3m4.org> Attor Sahe escribió: >> From: Chema Cortes >> >> >>> dir() >> ['__builtins__','__doc__','__name__'] >> >>> dir(__builtins__) >> ['ArithmeticError', 'AssertionError', 'AttributeError', >> 'DeprecationWarning', 'EOFError', ... 'vars', 'xrange', 'zip'] >> >>> > > una preguntita, --Esta instruccion dá a conocer los objetos y algunas > excepciones que estan disponibles? No exactamente. La función 'dir()' da una relación de las referencias asociaciadas con el objeto por el cuál preguntas. Sin argumentos devuelve los objetos disponibles desde el nivel 'raiz', desde donde se puede iniciar una navegación similar a como navegas en un arbol de ficheros llamando consecutivamente a la función dir() con los objetos que te vas encontrando. Algunas veces necesitas varias referencias encadenadas para dar con el objeto que necesitas. Normalmente, el conjunto de las referencias asociadas a un objeto se denomina "espacio de nombres", y suele ser algo habitual que cuando importas un módulo su nombre se convierta en uno de estos espacios a través del cuál alcanzas los objetos del módulo importado. Para efectos prácticos, las "excepciones" se manipulan igual que cualquier otro "objetos". From lopez en esrf.fr Tue Apr 6 09:43:32 2004 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Tue, 06 Apr 2004 09:43:32 +0200 Subject: Por default In-Reply-To: References: Message-ID: <5.1.0.14.0.20040406094144.00aceef8@mailserv.esrf.fr> Aunque tarde, me di cuenta que en tu mensaje decias que no te iba mucho el inglés... y yo voy y te mando un link con la documentacion en ingles... LO SIENTO, prueba con esta traduccion que aunque es de la version 2.0 te puede ayudar. http://pyspanishdoc.sourceforge.net/lib/lib.html Un saludo At 03:34 02/04/2004 -0600, you wrote: >estoy utilizando la version 2.3 de python en windows, estaba repasando la >documentacion, pero me surgio la duda de cuales son los modulos o >librerias que se cargan por defecto al iniciar Python, les pido una >disculpa ya que soy malo en ingles y me cuesta un poco de trabajo entender >la documentacion. > >Les agradezco cualquier orientacion por adelantando!!!! > >_________________________________________________________________ >MSN. Más Útil Cada Día http://www.msn.es/intmap/ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Apr 6 10:22:40 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 06 Apr 2004 10:22:40 +0200 Subject: [OffTopic] La clase Money Message-ID: <407268D0.4060104@ch3m4.org> En la revista DrDobb's de Mayo aparece un artículo sobre el problema de manipular cantidades monetarias en java. Es un problema similar al que hablamos por aquí hace una temporada, pero sin complicarse tanto como nosotros. El artículo implementa una clase "Money" a partir de la clase BigDecimal de java. ------------ 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 Apr 6 12:26:42 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 6 Apr 2004 12:26:42 +0200 Subject: Enviar mail con archivos adjuntos. References: <1081184368.405.10.camel@sistemas.gmc.dynip.com> <4071C29D.7010901@arrakis.es> Message-ID: <002901c41bc1$aa021dc0$0100a8c0@servidor> Yo recientemente puse una receta en español, la tenéis es: http://www.sicem.biz/personal/erny/python/recetaEnviarMailConAttachments Erny ----- Original Message ----- From: "Marcos Sánchez Provencio" To: "La lista de python en castellano" Sent: Monday, April 05, 2004 10:33 PM Subject: Re: [Python-es] Enviar mail con archivos adjuntos. > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52243 > > Está en inglis, pero me imagino que el código se entiende. > > Aldo Hugo Vargas Rodriguez wrote: > > >Hola, estuve checando el modulo stmplib para enviar email por medio de > >python, hasta aqui no problema, pero como le hago para mandar un > >attachment por medio de el, o existe otro modulo con que lo pueda hacer, > >de antemano gracias... > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Apr 6 12:46:37 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 06 Apr 2004 12:46:37 +0200 Subject: [OffTopic] La clase Money In-Reply-To: <40728237.4070409@ch3m4.org> References: <40728237.4070409@ch3m4.org> Message-ID: <40728A8D.3080703@ch3m4.org> Chema Cortes escribió: > http://www.ddj.com > > Es de acceso gratis a artículos y código con tan sólo registrarse en la > web. Los subscriptores de la revista impresa, además, pueden descargarla > en formato pdf. He comprobado que el acceso gratuíto se limita a determinados artículos. Para los subscriptores se tiene acceso a algunos artículos más (aunque siempre disponen de las últimas revistas completas en pdf). Para un acceso total hay que tener una subscripción Premium. Por cierto, señalar también que hay una revista online para python y otra para zope (antes eran revistas impresas): http://pyzine.com http://zopemag.com ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From i02alvep en uco.es Tue Apr 6 12:58:22 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Tue, 6 Apr 2004 12:58:22 +0200 Subject: SOAP y py2exe Message-ID: <000f01c41bc6$1444bc20$0100a8c0@SEVIPC> Hola a todos, estoy haciendo un ejemplo de servicio web en python utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script cliente y otro script servidor, cuyo código os detallo a continuación: - Fichero script.py (servidor): def bienvenida(arg): return "Hola " + arg + " acabas de acceder al servicio web de i02alvep" def fibrec(n): "Escribe n números de Fibonacci." if (n < 2): return n else: return fibrec(n-1) + fibrec(n-2) def temperatura(): from SOAPpy import SOAPProxy s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp ace="urn:xmethods-Temperature") temF=s.getTemp('92612') resultado=(temF-32)/1.8 return resultado server = SOAPServer(('i02alvep.2mydns.net', 8008)) server.registerFunction(bienvenida) server.registerFunction(fibrec) server.registerFunction(temperatura) server.serve_forever() - Fichero cliente.py (cliente): from SOAPpy import SOAPProxy s=SOAPProxy("http://i02alvep.2mydns.net:8008") nombre=str(raw_input("Introduce tu nombre... ")) print " " print s.bienvenida(nombre) print " " numero=int(raw_input("Introduce un numero para calcular la serie de Fibonacci... ")) print " " print "Resultado: " print s.fibrec(numero) print " " print "EJEMPLO DE SERVICIO WEB: Temperatura de California" print s.temperatura() Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, lo que yo quiero hacer es convertir el script cliente.py a un archivo.exe, en vez de ejecutar el script poniendo “python cliente.py”. Para convertir este archivo a .exe estoy utilizando py2exe de la misma forma que ya habeis indicado otras veces en esta lista, pero después de poner “python setup.py py2exe”, me voy al directorio dist y ejecuto cliente.exe y me da el siguiente fallo: Traceback (most recent call last): File "", line 2, in ? File "SOAPpy\Client.pyc", line 273, in __init__ LookupError: unknown encoding: UTF-8 He probado con ejemplos mas sencillos como el hola mundo y me ha funcionado correctamente. Espero que me podais ayudar. Saludos a la lista y gracias de antemano Pedro Javier Aljaro Velasco From rapto en arrakis.es Tue Apr 6 13:14:56 2004 From: rapto en arrakis.es (=?windows-1252?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 06 Apr 2004 13:14:56 +0200 Subject: SOAP y py2exe In-Reply-To: <000f01c41bc6$1444bc20$0100a8c0@SEVIPC> References: <000f01c41bc6$1444bc20$0100a8c0@SEVIPC> Message-ID: <40729130.5030904@arrakis.es> Google es tu amigo http://www.google.es/search?q=py2exe+encodings La primera url: http://starship.python.net/crew/theller/moin.cgi/EncodingsAgain Ejemplo de setup.py from distutils.core import setup import py2exe setup(console=["MyScript.py"], options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, ) O, en lugar del *, sólo utf8 si sólo vas a usar utf8. Pedro Javier Aljaro Velasco escribió: > Hola a todos, estoy haciendo un ejemplo de servicio web en python > utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y > py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script > cliente y otro script servidor, cuyo código os detallo a continuación: > > - Fichero script.py (servidor): > > def bienvenida(arg): > return "Hola " + arg + " acabas de acceder al servicio web de > i02alvep" > > def fibrec(n): > "Escribe n números de Fibonacci." > if (n < 2): > return n > else: > return fibrec(n-1) + fibrec(n-2) > > def temperatura(): > from SOAPpy import SOAPProxy > > s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp > ace="urn:xmethods-Temperature") > temF=s.getTemp('92612') > resultado=(temF-32)/1.8 > return resultado > > server = SOAPServer(('i02alvep.2mydns.net', 8008)) > server.registerFunction(bienvenida) > server.registerFunction(fibrec) > server.registerFunction(temperatura) > server.serve_forever() > > - Fichero cliente.py (cliente): > > from SOAPpy import SOAPProxy > s=SOAPProxy("http://i02alvep.2mydns.net:8008") > > nombre=str(raw_input("Introduce tu nombre... ")) > print " " > print s.bienvenida(nombre) > print " " > numero=int(raw_input("Introduce un numero para calcular la serie de > Fibonacci... ")) > print " " > print "Resultado: " > print s.fibrec(numero) > print " " > print "EJEMPLO DE SERVICIO WEB: Temperatura de California" > print s.temperatura() > > > Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, lo > que yo quiero hacer es convertir el script cliente.py a un archivo.exe, > en vez de ejecutar el script poniendo ?python cliente.py?. Para > convertir este archivo a .exe estoy utilizando py2exe de la misma forma > que ya habeis indicado otras veces en esta lista, pero después de poner > ?python setup.py py2exe?, me voy al directorio dist y ejecuto > cliente.exe y me da el siguiente fallo: > > Traceback (most recent call last): > File "", line 2, in ? > File "SOAPpy\Client.pyc", line 273, in __init__ > LookupError: unknown encoding: UTF-8 > > He probado con ejemplos mas sencillos como el hola mundo y me ha > funcionado correctamente. Espero que me podais ayudar. > > Saludos a la lista y gracias de antemano > > > > Pedro Javier Aljaro Velasco > > _______________________________________________ > 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 i02alvep en uco.es Tue Apr 6 14:13:36 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Tue, 6 Apr 2004 14:13:36 +0200 Subject: SOAP y py2exe In-Reply-To: <40729130.5030904@arrakis.es> References: <40729130.5030904@arrakis.es> Message-ID: <001f01c41bd0$97390320$0100a8c0@SEVIPC> Me da el siguiente fallo cuando pongo lo que me has dicho: error in setup script: invalid distribution option 'console' Mi archivo setup.py es el siguiente tal y como me has indicado en el anterior mensaje: from distutils.core import setup import py2exe setup(console=["cliente.py"], options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, ) Utilizo python 2.2 y py2exe 0.4.1 puede ser por eso el fallo? Pedro Javier Aljaro Velasco -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Marcos Sánchez Provencio Enviado el: martes, 06 de abril de 2004 13:15 Para: La lista de python en castellano Asunto: Re: [Python-es] SOAP y py2exe Google es tu amigo http://www.google.es/search?q=py2exe+encodings La primera url: http://starship.python.net/crew/theller/moin.cgi/EncodingsAgain Ejemplo de setup.py from distutils.core import setup import py2exe setup(console=["MyScript.py"], options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, ) O, en lugar del *, sólo utf8 si sólo vas a usar utf8. Pedro Javier Aljaro Velasco escribió: > Hola a todos, estoy haciendo un ejemplo de servicio web en python > utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y > py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script > cliente y otro script servidor, cuyo código os detallo a continuación: > > - Fichero script.py (servidor): > > def bienvenida(arg): > return "Hola " + arg + " acabas de acceder al servicio web de > i02alvep" > > def fibrec(n): > "Escribe n números de Fibonacci." > if (n < 2): > return n > else: > return fibrec(n-1) + fibrec(n-2) > > def temperatura(): > from SOAPpy import SOAPProxy > > s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp > ace="urn:xmethods-Temperature") > temF=s.getTemp('92612') > resultado=(temF-32)/1.8 > return resultado > > server = SOAPServer(('i02alvep.2mydns.net', 8008)) > server.registerFunction(bienvenida) > server.registerFunction(fibrec) > server.registerFunction(temperatura) > server.serve_forever() > > - Fichero cliente.py (cliente): > > from SOAPpy import SOAPProxy > s=SOAPProxy("http://i02alvep.2mydns.net:8008") > > nombre=str(raw_input("Introduce tu nombre... ")) > print " " > print s.bienvenida(nombre) > print " " > numero=int(raw_input("Introduce un numero para calcular la serie de > Fibonacci... ")) > print " " > print "Resultado: " > print s.fibrec(numero) > print " " > print "EJEMPLO DE SERVICIO WEB: Temperatura de California" > print s.temperatura() > > > Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, lo > que yo quiero hacer es convertir el script cliente.py a un archivo.exe, > en vez de ejecutar el script poniendo “python cliente.py”. Para > convertir este archivo a .exe estoy utilizando py2exe de la misma forma > que ya habeis indicado otras veces en esta lista, pero después de poner > “python setup.py py2exe”, me voy al directorio dist y ejecuto > cliente.exe y me da el siguiente fallo: > > Traceback (most recent call last): > File "", line 2, in ? > File "SOAPpy\Client.pyc", line 273, in __init__ > LookupError: unknown encoding: UTF-8 > > He probado con ejemplos mas sencillos como el hola mundo y me ha > funcionado correctamente. Espero que me podais ayudar. > > Saludos a la lista y gracias de antemano > > > > Pedro Javier Aljaro Velasco > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Tue Apr 6 14:24:53 2004 From: rapto en arrakis.es (=?windows-1252?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 06 Apr 2004 14:24:53 +0200 Subject: SOAP y py2exe In-Reply-To: <001f01c41bd0$97390320$0100a8c0@SEVIPC> References: <001f01c41bd0$97390320$0100a8c0@SEVIPC> Message-ID: <4072A195.8010306@arrakis.es> Lo dicho era para la 0.5 de py2exe para versiones anteriores: python setup.py py2exe --force-imports encodings --packages encodings Pedro Javier Aljaro Velasco escribió: > Me da el siguiente fallo cuando pongo lo que me has dicho: > > error in setup script: invalid distribution option 'console' > > Mi archivo setup.py es el siguiente tal y como me has indicado en el > anterior mensaje: > > from distutils.core import setup > import py2exe > > setup(console=["cliente.py"], > options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, > ) > > Utilizo python 2.2 y py2exe 0.4.1 puede ser por eso el fallo? > > Pedro Javier Aljaro Velasco > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] > En nombre de Marcos Sánchez Provencio > Enviado el: martes, 06 de abril de 2004 13:15 > Para: La lista de python en castellano > Asunto: Re: [Python-es] SOAP y py2exe > > Google es tu amigo > http://www.google.es/search?q=py2exe+encodings > > La primera url: > http://starship.python.net/crew/theller/moin.cgi/EncodingsAgain > > Ejemplo de setup.py > from distutils.core import setup > import py2exe > > setup(console=["MyScript.py"], > options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, > ) > > O, en lugar del *, sólo utf8 si sólo vas a usar utf8. > > > > Pedro Javier Aljaro Velasco escribió: > >>Hola a todos, estoy haciendo un ejemplo de servicio web en python >>utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y >>py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script >>cliente y otro script servidor, cuyo código os detallo a continuación: >> >>- Fichero script.py (servidor): >> >>def bienvenida(arg): >> return "Hola " + arg + " acabas de acceder al servicio web de >>i02alvep" >> >>def fibrec(n): >> "Escribe n números de Fibonacci." >> if (n < 2): >> return n >> else: >> return fibrec(n-1) + fibrec(n-2) >> >>def temperatura(): >> from SOAPpy import SOAPProxy >> >> > > s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp > >>ace="urn:xmethods-Temperature") >> temF=s.getTemp('92612') >> resultado=(temF-32)/1.8 >> return resultado >> >>server = SOAPServer(('i02alvep.2mydns.net', 8008)) >>server.registerFunction(bienvenida) >>server.registerFunction(fibrec) >>server.registerFunction(temperatura) >>server.serve_forever() >> >>- Fichero cliente.py (cliente): >> >>from SOAPpy import SOAPProxy >>s=SOAPProxy("http://i02alvep.2mydns.net:8008") >> >>nombre=str(raw_input("Introduce tu nombre... ")) >>print " " >>print s.bienvenida(nombre) >>print " " >>numero=int(raw_input("Introduce un numero para calcular la serie de >>Fibonacci... ")) >>print " " >>print "Resultado: " >>print s.fibrec(numero) >>print " " >>print "EJEMPLO DE SERVICIO WEB: Temperatura de California" >>print s.temperatura() >> >> >>Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, > > lo > >>que yo quiero hacer es convertir el script cliente.py a un > > archivo.exe, > >>en vez de ejecutar el script poniendo ?python cliente.py?. Para >>convertir este archivo a .exe estoy utilizando py2exe de la misma > > forma > >>que ya habeis indicado otras veces en esta lista, pero después de > > poner > >>?python setup.py py2exe?, me voy al directorio dist y ejecuto >>cliente.exe y me da el siguiente fallo: >> >>Traceback (most recent call last): >> File "", line 2, in ? >> File "SOAPpy\Client.pyc", line 273, in __init__ >>LookupError: unknown encoding: UTF-8 >> >>He probado con ejemplos mas sencillos como el hola mundo y me ha >>funcionado correctamente. Espero que me podais ayudar. >> >>Saludos a la lista y gracias de antemano >> >> >> >>Pedro Javier Aljaro Velasco >> ------------ 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 Apr 6 15:53:02 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Tue, 6 Apr 2004 10:53:02 -0300 Subject: [OffTopic] La clase Money Message-ID: #- En la revista DrDobb's de Mayo aparece un artículo sobre el #- problema de #- manipular cantidades monetarias en java. Es un problema #- similar al que #- hablamos por aquí hace una temporada, pero sin complicarse #- tanto como #- nosotros. El artículo implementa una clase "Money" a partir #- de la clase #- BigDecimal de java. Estoy haciendo un Sistema de Gestión Financiera (https://sourceforge.net/projects/sigefi/) y en un momento me encontré con este problema. Luego de asegurarme de que no había nada que maneje los decimales sin la inexactitud de float(), me puse a escribir una PEP para implementar Money en Python. Luego de idas y venidas, GvR sugirió que lo que debía hacer es terminar el módulo Decimal, que maneja toda la aritmética decimal según especificaciones de IBM, y luego implementar Money sobre ella. Desde ese momento estoy con eso. Hice la PEP 327 (http://www.python.org/peps/pep-0327.html), que está en proceso de aceptación, y tengo el módulo Decimal (junto con sus casos de prueba, test_Decimal.py) bastante a punto (http://cvs.sourceforge.net/viewcvs.py/python/python/nondist/sandbox/decimal /). Saludos. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. From i02alvep en uco.es Tue Apr 6 19:07:41 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Tue, 6 Apr 2004 19:07:41 +0200 Subject: SOAP y py2exe In-Reply-To: <4072A195.8010306@arrakis.es> References: <4072A195.8010306@arrakis.es> Message-ID: <002501c41bf9$ac194380$0100a8c0@SEVIPC> Ahora si me funciona, cuando ya pongo cliente.exe, pero me sigue dando fallos, como he puesto en anteriores mensajes, la parte cliente hace llamadas a funciones alojadas en la parte servidor, y me aparece el siguiente error al ejecutar cliente.exe: Traceback (most recent call last): File "", line 14, in ? File "SOAPpy\Client.pyc", line 421, in __call__ File "SOAPpy\Client.pyc", line 443, in __r_call File "SOAPpy\Client.pyc", line 347, in __call File "SOAPpy\Parser.pyc", line 1006, in parseSOAPRPC File "SOAPpy\Parser.pyc", line 972, in _parseSOAP File "xml\sax\sax2exts.pyc", line 37, in make_parser File "xml\sax\saxexts.pyc", line 77, in make_parser xml.sax._exceptions.SAXReaderNotAvailable: No Tambien cuando se esta compilando el .exe me aparece un warning diciendome que algunos modulos no estan instalados. Espero vuestra ayuda y gracias. Pedro Javier Aljaro Velasco -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Marcos Sánchez Provencio Enviado el: martes, 06 de abril de 2004 14:25 Para: La lista de python en castellano Asunto: Re: [Python-es] SOAP y py2exe Lo dicho era para la 0.5 de py2exe para versiones anteriores: python setup.py py2exe --force-imports encodings --packages encodings Pedro Javier Aljaro Velasco escribió: > Me da el siguiente fallo cuando pongo lo que me has dicho: > > error in setup script: invalid distribution option 'console' > > Mi archivo setup.py es el siguiente tal y como me has indicado en el > anterior mensaje: > > from distutils.core import setup > import py2exe > > setup(console=["cliente.py"], > options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, > ) > > Utilizo python 2.2 y py2exe 0.4.1 puede ser por eso el fallo? > > Pedro Javier Aljaro Velasco > > > -----Mensaje original----- > De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] > En nombre de Marcos Sánchez Provencio > Enviado el: martes, 06 de abril de 2004 13:15 > Para: La lista de python en castellano > Asunto: Re: [Python-es] SOAP y py2exe > > Google es tu amigo > http://www.google.es/search?q=py2exe+encodings > > La primera url: > http://starship.python.net/crew/theller/moin.cgi/EncodingsAgain > > Ejemplo de setup.py > from distutils.core import setup > import py2exe > > setup(console=["MyScript.py"], > options = {"py2exe": {"packages": ["encodings","encodings.*"]}}, > ) > > O, en lugar del *, sólo utf8 si sólo vas a usar utf8. > > > > Pedro Javier Aljaro Velasco escribió: > >>Hola a todos, estoy haciendo un ejemplo de servicio web en python >>utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y >>py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script >>cliente y otro script servidor, cuyo código os detallo a continuación: >> >>- Fichero script.py (servidor): >> >>def bienvenida(arg): >> return "Hola " + arg + " acabas de acceder al servicio web de >>i02alvep" >> >>def fibrec(n): >> "Escribe n números de Fibonacci." >> if (n < 2): >> return n >> else: >> return fibrec(n-1) + fibrec(n-2) >> >>def temperatura(): >> from SOAPpy import SOAPProxy >> >> > > s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp > >>ace="urn:xmethods-Temperature") >> temF=s.getTemp('92612') >> resultado=(temF-32)/1.8 >> return resultado >> >>server = SOAPServer(('i02alvep.2mydns.net', 8008)) >>server.registerFunction(bienvenida) >>server.registerFunction(fibrec) >>server.registerFunction(temperatura) >>server.serve_forever() >> >>- Fichero cliente.py (cliente): >> >>from SOAPpy import SOAPProxy >>s=SOAPProxy("http://i02alvep.2mydns.net:8008") >> >>nombre=str(raw_input("Introduce tu nombre... ")) >>print " " >>print s.bienvenida(nombre) >>print " " >>numero=int(raw_input("Introduce un numero para calcular la serie de >>Fibonacci... ")) >>print " " >>print "Resultado: " >>print s.fibrec(numero) >>print " " >>print "EJEMPLO DE SERVICIO WEB: Temperatura de California" >>print s.temperatura() >> >> >>Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, > > lo > >>que yo quiero hacer es convertir el script cliente.py a un > > archivo.exe, > >>en vez de ejecutar el script poniendo “python cliente.py”. Para >>convertir este archivo a .exe estoy utilizando py2exe de la misma > > forma > >>que ya habeis indicado otras veces en esta lista, pero después de > > poner > >>“python setup.py py2exe”, me voy al directorio dist y ejecuto >>cliente.exe y me da el siguiente fallo: >> >>Traceback (most recent call last): >> File "", line 2, in ? >> File "SOAPpy\Client.pyc", line 273, in __init__ >>LookupError: unknown encoding: UTF-8 >> >>He probado con ejemplos mas sencillos como el hola mundo y me ha >>funcionado correctamente. Espero que me podais ayudar. >> >>Saludos a la lista y gracias de antemano >> >> >> >>Pedro Javier Aljaro Velasco >> From i02alvep en uco.es Tue Apr 6 19:11:01 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Tue, 6 Apr 2004 19:11:01 +0200 Subject: llamadas al sistema Message-ID: <002601c41bfa$236b8740$0100a8c0@SEVIPC> Hola, me gustaría saber como puedo hacer una llamada al sistema desde python, se cómo crear un directorio por ejemplo mediante una llamada al sistema que sería: Iiport os os.mkdir(“carpeta”) pero por ejemplo para ejecutar un script en python no se como sería, he intentado poner lo siguiente: os.python(“script.py”) o os.python script.py y no me ha funcionado de ninguna forma. Gracias de antemano y saludos a la lista. Pedro Javier Aljaro Velasco From FBatista en uniFON.com.ar Tue Apr 6 19:28:58 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Tue, 6 Apr 2004 14:28:58 -0300 Subject: llamadas al sistema Message-ID: [Pedro Javier Aljaro Velasco] #- Hola, me gustaría saber como puedo hacer una llamada al sistema desde #- python, se cómo crear un directorio por ejemplo mediante una #- llamada al #- sistema que sería: #- #- Iiport os #- os.mkdir("carpeta") Aquí no estás haciendo una llamada directa al sistema, sólo utilizando el método mkdir del módulo os. Para llamadas al sistema puedes usar os.system, os.popen, etc. (http://www.python.org/doc/current/lib/os-process.html). #- pero por ejemplo para ejecutar un script en python no se #- como sería, he #- intentado poner lo siguiente: #- #- os.python("script.py") o os.python script.py En este caso, puedes usar el método integrado execfile(). Sin embargo, quizás sea más adecuado importar un módulo y usar el código desde allí. Depende de lo que quieras hacer. Saludos. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. From rapto en arrakis.es Tue Apr 6 20:19:07 2004 From: rapto en arrakis.es (=?windows-1252?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 06 Apr 2004 20:19:07 +0200 Subject: SOAP y py2exe In-Reply-To: <002501c41bf9$ac194380$0100a8c0@SEVIPC> References: <002501c41bf9$ac194380$0100a8c0@SEVIPC> Message-ID: <4072F49B.8020300@arrakis.es> Puedes intentar hacer en tu programa imports explícitos de los módulos que luego no se encuentran o incluirlos en la opción --force-imports. Pedro Javier Aljaro Velasco wrote: >Ahora si me funciona, cuando ya pongo cliente.exe, pero me sigue dando >fallos, como he puesto en anteriores mensajes, la parte cliente hace >llamadas a funciones alojadas en la parte servidor, y me aparece el >siguiente error al ejecutar cliente.exe: > >Traceback (most recent call last): > File "", line 14, in ? > File "SOAPpy\Client.pyc", line 421, in __call__ > File "SOAPpy\Client.pyc", line 443, in __r_call > File "SOAPpy\Client.pyc", line 347, in __call > File "SOAPpy\Parser.pyc", line 1006, in parseSOAPRPC > File "SOAPpy\Parser.pyc", line 972, in _parseSOAP > File "xml\sax\sax2exts.pyc", line 37, in make_parser > File "xml\sax\saxexts.pyc", line 77, in make_parser >xml.sax._exceptions.SAXReaderNotAvailable: No > >Tambien cuando se esta compilando el .exe me aparece un warning >diciendome que algunos modulos no estan instalados. > >Espero vuestra ayuda y gracias. > >Pedro Javier Aljaro Velasco > > >-----Mensaje original----- >De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] >En nombre de Marcos Sánchez Provencio >Enviado el: martes, 06 de abril de 2004 14:25 >Para: La lista de python en castellano >Asunto: Re: [Python-es] SOAP y py2exe > >Lo dicho era para la 0.5 de py2exe > >para versiones anteriores: > >python setup.py py2exe --force-imports encodings --packages encodings > > > >Pedro Javier Aljaro Velasco escribió: > > >>Me da el siguiente fallo cuando pongo lo que me has dicho: >> >>error in setup script: invalid distribution option 'console' >> >>Mi archivo setup.py es el siguiente tal y como me has indicado en el >>anterior mensaje: >> >>from distutils.core import setup >>import py2exe >> >>setup(console=["cliente.py"], >> options = {"py2exe": {"packages": >> >> >["encodings","encodings.*"]}}, > > >>) >> >>Utilizo python 2.2 y py2exe 0.4.1 puede ser por eso el fallo? >> >>Pedro Javier Aljaro Velasco >> >> >>-----Mensaje original----- >>De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] >>En nombre de Marcos Sánchez Provencio >>Enviado el: martes, 06 de abril de 2004 13:15 >>Para: La lista de python en castellano >>Asunto: Re: [Python-es] SOAP y py2exe >> >>Google es tu amigo >>http://www.google.es/search?q=py2exe+encodings >> >>La primera url: >>http://starship.python.net/crew/theller/moin.cgi/EncodingsAgain >> >>Ejemplo de setup.py >>from distutils.core import setup >>import py2exe >> >>setup(console=["MyScript.py"], >> options = {"py2exe": {"packages": >> >> >["encodings","encodings.*"]}}, > > >>) >> >>O, en lugar del *, sólo utf8 si sólo vas a usar utf8. >> >> >> >>Pedro Javier Aljaro Velasco escribió: >> >> >> >>>Hola a todos, estoy haciendo un ejemplo de servicio web en python >>>utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y >>>py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script >>>cliente y otro script servidor, cuyo código os detallo a continuación: >>> >>>- Fichero script.py (servidor): >>> >>>def bienvenida(arg): >>> return "Hola " + arg + " acabas de acceder al servicio web de >>>i02alvep" >>> >>>def fibrec(n): >>> "Escribe n números de Fibonacci." >>> if (n < 2): >>> return n >>> else: >>> return fibrec(n-1) + fibrec(n-2) >>> >>>def temperatura(): >>> from SOAPpy import SOAPProxy >>> >>> >>> >>> >> >> >s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",namesp > > >>>ace="urn:xmethods-Temperature") >>> temF=s.getTemp('92612') >>> resultado=(temF-32)/1.8 >>> return resultado >>> >>>server = SOAPServer(('i02alvep.2mydns.net', 8008)) >>>server.registerFunction(bienvenida) >>>server.registerFunction(fibrec) >>>server.registerFunction(temperatura) >>>server.serve_forever() >>> >>>- Fichero cliente.py (cliente): >>> >>> >>> >>>from SOAPpy import SOAPProxy >> >> >>>s=SOAPProxy("http://i02alvep.2mydns.net:8008") >>> >>>nombre=str(raw_input("Introduce tu nombre... ")) >>>print " " >>>print s.bienvenida(nombre) >>>print " " >>>numero=int(raw_input("Introduce un numero para calcular la serie de >>>Fibonacci... ")) >>>print " " >>>print "Resultado: " >>>print s.fibrec(numero) >>>print " " >>>print "EJEMPLO DE SERVICIO WEB: Temperatura de California" >>>print s.temperatura() >>> >>> >>>Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, >>> >>> >>lo >> >> >> >>>que yo quiero hacer es convertir el script cliente.py a un >>> >>> >>archivo.exe, >> >> >> >>>en vez de ejecutar el script poniendo ?python cliente.py?. Para >>>convertir este archivo a .exe estoy utilizando py2exe de la misma >>> >>> >>forma >> >> >> >>>que ya habeis indicado otras veces en esta lista, pero después de >>> >>> >>poner >> >> >> >>>?python setup.py py2exe?, me voy al directorio dist y ejecuto >>>cliente.exe y me da el siguiente fallo: >>> >>>Traceback (most recent call last): >>> File "", line 2, in ? >>> File "SOAPpy\Client.pyc", line 273, in __init__ >>>LookupError: unknown encoding: UTF-8 >>> >>>He probado con ejemplos mas sencillos como el hola mundo y me ha >>>funcionado correctamente. Espero que me podais ayudar. >>> >>>Saludos a la lista y gracias de antemano >>> >>> >>> >>>Pedro Javier Aljaro Velasco >>> >>> >>> > > > > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From 462931 en celes.unizar.es Wed Apr 7 00:53:41 2004 From: 462931 en celes.unizar.es (David Sanchez Perez) Date: Wed, 7 Apr 2004 00:53:41 +0200 Subject: tratamiento de cadenas Message-ID: <1081292021.407334f5d7ff1@webmail.unizar.es> Hola listeros... Hace no mucho que he empezado a leerme manuales de python y a trabajar con el. Mi pregunta es la siguiente: dado por ejemplo esta cadena: ('OK', ['(\\HasNoChildren) "." "INBOX.Trash"', '(\\HasNoChildren) "." "INBOX.Sent"', '(\\HasNoChildren) "." "INBOX.prueba_dvd.anidada2"', '(\\HasChildren) "." "INBOX.prueba_dvd"', '(\\Unmarked \\HasChildren) "." "INBOX"']) me gustaria obtener todas las cadenas que empiezan por INBOX.xxx, es decir lo que yo quiero es obtener las cadenas que se encuentran entre comillas dobles (excepto "."). He hecho pruebas con 'cut', y me estoy mirando comandos como 'sed' o 'awk', pero no estoy completamente seguro de que no exita ningun metodo en python que me permita hacer esto.... Os agradeceria si me pudieseis ayudar Un saludo DaViD From oziko en fusiondementes.com Tue Apr 6 22:43:41 2004 From: oziko en fusiondementes.com (Oziko) Date: Tue, 06 Apr 2004 15:43:41 -0500 Subject: tratamiento de cadenas In-Reply-To: <1081292021.407334f5d7ff1@webmail.unizar.es> References: <1081292021.407334f5d7ff1@webmail.unizar.es> Message-ID: <1081284220.10626.1.camel@tania.oziko.net> On Tue, 2004-04-06 at 17:53, David Sanchez Perez wrote: > Hola listeros... > Hace no mucho que he empezado a leerme manuales de python y a trabajar con el. > Mi pregunta es la siguiente: dado por ejemplo esta cadena: > > ('OK', ['(\\HasNoChildren) "." "INBOX.Trash"', '(\\HasNoChildren) "." > "INBOX.Sent"', '(\\HasNoChildren) "." "INBOX.prueba_dvd.anidada2"', > '(\\HasChildren) "." "INBOX.prueba_dvd"', '(\\Unmarked \\HasChildren) "." "INBOX"']) > Pues yo veo esto como si fuera una tupla, no una cadena, o estoy equivocado? o de que le ven forma? > me gustaria obtener todas las cadenas que empiezan por INBOX.xxx, es decir lo > que yo quiero es obtener las cadenas que se encuentran entre comillas dobles > (excepto "."). He hecho pruebas con 'cut', y me estoy mirando comandos como > 'sed' o 'awk', pero no estoy completamente seguro de que no exita ningun metodo > en python que me permita hacer esto.... > Podrias usar expresiones regulares. Busca el modulo re > Os agradeceria si me pudieseis ayudar > Un saludo > DaViD > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- --------- Javier Reyna Padilla Visita mi Weblog: http://www.fusiondementes.com/weblog.php ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From oziko en fusiondementes.com Tue Apr 6 22:46:26 2004 From: oziko en fusiondementes.com (Oziko) Date: Tue, 06 Apr 2004 15:46:26 -0500 Subject: Conexion con la base de datos Postgresql In-Reply-To: References: Message-ID: <1081284386.10626.3.camel@tania.oziko.net> yo uso: import pg y me ha funcionado bien On Mon, 2004-04-05 at 11:03, Adrian Ferreres Esteller wrote: > Hola a todos: > Me gustaria preguntaros si sabeis la manera que tiene Python para > conectarse a una base de datos Postgresql. > > Gracias > > _________________________________________________________________ > ¿Todavía no conoces el nuevo MSN Messenger? Descárgatelo gratis aquí. > http://messenger.microsoft.com/es > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- --------- Javier Reyna Padilla Visita mi Weblog: http://www.fusiondementes.com/weblog.php From impar en gmx.net Wed Apr 7 02:30:17 2004 From: impar en gmx.net (David Sotelo) Date: Wed, 7 Apr 2004 02:30:17 +0200 Subject: tratamiento de cadenas In-Reply-To: <1081292021.407334f5d7ff1@webmail.unizar.es> References: <1081292021.407334f5d7ff1@webmail.unizar.es> Message-ID: <20040407003017.GA27818@bifrost.gotdns.org> On Wed, 07/Apr/2004 00:53 (+0200), David Sanchez Perez wrote: > Hola listeros... > Hace no mucho que he empezado a leerme manuales de python y a trabajar con el. > Mi pregunta es la siguiente: dado por ejemplo esta cadena: > > ('OK', ['(\\HasNoChildren) "." "INBOX.Trash"', '(\\HasNoChildren) "." > "INBOX.Sent"', '(\\HasNoChildren) "." "INBOX.prueba_dvd.anidada2"', > '(\\HasChildren) "." "INBOX.prueba_dvd"', '(\\Unmarked \\HasChildren) "." > "INBOX"']) > > me gustaria obtener todas las cadenas que empiezan por INBOX.xxx, es decir lo > que yo quiero es obtener las cadenas que se encuentran entre comillas dobles > (excepto "."). He hecho pruebas con 'cut', y me estoy mirando comandos como > 'sed' o 'awk', pero no estoy completamente seguro de que no exita ningun > metodo en python que me permita hacer esto.... Si he entendido bien la pregunta una posible manera de hacerlo, suponiendo que tengas la cadena completa en una variable llamada 'cad', sería la siguiente: >>> [s for s in cad.split('"') if s.startswith('INBOX.')] ['INBOX.Trash', 'INBOX.Sent', 'INBOX.prueba_dvd.anidada2', 'INBOX.prueba_dvd'] Saludos. From ripolles en aditel.org Thu Apr 8 02:05:28 2004 From: ripolles en aditel.org (Daniel Ripolles) Date: Thu, 08 Apr 2004 02:05:28 +0200 Subject: Dia Python en la iParty de Aditel Message-ID: <1081382728.4114.10.camel@pezon> Bueno, creo que ya se dijo en la lista, pero os recuerdo a todos que en la iParty vamos a tener un día Python bastante interesante en el que se va a hablar de Zope y Pythoncard. Si fueramos unos cuantos estaría muy bien tener algún tipo de mesa redonda/intercambio de opiniones, o simple y llanamente vernos las caras, que también tiene su gracia :D Además os recuerdo que hay un concurso de programación ahí en juego, y Python es uno de los lenguajes permitidos (si hay alguien a quien no le molaría llevarse un premio en un concurso de programación usando Python que tire la primera piedra :P ) Bueno, yo estaré por ahí de todas formas, pero a ver si alguien más se anima y tenemos un encuentro Pythonero de los que molan!!! La web con toda la información la tenéis en http://iparty.aditel.org Quien se apunta? -- Daniel Ripolles ( Eru ) Make Source, Not War ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ripolles en aditel.org Thu Apr 8 02:07:46 2004 From: ripolles en aditel.org (Daniel Ripolles) Date: Thu, 08 Apr 2004 02:07:46 +0200 Subject: Dia Python en la iParty de Aditel In-Reply-To: <1081382728.4114.10.camel@pezon> References: <1081382728.4114.10.camel@pezon> Message-ID: <1081382866.4114.13.camel@pezon> El jue, 08-04-2004 a las 02:05, Daniel Ripolles escribió: Vaya ful se ha hecho esto con el encoding...lo vuelvo a enviar (cruzando los dedos) Bueno, creo que ya se dijo en la lista, pero os recuerdo a todos que en la iParty vamos a tener un día Python bastante interesante en el que se va a hablar de Zope y Pythoncard. Si fueramos unos cuantos estaría muy bien tener algún tipo de mesa redonda/intercambio de opiniones, o simple y llanamente vernos las caras, que también tiene su gracia :D Además os recuerdo que hay un concurso de programación ahí en juego, y Python es uno de los lenguajes permitidos (si hay alguien a quien no le molaría llevarse un premio en un concurso de programación usando Python que tire la primera piedra :P ) Bueno, yo estaré por ahí de todas formas, pero a ver si alguien más se anima y tenemos un encuentro Pythonero de los que molan!!! La web con toda la información la tenéis en http://iparty.aditel.org Quien se apunta? -- Daniel Ripolles ( Eru ) Push me, throw me, treat me like an object ------------ 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 Thu Apr 8 02:39:22 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Thu, 8 Apr 2004 02:39:22 +0200 Subject: Dia Python en la iParty de Aditel In-Reply-To: <1081382866.4114.13.camel@pezon> References: <1081382728.4114.10.camel@pezon> <1081382866.4114.13.camel@pezon> Message-ID: <20040408003922.GA3700@marmota> Asunto: Re: [Python-es] Dia Python en la iParty de Aditel Fecha: jue, abr 08, 2004 at 02:07:46 +0200 Citando a Daniel Ripolles (ripolles en aditel.org): > El jue, 08-04-2004 a las 02:05, Daniel Ripolles escribió: > Vaya ful se ha hecho esto con el encoding...lo vuelvo a enviar > (cruzando los dedos) > > Bueno, creo que ya se dijo en la lista, pero os recuerdo a todos que en > la iParty vamos a tener un día Python bastante interesante en el que se > va a hablar de Zope y Pythoncard. Si fueramos unos cuantos estaría muy > bien tener algún tipo de mesa redonda/intercambio de opiniones, o simple > y llanamente vernos las caras, que también tiene su gracia :D > * Qué día será? * El viernes 16 de abril? * Hay que inscribirse en la Party para asistir ese día a la mesa redonda/ intercabio y a las conferencias? Yo podría acercarme con suerte el día de Python. -- lm From javierm en aditel.org Thu Apr 8 09:43:38 2004 From: javierm en aditel.org (Javier =?ISO-8859-1?Q?Mu=F1oz?= Ferrara) Date: Thu, 08 Apr 2004 09:43:38 +0200 Subject: Dia Python en la iParty de Aditel In-Reply-To: <20040408003922.GA3700@marmota> References: <1081382728.4114.10.camel@pezon> <1081382866.4114.13.camel@pezon> <20040408003922.GA3700@marmota> Message-ID: <1081410218.4864.1.camel@gibson.dsic.upv.es> El jue, 08-04-2004 a las 02:39, luis miguel morillas escribió > > * Qué día será? > * El viernes 16 de abril? Si, la tarde del viernes 16 de abril > * Hay que inscribirse en la Party para asistir ese día a la mesa redonda/ > intercabio y a las conferencias? No, la asistencia a las conferencias/charlas/foros es gratuita. Para asistir con ordenador hay dos modalidades: - Con comidas reservadas: 40? - Sin comidas reservadas: 15? > > Yo podría acercarme con suerte el día de Python. Nos vemos, pues. :P ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Sat Apr 10 03:49:17 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Fri, 9 Apr 2004 18:49:17 -0700 Subject: Dia Python en la iParty de Aditel In-Reply-To: <1081382728.4114.10.camel@pezon> References: <1081382728.4114.10.camel@pezon> Message-ID: <1081561757.4077529ddbbb2@ch3m4.org> Mensaje citado por Daniel Ripolles : > Bueno, creo que ya se dijo en la lista, pero os recuerdo a todos que en > la iParty vamos a tener un día Python bastante interesante en el que se > va a hablar de Zope y Pythoncard. Si fueramos unos cuantos estaría muy > bien tener algún tipo de mesa redonda/intercambio de opiniones, o simple > y llanamente vernos las caras, que también tiene su gracia :D ¿Os parece bien preparar un guión de temas a tratar en el foro? En el foro python de la Hispalinux de hace dos años se trataron muchos temas, pero hubo uno que todavía está pendiente y es el de organizar una web hispana sobre python. Ha habido algunos intentos en este sentido; pero quizás podíamos aprovechar estas reuniones para resolver diferencias y, de una vez por todas, conseguir una web que unifique los esfuerzos realizados para la difunsión de nuestro lenguaje preferido (y nuestro "zope") dentro del panorama hispano de la programación informática. Seguramente haya temas que os gustaría que se discutieran en este foro, aunque no podáis acercaros a este evento. Posiblemente se pudiera crear "grupos de interés" similares a los SIGs de python.org. ¿Qué os parece? ¿Empezamos teniendo un CMF ó un simple wiki y seguimos a partir de ahí? From okktawio en yahoo.com.ar Mon Apr 5 22:36:54 2004 From: okktawio en yahoo.com.ar (Octavio Bruzzone) Date: Mon, 5 Apr 2004 17:36:54 -0300 Subject: Reunion de python en Buenos Aires In-Reply-To: <20040405104748.1F459141C429@devnull.aditel.org> References: <20040405104748.1F459141C429@devnull.aditel.org> Message-ID: <200404051736.54931.okktawio@yahoo.com.ar> Hola, yo tambien me encuentro en Buenos Aires, y quisiera verle la cara a algun otro usuario de python. Seria bueno establecer alguna fecha tentativa, para ir comenzando por algo. -- ¡Huid pronto!, desdichado será quien sea encontrado en este lugar cuando lleguen ellos. From i02alvep en uco.es Mon Apr 12 12:18:37 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Mon, 12 Apr 2004 12:18:37 +0200 Subject: RV: SOAP y py2exe Message-ID: <000001c42077$857e71f0$0100a8c0@SEVIPC> El problema es que los módulos que cuando compilo me pone que no fueron encontrados no los tengo instalados en mi ordenador y es que no me hacen falta para nada, por lo tanto no puedo hacer imports explícitos en mi programa. Los módulos que me pone no encontrados son: M2Crypto, SOCKS, ext.lsDOMString, ext.SplitQName, ic, pyGlobus, pyGlobus.io, rour12path. Creo que como no los tengo instalados no los puedo poner en la opcion --force-imports (por cierto, ¿cómo es la sintaxis para ponerlos ahí?). Espero vuestra ayuda y Gracias. Saludos a la lista. Pedro Javier Aljaro Velasco -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Marcos Sánchez Provencio Enviado el: martes, 06 de abril de 2004 20:19 Para: La lista de python en castellano Asunto: Re: [Python-es] SOAP y py2exe Puedes intentar hacer en tu programa imports explícitos de los módulos que luego no se encuentran o incluirlos en la opción --force-imports. Pedro Javier Aljaro Velasco wrote: >Ahora si me funciona, cuando ya pongo cliente.exe, pero me sigue dando >fallos, como he puesto en anteriores mensajes, la parte cliente hace >llamadas a funciones alojadas en la parte servidor, y me aparece el >siguiente error al ejecutar cliente.exe: > >Traceback (most recent call last): > File "", line 14, in ? > File "SOAPpy\Client.pyc", line 421, in __call__ > File "SOAPpy\Client.pyc", line 443, in __r_call > File "SOAPpy\Client.pyc", line 347, in __call > File "SOAPpy\Parser.pyc", line 1006, in parseSOAPRPC > File "SOAPpy\Parser.pyc", line 972, in _parseSOAP > File "xml\sax\sax2exts.pyc", line 37, in make_parser > File "xml\sax\saxexts.pyc", line 77, in make_parser >xml.sax._exceptions.SAXReaderNotAvailable: No > >Tambien cuando se esta compilando el .exe me aparece un warning >diciendome que algunos modulos no estan instalados. > >Espero vuestra ayuda y gracias. > >Pedro Javier Aljaro Velasco > > >-----Mensaje original----- >De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] >En nombre de Marcos Sánchez Provencio >Enviado el: martes, 06 de abril de 2004 14:25 >Para: La lista de python en castellano >Asunto: Re: [Python-es] SOAP y py2exe > >Lo dicho era para la 0.5 de py2exe > >para versiones anteriores: > >python setup.py py2exe --force-imports encodings --packages encodings > > > >Pedro Javier Aljaro Velasco escribió: > > >>Me da el siguiente fallo cuando pongo lo que me has dicho: >> >>error in setup script: invalid distribution option 'console' >> >>Mi archivo setup.py es el siguiente tal y como me has indicado en el >>anterior mensaje: >> >>from distutils.core import setup >>import py2exe >> >>setup(console=["cliente.py"], >> options = {"py2exe": {"packages": >> >> >["encodings","encodings.*"]}}, > > >>) >> >>Utilizo python 2.2 y py2exe 0.4.1 puede ser por eso el fallo? >> >>Pedro Javier Aljaro Velasco >> >> >>-----Mensaje original----- >>De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] >>En nombre de Marcos Sánchez Provencio >>Enviado el: martes, 06 de abril de 2004 13:15 >>Para: La lista de python en castellano >>Asunto: Re: [Python-es] SOAP y py2exe >> >>Google es tu amigo >>http://www.google.es/search?q=py2exe+encodings >> >>La primera url: >>http://starship.python.net/crew/theller/moin.cgi/EncodingsAgain >> >>Ejemplo de setup.py >>from distutils.core import setup >>import py2exe >> >>setup(console=["MyScript.py"], >> options = {"py2exe": {"packages": >> >> >["encodings","encodings.*"]}}, > > >>) >> >>O, en lugar del *, sólo utf8 si sólo vas a usar utf8. >> >> >> >>Pedro Javier Aljaro Velasco escribió: >> >> >> >>>Hola a todos, estoy haciendo un ejemplo de servicio web en python >>>utilizando SOAP. Utilizo Windows XP, python-2.2, SOAPpy-0.11.3 y >>>py2exe-0.4.1. Mi servicio web esta dividido en dos partes: un script >>>cliente y otro script servidor, cuyo código os detallo a continuación: >>> >>>- Fichero script.py (servidor): >>> >>>def bienvenida(arg): >>> return "Hola " + arg + " acabas de acceder al servicio web de >>>i02alvep" >>> >>>def fibrec(n): >>> "Escribe n números de Fibonacci." >>> if (n < 2): >>> return n >>> else: >>> return fibrec(n-1) + fibrec(n-2) >>> >>>def temperatura(): >>> from SOAPpy import SOAPProxy >>> >>> >>> >>> >> >> >s=SOAPProxy("http://services.xmethods.net/soap/servlet/rpcrouter",names p > > >>>ace="urn:xmethods-Temperature") >>> temF=s.getTemp('92612') >>> resultado=(temF-32)/1.8 >>> return resultado >>> >>>server = SOAPServer(('i02alvep.2mydns.net', 8008)) >>>server.registerFunction(bienvenida) >>>server.registerFunction(fibrec) >>>server.registerFunction(temperatura) >>>server.serve_forever() >>> >>>- Fichero cliente.py (cliente): >>> >>> >>> >>>from SOAPpy import SOAPProxy >> >> >>>s=SOAPProxy("http://i02alvep.2mydns.net:8008") >>> >>>nombre=str(raw_input("Introduce tu nombre... ")) >>>print " " >>>print s.bienvenida(nombre) >>>print " " >>>numero=int(raw_input("Introduce un numero para calcular la serie de >>>Fibonacci... ")) >>>print " " >>>print "Resultado: " >>>print s.fibrec(numero) >>>print " " >>>print "EJEMPLO DE SERVICIO WEB: Temperatura de California" >>>print s.temperatura() >>> >>> >>>Todo esto funciona correctamente ejecutandolo en scripts. Pues bien, >>> >>> >>lo >> >> >> >>>que yo quiero hacer es convertir el script cliente.py a un >>> >>> >>archivo.exe, >> >> >> >>>en vez de ejecutar el script poniendo “python cliente.py”. Para >>>convertir este archivo a .exe estoy utilizando py2exe de la misma >>> >>> >>forma >> >> >> >>>que ya habeis indicado otras veces en esta lista, pero después de >>> >>> >>poner >> >> >> >>>“python setup.py py2exe”, me voy al directorio dist y ejecuto >>>cliente.exe y me da el siguiente fallo: >>> >>>Traceback (most recent call last): >>> File "", line 2, in ? >>> File "SOAPpy\Client.pyc", line 273, in __init__ >>>LookupError: unknown encoding: UTF-8 >>> >>>He probado con ejemplos mas sencillos como el hola mundo y me ha >>>funcionado correctamente. Espero que me podais ayudar. >>> >>>Saludos a la lista y gracias de antemano >>> >>> >>> >>>Pedro Javier Aljaro Velasco >>> >>> >>> > > > > From lcatalin en siadv.com Mon Apr 12 18:01:01 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 12 Apr 2004 18:01:01 +0200 Subject: [OffTopic] La clase Money References: Message-ID: <001b01c420a7$5a0c9da0$c800a8c0@catalin> Oye Facundo, Por que no hay nada en esta dirección: https://sourceforge.net/projects/sigefi/ Me interesaría mucho ver algo asi. Un saludo, Catalin www.siadv.com From FBatista en uniFON.com.ar Mon Apr 12 20:00:32 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Mon, 12 Apr 2004 15:00:32 -0300 Subject: Reunion de python en Buenos Aires Message-ID: Para mi lo mejor es un día de semana, tipo 7 de la tarde, en un bar más o menos céntrico. ¿Quién se anota? Slds. Facundo Batista Desarrollo de Red fbatista en unifon.com.ar (54 11) 5130-4643 Cel: 15 5132 0132 #- -----Mensaje original----- #- De: Octavio Bruzzone [mailto:okktawio en yahoo.com.ar] #- Enviado el: Lunes 5 de Abril de 2004 5:37 PM #- Para: python-es en aditel.org #- Asunto: [Python-es] Reunion de python en Buenos Aires #- #- #- Hola, yo tambien me encuentro en Buenos Aires, y quisiera #- verle la cara a #- algun otro usuario de python. Seria bueno establecer alguna #- fecha tentativa, #- para ir comenzando por algo. #- #- -- #- ¡Huid pronto!, desdichado será quien sea encontrado en este #- lugar cuando #- lleguen ellos. #- _______________________________________________ #- Python-es mailing list #- Python-es en aditel.org #- http://listas.aditel.org/listinfo/python-es #- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. From FBatista en uniFON.com.ar Mon Apr 12 20:19:17 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Mon, 12 Apr 2004 15:19:17 -0300 Subject: [OffTopic] La clase Money Message-ID: [Catalin Lungu] #- Oye Facundo, #- Por que no hay nada en esta dirección: #- https://sourceforge.net/projects/sigefi/ #- Me interesaría mucho ver algo asi. Porque estamos en estado pre-alpha: http://cvs.sourceforge.net/viewcvs.py/sigefi/docs/roadmap.txt En el dir http://cvs.sourceforge.net/viewcvs.py/sigefi/ están todos los archivos hasta ahora. La documentación está un poquito desactualizada, especialmente los diagramas UML. Nos falta poco para terminar los casos de prueba, cuando los terminemos podremos actualizar esa doc y terminar el código que hará el trabajo. Como puedes ver, estamos implementando casi al pie de la letra las técnicas de XP, :), o lo que podemos al menos. Con respecto al proyecto en SourceForge, supongo que cuando publiquemos la versión 0.1, armaremos la lista de correo, página web, etcétera. Igualmente avisaré aquí cuando ello suceda. Saludos. Facundo Batista Desarrollo de Red fbatista en unifon.com.ar (54 11) 5130-4643 Cel: 15 5132 0132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. From erny en sicem.biz Mon Apr 12 21:00:25 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 12 Apr 2004 21:00:25 +0200 Subject: Dia Python en la iParty de Aditel References: <1081382728.4114.10.camel@pezon> <1081561757.4077529ddbbb2@ch3m4.org> Message-ID: <000301c420c0$6e1a6610$0100a8c0@servidor> Hola, como yo no podré asistir, hay manera de transcribir las cosas más importantes vía IRC? Todavía me siento culpable de algunas partes de las controversias del tema de python. Por supuesto, pondré a disposición los nombres de dominios en uso actualmente (básicamente hispapython.org). en todo caso, al menos me gustaría escuchar alguna parte del debate. Saludos cordiales, Erny ----- Original Message ----- From: "Chema Cortés" To: "La lista de python en castellano" Cc: Sent: Saturday, April 10, 2004 3:49 AM Subject: Re: [Python-es] Dia Python en la iParty de Aditel > Mensaje citado por Daniel Ripolles : > > > Bueno, creo que ya se dijo en la lista, pero os recuerdo a todos que en > > la iParty vamos a tener un día Python bastante interesante en el que se > > va a hablar de Zope y Pythoncard. Si fueramos unos cuantos estaría muy > > bien tener algún tipo de mesa redonda/intercambio de opiniones, o simple > > y llanamente vernos las caras, que también tiene su gracia :D > > ¿Os parece bien preparar un guión de temas a tratar en el foro? > > En el foro python de la Hispalinux de hace dos años se trataron muchos temas, > pero hubo uno que todavía está pendiente y es el de organizar una web hispana > sobre python. Ha habido algunos intentos en este sentido; pero quizás podíamos > aprovechar estas reuniones para resolver diferencias y, de una vez por todas, > conseguir una web que unifique los esfuerzos realizados para la difunsión de > nuestro lenguaje preferido (y nuestro "zope") dentro del panorama hispano de la > programación informática. > > Seguramente haya temas que os gustaría que se discutieran en este foro, aunque > no podáis acercaros a este evento. Posiblemente se pudiera crear "grupos de > interés" similares a los SIGs de python.org. ¿Qué os parece? ¿Empezamos > teniendo un CMF ó un simple wiki y seguimos a partir de ahí? > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ripolles en aditel.org Mon Apr 12 20:56:43 2004 From: ripolles en aditel.org (Daniel Ripolles) Date: Mon, 12 Apr 2004 20:56:43 +0200 Subject: Dia Python en la iParty de Aditel In-Reply-To: <000301c420c0$6e1a6610$0100a8c0@servidor> References: <1081382728.4114.10.camel@pezon> <1081561757.4077529ddbbb2@ch3m4.org> <000301c420c0$6e1a6610$0100a8c0@servidor> Message-ID: <1081796203.1101.1.camel@pezon> El lun, 12-04-2004 a las 21:00, Ernesto Revilla escribió: > Hola, > > como yo no podré asistir, hay manera de transcribir las cosas más importantes vía IRC? > > Todavía me siento culpable de algunas partes de las controversias del tema de python. Por supuesto, pondré a disposición los nombres de dominios en uso actualmente (básicamente hispapython.org). en todo caso, al menos me gustaría escuchar alguna parte del debate. > > Saludos cordiales, > Erny No puedo prometer nada (más que nada porque no es un tema que me corresponda llevar a mí), pero haré llegar la propuesta y veré que es factible hacer... -- Daniel Ripolles ( Eru ) Push me, throw me, treat me like an object ------------ 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 Tue Apr 13 00:46:17 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Tue, 13 Apr 2004 00:46:17 +0200 Subject: Dia Python en la iParty de Aditel In-Reply-To: <1081561757.4077529ddbbb2@ch3m4.org> References: <1081382728.4114.10.camel@pezon> <1081561757.4077529ddbbb2@ch3m4.org> Message-ID: <20040412224617.GA3509@marmota> Asunto: Re: [Python-es] Dia Python en la iParty de Aditel Fecha: vie, abr 09, 2004 at 06:49:17 -0700 Citando a Chema Cortés (ch3m4 en ch3m4.org): > Mensaje citado por Daniel Ripolles : > > > Bueno, creo que ya se dijo en la lista, pero os recuerdo a todos que en > > la iParty vamos a tener un día Python bastante interesante en el que se > > va a hablar de Zope y Pythoncard. Si fueramos unos cuantos estaría muy > > bien tener algún tipo de mesa redonda/intercambio de opiniones, o simple > > y llanamente vernos las caras, que también tiene su gracia :D > > ¿Os parece bien preparar un guión de temas a tratar en el foro? > A mí me parece muy interesante. Podría ser interesante también relanzar el who is who de Marcos de hace un par de años para ver cómo han evolucionado las cosas. > En el foro python de la Hispalinux de hace dos años se trataron muchos temas, > pero hubo uno que todavía está pendiente y es el de organizar una web hispana > sobre python. Ha habido algunos intentos en este sentido; pero quizás podíamos > aprovechar estas reuniones para resolver diferencias y, de una vez por todas, > conseguir una web que unifique los esfuerzos realizados para la difunsión de > nuestro lenguaje preferido (y nuestro "zope") dentro del panorama hispano de la > programación informática. > > Seguramente haya temas que os gustaría que se discutieran en este foro, aunque > no podáis acercaros a este evento. Posiblemente se pudiera crear "grupos de > interés" similares a los SIGs de python.org. ¿Qué os parece? ¿Empezamos > teniendo un CMF ó un simple wiki y seguimos a partir de ahí? > En el foro anterior surgieron algunas iniciativas (libro de python, recopilación de ejemplos, ...) que se fueron desvaneciendo. Lo del wiki (aunque hay un par por ahí) me parece muy bien. Los grupos yo los crearía en torno a proyectos o desarrollos concretos (gente que esté currando interfaces, o servicios web por ejemplo). Educación también puede ser un grupo interesante. -- Luis Miguel From vmlinuz386 en yahoo.com.ar Tue Apr 13 05:56:32 2004 From: vmlinuz386 en yahoo.com.ar (Gerardo Exequiel Pozzi) Date: Tue, 13 Apr 2004 00:56:32 -0300 Subject: Reunion de python en Buenos Aires In-Reply-To: References: Message-ID: <20040413005632.2433bbc5.vmlinuz386@yahoo.com.ar> On Mon, 12 Apr 2004 15:00:32 -0300, Batista, Facundo wrote: >Para mi lo mejor es un día de semana, tipo 7 de la tarde, en un bar más o >menos céntrico. > 19:00 es demasiado temprano, hora de salida del laburo. (a menos que sea un domingo) Si el centro o en Belgrano, hasta ahora los de irc de vmlinuz hicimos las reuniones ahi, De todas formas pego el aviso por el foro python en http://www.pcmasmas.com.ar, y que algunos de ahi estamos en esta lista. >¿Quién se anota? > Yo >Slds. > chau, djgera -- Gerardo Exequiel Pozzi ( djgera ) http://www.vmlinuz.com.ar http://www.djgera.com.ar KeyID: 0x1B8C330D Key fingerprint = 0CAA D5D4 CD85 4434 A219 76ED 39AB 221B 1B8C 330D From darvinavelar en yahoo.com Tue Apr 13 09:04:41 2004 From: darvinavelar en yahoo.com (=?iso-8859-1?q?Darvin=20Avelar?=) Date: Tue, 13 Apr 2004 02:04:41 -0500 (CDT) Subject: ayuda compilando en Glade 2.0 In-Reply-To: <20040413005632.2433bbc5.vmlinuz386@yahoo.com.ar> References: <20040413005632.2433bbc5.vmlinuz386@yahoo.com.ar> Message-ID: <20040413070441.39331.qmail@web21007.mail.yahoo.com> Tengo un problema al compilar programas con glade 2.0, en Suse 9.0 se cual sea el programa me da el siguiente mesaje de error, agradeceria cual cuier ayuda Gracias: guerrillero:~/Projects/project2 # ./autogen.sh **Warning**: I am going to run `configure' with no arguments. If you wish to pass any to it, please specify them on the `./autogen.sh' command line. processing . Creating ./aclocal.m4 ... Running glib-gettextize... Ignore non-fatal messages. Copying file po/Makefile.in.in Please add the files codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 from the /opt/gnome/share/aclocal directory to your autoconf macro directory or directly to your aclocal.m4 file. You will also need config.guess and config.sub, which you can get from ftp://ftp.gnu.org/pub/gnu/config/. Making ./aclocal.m4 writable ... Running aclocal ... Running autoheader... WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' WARNING: and `config.h.top', to define templates for `config.h.in' WARNING: is deprecated and discouraged. WARNING: Using the third argument of `AC_DEFINE' and WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without WARNING: `acconfig.h': WARNING: AC_DEFINE([NEED_MAIN], 1, WARNING: [Define if a function `main' is needed.]) WARNING: More sophisticated templates can also be produced, see the WARNING: documentation. Running automake --gnu ... Running autoconf ... Running ./configure --enable-maintainer-mode ... checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... yes checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking dependency style of gcc... gcc3 checking for strerror in -lcposix... no checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ANSI C... (cached) none needed checking dependency style of gcc... (cached) gcc3 checking for gcc option to accept ANSI C... none needed checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for ANSI C header files... yes ./configure: line 4068: syntax error near unexpected token `PACKAGE,' ./configure: line 4068: `PKG_CHECK_MODULES(PACKAGE, $pkg_modules)' guerrillero:~/Projects/project2 # --------------------------------- Do You Yahoo!? Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo. Visíta Yahoo! Noticias. From gema_alf en yahoo.es Tue Apr 13 11:52:51 2004 From: gema_alf en yahoo.es (=?iso-8859-1?q?Gema=20N=FA=F1ez=20Bl=E1zquez?=) Date: Tue, 13 Apr 2004 11:52:51 +0200 (CEST) Subject: Obtener fecha en formato CET Message-ID: <20040413095251.13960.qmail@web60202.mail.yahoo.com> Hola a todos, tengo una duda bastante urgente: Estoy trabajando en una maquina linux con python 2.2.2, la maquina linux esta en GMT y yo necesito a partir de una fecha dada obtener la fecha local en formato CET (o sea local española) He probado a poner dentro del codigo os.system('export TZ=CET') pero no me hace caso, si lo hago antes de llamar al python si pero es que necesito hacerlo dentro del programa python. Tambien he probado a asignar a la variable LC_TIME de locale el valor es_MX pero tampoco me hace caso ¿Como lo puedo solucionar? Muchas gracias --------------------------------- Correo Yahoo!: 6MB, más protección contra el spam ¡gratis! From gema_alf en yahoo.es Tue Apr 13 13:05:24 2004 From: gema_alf en yahoo.es (=?iso-8859-1?q?Gema=20N=FA=F1ez=20Bl=E1zquez?=) Date: Tue, 13 Apr 2004 13:05:24 +0200 (CEST) Subject: con locale? Message-ID: <20040413110524.87775.qmail@web60201.mail.yahoo.com> ya he mirado y lo unico que puedo cambiar con locale sobre la fecha es relativo a la representacion con strftime. He estado buscando y se que en la version 2.3 de python hay dos modulos nuevos: datetime y PosixTimeZone que te permite jugar con la zona horaria, pero no puedo cambiar de version y necesito hacerlo con la 2.2.2 De todas formas muchas gracias y si sabeis otra alternativa soy toda oidos. Jose Vte Cererezo Gorrea wrote: a mi me ocurre igual pero con el formato de la moneda usando locale lo arregle me imagino que para la fecha valdria igual. import locale locale.setlocale(locale.LC_ALL,("")) locale_info=locale.localeconv() print locale_info['currency_symbol'] print locale.format('%05.2f', 1000.1065, True) solo tendra que colocar lo de fecha en vez de importes.(mira en el man del locale del py) Suerte José Vte. --------------------------------- Correo Yahoo!: 6MB, más protección contra el spam ¡gratis! From py en ch3m4.org Tue Apr 13 13:22:03 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 13 Apr 2004 13:22:03 +0200 Subject: Obtener fecha en formato CET In-Reply-To: <20040413095251.13960.qmail@web60202.mail.yahoo.com> References: <20040413095251.13960.qmail@web60202.mail.yahoo.com> Message-ID: <407BCD5B.4080406@ch3m4.org> Gema Núñez Blázquez escribió: > ¿Como lo puedo solucionar? Hasta la versión 2.3 (e incluso después) estos problemas los resolvíamos con el módulo mxDateTime: http://www.egenix.com/files/python/mxDateTime.html From gema_alf en yahoo.es Tue Apr 13 14:01:30 2004 From: gema_alf en yahoo.es (=?iso-8859-1?q?Gema=20N=FA=F1ez=20Bl=E1zquez?=) Date: Tue, 13 Apr 2004 14:01:30 +0200 (CEST) Subject: Obtener fecha en formato CET In-Reply-To: <407BCD5B.4080406@ch3m4.org> References: <407BCD5B.4080406@ch3m4.org> Message-ID: <20040413120130.33794.qmail@web60203.mail.yahoo.com> Muchas gracias, al final lo he resuelto de la siguiente forma: s1,s2=os.popen2('export TZ=CET; date +%z') zonaHoraria=int(s2.readline()[:-1][2])*60*60 #esto me da +0h00 donde h es la diferencia en horas entre UTC y CET s2.close() ahora a la hora gmt le sumo los segundos calculados. Un saludo y espero que esto le sirva a alguien Chema Cortes wrote: Gema Núñez Blázquez escribió: > ¿Como lo puedo solucionar? Hasta la versión 2.3 (e incluso después) estos problemas los resolvíamos con el módulo mxDateTime: http://www.egenix.com/files/python/mxDateTime.html _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es --------------------------------- Correo Yahoo!: 6MB, más protección contra el spam ¡gratis! From py en ch3m4.org Tue Apr 13 15:02:16 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 13 Apr 2004 15:02:16 +0200 Subject: Obtener fecha en formato CET In-Reply-To: <20040413120130.33794.qmail@web60203.mail.yahoo.com> References: <20040413120130.33794.qmail@web60203.mail.yahoo.com> Message-ID: <407BE4D8.6010302@ch3m4.org> Gema Núñez Blázquez escribió: > Muchas gracias, al final lo he resuelto de la siguiente forma: > s1,s2=os.popen2('export TZ=CET; date +%z') > zonaHoraria=int(s2.readline()[:-1][2])*60*60 #esto me da +0h00 donde h es la diferencia en horas entre UTC y CET > s2.close() > ahora a la hora gmt le sumo los segundos calculados. En python 2.3 se introdujo time.tzset() para resolver este problema. Se haría así: os.environ['TZ']="CET" time.tzset() time.localtime(secs) From pylorca en yahoo.com.ar Tue Apr 13 17:27:21 2004 From: pylorca en yahoo.com.ar (lorca) Date: Tue, 13 Apr 2004 12:27:21 -0300 Subject: Reunion de python en Buenos Aires In-Reply-To: <20040413005632.2433bbc5.vmlinuz386@yahoo.com.ar> References: <20040413005632.2433bbc5.vmlinuz386@yahoo.com.ar> Message-ID: <20040413122721.3ab8b5d1@localhost> Dale yo me prendo, seguramente... -- l o r c a Homepage: http://lorca.homelinux.com plasma: http://lorca.homelinux.com/plasma ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From raro82 en hotmail.com Wed Apr 14 09:04:57 2004 From: raro82 en hotmail.com (Adrian Ferreres Esteller) Date: Wed, 14 Apr 2004 07:04:57 +0000 Subject: Problemas al conectar con la base de datos postgresql Message-ID: Hola a toda la lista: Estoy realizando pruebas de conexion a una base de datos postgresql mediante python utilizando las librerias de pg. El caso es que al intentar conectarme al servidor de la base de datos me da el siguiente error: _pg.error: FATAL: No pg_hba.conf entry for host 81.203.6.58, user al020472, database prueba Mi pregunta es: ¿El error es culpa mia porque no he pasado bien los parametros al _pg.connect o es que el servidor de la base de datos no me deja conectarme desde mi ordenador? Muchas Gracias _________________________________________________________________ Dale rienda suelta a tu tiempo libre. Encuentra mil ideas para exprimir tu ocio con MSN Entretenimiento. http://entretenimiento.msn.es/ From pan_python en yahoo.com.ar Wed Apr 14 10:01:08 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Wed, 14 Apr 2004 05:01:08 -0300 Subject: Problemas al conectar con la base de datos postgresql In-Reply-To: References: Message-ID: <407CEFC4.9000600@yahoo.com.ar> Mmm suena mas a que sea un problema de no dejarte acceder desde donde estas al servidor postgrest A mi me pasaba lo mismo y librere el acceso para cualquier ip, claro esta, dentro del rango de las ip que uso en mi red interna :) Para mi puede que el problema venga por ahi......... Ariel Adrian Ferreres Esteller escribió: > Hola a toda la lista: > Estoy realizando pruebas de conexion a una base de datos > postgresql mediante python utilizando las librerias de pg. El caso es > que al intentar conectarme al servidor de la base de datos me da el > siguiente error: > _pg.error: FATAL: No pg_hba.conf entry for host > 81.203.6.58, user al020472, database prueba > > Mi pregunta es: ¿El error es culpa mia porque no he pasado bien los > parametros al _pg.connect o es que el servidor de la base de datos no > me deja conectarme desde mi ordenador? > > Muchas Gracias > > _________________________________________________________________ > Dale rienda suelta a tu tiempo libre. Encuentra mil ideas para > exprimir tu ocio con MSN Entretenimiento. http://entretenimiento.msn.es/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rlezcano en mca.gov.py Wed Apr 14 15:51:04 2004 From: rlezcano en mca.gov.py (Roberto Lezcano) Date: Wed, 14 Apr 2004 09:51:04 -0400 Subject: Problemas al conectar con la base de datos postgresql References: Message-ID: <002f01c42227$92d29640$1a05058c@underworld> Definitivamente el problema es que tu IP no puede conectar a la DB POSTGRESQL VERSION Antes que nada debes verificar si en el archivo de Configuración /var/lib/pgsql/data/postgresql.conf tienes la sección "Connection Parameters" item "tcpip_socket" debe estar en verdadero, esto le permite a tu servidor admitir conexiones entrantes. # # Connection Parameters # tcpip_socket = true #ssl = false Ahora tienes que decirle a tu servidor que máquinas pueden conectarse Deberías verificar el archivo de configuraciones /var/lib/pgsql/data/pg_hba.conf, este debe permitir conexiones entrantes y permitir un rango de direcciones IP. # This file controls: which hosts are allowed to connect, how clients # are authenticated, which PostgreSQL user names they can use, which # databases they can access. Records take one of three forms: # # local DATABASE USER METHOD [OPTION] # host DATABASE USER IP-ADDRESS IP-MASK METHOD [OPTION] # hostssl DATABASE USER IP-ADDRESS IP-MASK METHOD [OPTION] # Un ejemplo de mi configuración local all all ident sameuser host produccion all 140.5.5.26 255.255.255.255 trust host produccion all 126.10.10.153 255.255.255.255 password En la documentación puedes encontrar algo más, pero con esto debería ser suficiente. Si tienes otra versión de la DB no debería ser muy distinta la solución. Espero te ayude en algo :-) Saludos a todos. ----- Original Message ----- From: "Adrian Ferreres Esteller" To: Sent: Wednesday, April 14, 2004 3:04 AM Subject: [Python-es] Problemas al conectar con la base de datos postgresql > Hola a toda la lista: > Estoy realizando pruebas de conexion a una base de datos postgresql > mediante python utilizando las librerias de pg. El caso es que al intentar > conectarme al servidor de la base de datos me da el siguiente error: > _pg.error: FATAL: No pg_hba.conf entry for host 81.203.6.58, > user al020472, database prueba > > Mi pregunta es: ¿El error es culpa mia porque no he pasado bien los > parametros al _pg.connect o es que el servidor de la base de datos no me > deja conectarme desde mi ordenador? > > Muchas Gracias > > _________________________________________________________________ > Dale rienda suelta a tu tiempo libre. Encuentra mil ideas para exprimir tu > ocio con MSN Entretenimiento. http://entretenimiento.msn.es/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From i02alvep en uco.es Wed Apr 14 15:19:52 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Wed, 14 Apr 2004 15:19:52 +0200 Subject: Registrar un objeto de una clase con SOAPpy Message-ID: <000001c42223$2c3de4b0$0100a8c0@SEVIPC> Hola a todos, estoy intentando hacer otro ejemplo de servicio web con SOAPpy, utilizo la versión 2.2 de python y la versión 0.11.3 de SOAPpy. En este ejemplo lo que intento hacer es registrar un objeto de una clase en un objeto serversoap en vez de registrar una funcion, pero cuando en la parte del cliente intento llamar al objeto o utilizar algun metodo de la clase representada por el objeto me da fallo. Aquí a continuación os pongo los dos archivos servidor y cliente: Servidor.py from SOAPpy import SOAPServer class Temperatura: def __init__(self, temp=0): self.temp=temp def __str__ (self): return "La temperatura es de " + str(self.temp) + " grados C" def setTemp (self, newTemp): self.temp=newTemp def imprimir (self): print "La temperatura es de " + str(self.temp) + " grados C" server=SOAPServer(('i02alvep.2mydns.net', 8008)) tem=Temperatura() server.registerObject(tem) server.serve_forever() Cliente.py >From SOAPpy import SOAPProxy s=SOAPProxy(http://i02alvep.2mydns.net:8008 ) s.tem.setTemp(22) print s.tem Cuando ejecuto este script cliente me da el siguiente fallo: Traceback (most recent call last): File "cliente.py", line 5, in ? s.tem.setTemp(22) File "C:\PROGRAMAS PROYECTO\Python22\lib\site-packages\SOAPpy\Client.py", line 421, in __call__ return self.__r_call(*args, **kw) File "C:\PROGRAMAS PROYECTO\Python22\lib\site-packages\SOAPpy\Client.py", line 443, in __r_call self.__hd, self.__ma) File "C:\PROGRAMAS PROYECTO\Python22\lib\site-packages\SOAPpy\Client.py", line 357, in __call raise p SOAPpy.Types.faultType: ons.SAXReaderNotAvailable: No parsers found El problema reside en como llamar desde el lado servidor a los metodos de la clase Temperatura representada por el objeto tem Yo lo intento poniendo s.tem.setTemp(22) por ejemplo pero me da fallo, o ¿Cómo se puede mostrar el valor del objeto tem que por defecto vale 0? Espero vuestra ayuda y gracias de antemano. Saludos a todos. Pedro Javier Aljaro Velasco From erny en sicem.biz Wed Apr 14 20:48:41 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 14 Apr 2004 20:48:41 +0200 Subject: Registrar un objeto de una clase con SOAPpy In-Reply-To: <000001c42223$2c3de4b0$0100a8c0@SEVIPC> References: <000001c42223$2c3de4b0$0100a8c0@SEVIPC> Message-ID: <407D8789.7010509@sicem.biz> Hola, has probado con s.setTemp(22) ? creo acordarme, que el objeto no se menciona en la llamada, es implícito. Si se registran tanto objetos como funciones, creo que las funciones tienen preferencias. Para devolver el valor al cliente, lo tendrás que hacer con return, es decir: def getTemp(self): return self.temp en el cliente puedes hacer lo que quieras con el valor (imprimir o lo que sea). En todo caso, de nuevo te hago referencia al documento y las transparencias que escribí sobre esto para HispaLinix 2003 que lo encontrarás en http://www.sicem.biz/personas/erny/python Saludos, Erny Pedro Javier Aljaro Velasco escribió: >Hola a todos, estoy intentando hacer otro ejemplo de servicio web con >SOAPpy, utilizo la versión 2.2 de python y la versión 0.11.3 de SOAPpy. >En este ejemplo lo que intento hacer es registrar un objeto de una clase >en un objeto serversoap en vez de registrar una funcion, pero cuando en >la parte del cliente intento llamar al objeto o utilizar algun metodo de >la clase representada por el objeto me da fallo. Aquí a continuación os >pongo los dos archivos servidor y cliente: > >Servidor.py > >from SOAPpy import SOAPServer > >class Temperatura: > > def __init__(self, temp=0): > self.temp=temp > > def __str__ (self): > return "La temperatura es de " + str(self.temp) + " grados C" > > def setTemp (self, newTemp): > self.temp=newTemp > > def imprimir (self): > print "La temperatura es de " + str(self.temp) + " grados C" > >server=SOAPServer(('i02alvep.2mydns.net', 8008)) >tem=Temperatura() >server.registerObject(tem) >server.serve_forever() > > >Cliente.py > >>From SOAPpy import SOAPProxy > >s=SOAPProxy(http://i02alvep.2mydns.net:8008 > ) > >s.tem.setTemp(22) >print s.tem > > >Cuando ejecuto este script cliente me da el siguiente fallo: > >exceptions.AttributeError T >emperatura instance has no attribute 'tem'> >Traceback (most recent call last): > File "cliente.py", line 5, in ? > s.tem.setTemp(22) > File "C:\PROGRAMAS >PROYECTO\Python22\lib\site-packages\SOAPpy\Client.py", line > 421, in __call__ > return self.__r_call(*args, **kw) > File "C:\PROGRAMAS >PROYECTO\Python22\lib\site-packages\SOAPpy\Client.py", line > 443, in __r_call > self.__hd, self.__ma) > File "C:\PROGRAMAS >PROYECTO\Python22\lib\site-packages\SOAPpy\Client.py", line > 357, in __call > raise p >SOAPpy.Types.faultType: found: exc >eptions.AttributeError Temperatura instance has no attribute >'tem'>ons.SAXReaderNotAvailable: No parsers found > >El problema reside en como llamar desde el lado servidor a los metodos >de la clase Temperatura representada por el objeto tem > >Yo lo intento poniendo s.tem.setTemp(22) por ejemplo pero me da fallo, o >¿Cómo se puede mostrar el valor del objeto tem que por defecto vale 0? > >Espero vuestra ayuda y gracias de antemano. > >Saludos a todos. > > >Pedro Javier Aljaro Velasco > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From drg_alvaro en yahoo.com Thu Apr 15 04:47:42 2004 From: drg_alvaro en yahoo.com (=?iso-8859-1?q?Alvaro=20Abraham=20Colunga=20Rodriguez?=) Date: Wed, 14 Apr 2004 21:47:42 -0500 (CDT) Subject: Problemas al conectar con la base de datos postgresql In-Reply-To: References: Message-ID: <20040415024742.44843.qmail@web10301.mail.yahoo.com> Debes de editar el archivo pg_hba.conf para que acepte configuraciones desde tu host, checa la documentacion ahi viene los diferentes modos de configurar, y tal vez tengas que esditar tambien el postgresql.sql saludos --- Adrian Ferreres Esteller escribió: > Hola a toda la lista: > Estoy realizando pruebas de conexion a una > base de datos postgresql > mediante python utilizando las librerias de pg. El > caso es que al intentar > conectarme al servidor de la base de datos me da el > siguiente error: > _pg.error: FATAL: No pg_hba.conf entry > for host 81.203.6.58, > user al020472, database prueba > > Mi pregunta es: ¿El error es culpa mia porque no he > pasado bien los > parametros al _pg.connect o es que el servidor de la > base de datos no me > deja conectarme desde mi ordenador? > > Muchas Gracias > > _________________________________________________________________ > Dale rienda suelta a tu tiempo libre. Encuentra mil > ideas para exprimir tu > ocio con MSN Entretenimiento. > http://entretenimiento.msn.es/ > > _______________________________________________ > 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 drg_alvaro en yahoo.com Thu Apr 15 06:21:47 2004 From: drg_alvaro en yahoo.com (=?iso-8859-1?q?Alvaro=20Abraham=20Colunga=20Rodriguez?=) Date: Wed, 14 Apr 2004 23:21:47 -0500 (CDT) Subject: impresion windows linux Message-ID: <20040415042147.91926.qmail@web10307.mail.yahoo.com> Saludos, estoy desarrollando una aplicacion de escritorio y ando buscando como imprimir reportes desde python en windows y linux ya que sera una aplicacion de plataforma cruzada, ya habia visto la libreria reportlab pero por el momento no creo que sea conveniente usarla ya que las computadoras en las que correra esta aplicacion no son tan potentes y a veces tarda mucho en abrir los pdfs para imprimirlos. Alguien sabe hacerlo de otra manera, aunque por el momento me conformaria con que lo hiciera desde windows. Gracias. _________________________________________________________ Do You Yahoo!? Información de Estados Unidos y América Latina, en Yahoo! Noticias. Visítanos en http://noticias.espanol.yahoo.com From py en ch3m4.org Thu Apr 15 10:46:04 2004 From: py en ch3m4.org (Chema Cortes) Date: Thu, 15 Apr 2004 10:46:04 +0200 Subject: impresion windows linux In-Reply-To: <20040415042147.91926.qmail@web10307.mail.yahoo.com> References: <20040415042147.91926.qmail@web10307.mail.yahoo.com> Message-ID: <407E4BCC.40002@ch3m4.org> Alvaro Abraham Colunga Rodriguez escribió: > Saludos, estoy desarrollando una aplicacion de > escritorio y ando buscando como imprimir reportes > desde python en windows y linux ya que sera una > aplicacion de plataforma cruzada, Ésta es una pregunta que se suele repetir mucho, pero para la que todavía no hay una solución del agrado de todos. No hay una especie de Crystal Report para python. Elige tu solución de entre éstas: - ReportLab - wxPython.html.wxHtmlEasyPrinting - win32print Cada cuál tiene sus ventajas e incovenientes. El wxHtmlEasyPrinting sería multiplataforma, pero limitado a html. Si busca algo sólo para windows, mírate el último módulo. Una idea que estoy probando es generar los informes en LaTeX, pero todavía no he tenido tiempo para sacar resultados. From lgs en sicem.biz Thu Apr 15 09:33:14 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Thu, 15 Apr 2004 09:33:14 +0200 Subject: impresion windows linux In-Reply-To: <407E4BCC.40002@ch3m4.org> References: <20040415042147.91926.qmail@web10307.mail.yahoo.com> <407E4BCC.40002@ch3m4.org> Message-ID: <1082014394.1895.5.camel@localhost.localdomain> > Una idea que estoy probando es generar los informes en LaTeX, pero > todavía no he tenido tiempo para sacar resultados. > Yo estoy intentando usar Cheetah + XSL (XSLT + FO) de tal forma que desde mi programa genero los XML usando Cheetah. Despues los transformo usando XSLT para obtener diversas salidas (txt, html, fo) y el ultimo paso seria convertir el FO a PDF. Aqui es donde me atranco porque no conozco ningun procesador de FO en Python. En el proyecto Apache esta el fop, pero esta escrito en Java. Alguien conoce alguna solucion para Python? Gracias Lorenzo From se05216 en salleURL.edu Thu Apr 15 12:55:13 2004 From: se05216 en salleURL.edu (se05216) Date: Thu, 15 Apr 2004 12:55:13 +0200 (CEST) Subject: JReports In-Reply-To: <407E4BCC.40002@ch3m4.org> References: <20040415042147.91926.qmail@web10307.mail.yahoo.com> <407E4BCC.40002@ch3m4.org> Message-ID: Hola a todos... Alguien conoce o ha trabajado con JReports? Opiniones? Gracias! ------------ 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 Thu Apr 15 13:52:50 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Thu, 15 Apr 2004 13:52:50 +0200 Subject: impresion windows linux In-Reply-To: <1082014394.1895.5.camel@localhost.localdomain> References: <20040415042147.91926.qmail@web10307.mail.yahoo.com> <407E4BCC.40002@ch3m4.org> <1082014394.1895.5.camel@localhost.localdomain> Message-ID: <20040415115250.GA1129@marmota> Asunto: Re: [Python-es] impresion windows linux Fecha: jue, abr 15, 2004 at 09:33:14 +0200 Citando a Lorenzo Gil Sanchez (lgs en sicem.biz): > > Una idea que estoy probando es generar los informes en LaTeX, pero > > todavía no he tenido tiempo para sacar resultados. > > > Yo estoy intentando usar Cheetah + XSL (XSLT + FO) de tal forma que > desde mi programa genero los XML usando Cheetah. Despues los transformo > usando XSLT para obtener diversas salidas (txt, html, fo) y el ultimo > paso seria convertir el FO a PDF. Aqui es donde me atranco porque no > conozco ningun procesador de FO en Python. En el proyecto Apache esta el > fop, pero esta escrito en Java. Alguien conoce alguna solucion para > Python? > Yo tengo una interfaz hecha con python, pero el procesador FO que utilizo es el que tú comentas (fop) Puedes verlo en http://tldp.docbook-es.org. Procesadores fo sólo conozco fop y passiveTex. Interfaz directa con python no conozco ninguno (yo tengo que hacer una llamada al sistema) A lo mejor es más fácil con passivetex (o con Latex como dice Chema) o con Jython + fop. Doc sobre procesadores tengo esta: http://www.sagehill.net/docbookxsl/InstallingAnFO.html Un sistema para generar pdf's con python (4suite) + fop lo tienes aquí http://uche.ogbuji.net/tech/akara/nodes/2003-01-01/pdf -- lm From slezica en fibertel.com.ar Thu Apr 15 18:47:34 2004 From: slezica en fibertel.com.ar (=?iso-8859-1?Q?Sebasti=E1n_Lezica?=) Date: Thu, 15 Apr 2004 13:47:34 -0300 Subject: Inconveniente usando 'global' dentro de 'exec' Message-ID: Hola gente!, Ante todo mucho gusto, mas alla de llevar ya un tiempo leyendo la lista, nunca habia escrito en ella. Estoy haciendo mis primeros pinitos en Python, y me encuentro trabado; intento hacer una aplicación sobre Python 2.3.3 que: 1. Lea dinámicamente los módulos 'aa_xxxxx' que se encuentren en su directorio al iniciarse. 2. Asigne a estos modulos, un nombre sin el 'aa_' inicial, también globalmente. 3. Mantenga una lista (PLUGINS) que contiene a)Nombre por el cual puede accederse al modulo, b)Nombre del fichero, y c)Fecha de ultima modificación del mismo. 4. Antes de ejecutar una función en uno de estos módulos, verificar si la variable 'HOT_RELOAD' es verdadera y si la fecha de ultima modificacion del fichero es diferente a la almacenada en PLUGINS; si es asi, volver a recargar el modulo modificado y actualizar la lista PLUGINS. Mi problema: Si pongo en el exec la sentencia 'global ...' al comienzo, me da un error. Si la pongo luego del 'if', me da la advertencia ':0: SyntaxWarning: name 'ibero' is used prior to global declaration' (pero funciona). Si no la pongo, por supuesto el modulo se recarga pero veo los cambios en la primera vuelta, al volver al timer se recupera el objeto 'antiguo' que era global... Bueno, agradeceré cualquier tipo de comentarios, tanto si hay una manera mas prolija o 'correcta' de hacer esto mismo, como de pistas para encontrar en que estoy equivocandome (y disculpas anticipadas si estoy preguntando una tonteria...). A continuación pongo un código que simula mi error, y fragmentos del código original. Muchas gracias!. Sebastián Lezica Codigo breve para mostrar mi fallo (el modulo aa_ibero.py que se hace referencia esta al final del email): #------------------------- import os import aa_ibero ibero = aa_ibero.asi() PLUGINS=[['ibero', 'aa_ibero.pyc', 1081997928]] for plugin in PLUGINS: #Esta linea da el error: exec('global %s; if %s.HOT_RELOAD == True and os.lstat(\'%s\')[-2] <> %d: print \'Recargando %s...\'; PLUGINS[%d][2] = os.lstat(\'%s\')[-2]; reload(aa_%s); %s = aa_%s.asi()' % (plugin[0], plugin[0], plugin[1],plugin[2], plugin[0], PLUGINS.index(plugin), plugin[1], plugin[0], plugin[0],plugin[0])) #Esta linea no tiene el global inicial y no da error: #exec('if %s.HOT_RELOAD == True and os.lstat(\'%s\')[-2] <> %d: print \'Recargando %s...\'; PLUGINS[%d][2] = os.lstat(\'%s\')[-2]; reload(aa_%s); %s = aa_%s.asi()' % (plugin[0], plugin[1],plugin[2], plugin[0], PLUGINS.index(plugin), plugin[1], plugin[0], plugin[0],plugin[0])) #------------------------- Fragmentos del codigo real (a título anecdotico): Al inicio del código hago lo siguiente: #------------------------- global PLUGINS PLUGINS = [] for file in os.listdir('.'): if file[:3] == 'aa_': #Plugin disponible; creo una variable global y lo cargo: if not (file[3:file.find('.')] in `PLUGINS`): exec('global %s' % (file[3:file.find('.')])) exec('import %s' % (file[:file.find('.')])) exec('%s = %s.asi()' % (file[3:file.find('.')], file[:file.find('.')])) PLUGINS.append([file[3:file.find('.')], file, os.lstat('./%s' % (file))[-2]]) #------------------------- En un timer (con wxPython) cada 10 segundos: #------------------------- for plugin in PLUGINS: exec('if %s.HOT_RELOAD == True and os.lstat(\'%s\')[-2] <> %d: print \'Recargando %s...\'; PLUGINS[%d][2] = os.lstat(\'%s\')[-2]; reload(aa_%s); %s = aa_%s.asi()' % (plugin[0], plugin[1],plugin[2], plugin[0], PLUGINS.index(plugin), plugin[1], plugin[0],plugin[0],plugin[0])) exec('Response = %s.%s(locals)' % (plugin[0], 'TimerEvent')) #------------------------- Un módulo se forma asi (por ejemplo llamado 'aa_ibero.py'): #------------------------- import time class asi: HOT_RELOAD = True def __init__(self): self.CONTADOR = 0 def TimerEvent(self, req_locals): self.CONTADOR += 10 print 'IBERO %d/%s' % (self.CONTADOR, time.time()) return(True) #------------------------- From niobezion en yahoo.com.mx Fri Apr 16 05:22:30 2004 From: niobezion en yahoo.com.mx (=?iso-8859-1?q?Niobe=20Zion?=) Date: Thu, 15 Apr 2004 22:22:30 -0500 (CDT) Subject: Hacer Reportes Message-ID: <20040416032230.96530.qmail@web61008.mail.yahoo.com> Hola Lista!!! Donde podre encontrar informacion para hacer reportes, estoy unsado python 2.3, postgresql 7.3 y Boa Constructor. Gracia! _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From niobezion en yahoo.com.mx Fri Apr 16 05:22:11 2004 From: niobezion en yahoo.com.mx (=?iso-8859-1?q?Niobe=20Zion?=) Date: Thu, 15 Apr 2004 22:22:11 -0500 (CDT) Subject: (sin asunto) Message-ID: <20040416032211.93360.qmail@web61002.mail.yahoo.com> Hola Lista!!! Donde podre encontrar informacion para hacer reportes, estoy unsado python 2.3, postgresql 7.3 y Boa Constructor. Gracia! _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From o.merchan en bussitel.es Fri Apr 16 08:29:41 2004 From: o.merchan en bussitel.es (Oscar Merchan) Date: Fri, 16 Apr 2004 08:29:41 +0200 Subject: Hexadecimal a Binario Message-ID: <20040416082941.3b3c8e57.o.merchan@bussitel.es> Muy buenas a todos/as. Tan solo era preguntaros si alguien sabe como convertir cadenas en hexadecimal a binarias y viceversa. Gracias, Saludos, Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gari en eibar.org Fri Apr 16 09:38:22 2004 From: gari en eibar.org (Gari Araolaza) Date: Fri, 16 Apr 2004 09:38:22 +0200 Subject: Hexadecimal a Binario In-Reply-To: <20040416082941.3b3c8e57.o.merchan@bussitel.es> References: <20040416082941.3b3c8e57.o.merchan@bussitel.es> Message-ID: <407F8D6E.4060905@eibar.org> Oscar Merchan(e)k dio: >Muy buenas a todos/as. > > >Tan solo era preguntaros si alguien sabe como convertir cadenas en hexadecimal a binarias y viceversa. > Seguro que hay algún módulo por ahí, pero para este caso concreto (hex a bin) lo más rápido y sencillo puede ser un diccionario: hxtobin = { '0':'0000', '1':'0001', '2':'0010', '3':'0011'... Gari From rapto en arrakis.es Fri Apr 16 11:58:18 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Fri, 16 Apr 2004 11:58:18 +0200 Subject: Hacer Reportes In-Reply-To: <20040416032230.96530.qmail@web61008.mail.yahoo.com> References: <20040416032230.96530.qmail@web61008.mail.yahoo.com> Message-ID: <407FAE3A.6020906@arrakis.es> Empieza mirando www.reportlab.org Niobe Zion wrote: >Hola Lista!!! > >Donde podre encontrar informacion para hacer reportes, >estoy unsado python 2.3, postgresql 7.3 y Boa >Constructor. > >Gracia! > > >_________________________________________________________ >Do You Yahoo!? >La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From acastro en ciberdroide.com Fri Apr 16 11:55:19 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 16 Apr 2004 11:55:19 +0200 (CEST) Subject: Opinion sobre los array en Python Message-ID: Esto no es más que una opinión pero me gustaría que gente que lleva más tiempo usando Python me diera su parecer. Yo tengo una larga experiencia en C pero me he enamorado de la elegancia, versatilidad y potencia del Python. Mi apuesta por Python no puede ser más firme, e irreversible, pero hay una cosa que me resulta especialmente chocante y es la no inclusión de estructuras de arrays en el propio lenguaje. Yo no cuestiono la potencia y versatilidad de uso que tienen las listas pero no entiendo que en Python no se implementen directamente estructuras de arrays que son extraordinariamente eficientes. A mi no me parece que exista un solo impedimento serio para implementar estas estructuras en el propio lenguaje. Esto no se puede solucionar mediante un modulito porque no se trata de añadir funcionalidad sino de aprovechar la facilidad que tienen los procesadores para tratar con este tipo de datos. Me he decidido a hacer una comparación de eficiencia entre dos programas que usan arrays de identicas características. Uno está programa realizado en C y otro realizado en Python recurriendo a una lista de listas. Es decir: --------------------------------------- #include #include int tabla1[1000][1000]; int y, x; main(){ printf ("Comienzo\n"); for (y=0; y<1000; y++) for (x=0; x<1000; x++) tabla1[y][x]=1; tabla1[x][y]=2; printf ("Fin\n"); } $ time ./array1 Comienzo Violación de segmento real 0m0.052s user 0m0.030s sys 0m0.000s ------------------------------------------ #! /usr/bin/python print 'Comienzo' tabla1=[] for y in range (1000): aux1=[] for x in range (1000): aux1.append(0) tabla1.append(aux1) for y in range (4): for x in range (15): tabla1[y][x]=1 tabla1[x][y]=2 print 'Fin' $ time ./array1.py Comienzo Fin real 0m2.949s user 0m2.930s sys 0m0.020s ------------------------------------------ Resumiendo. El programa C es unas 50 veces más rápido y estoy seguro de que no estoy sorprendiendo a casi nadie con ello. Yo creo que se podría incluir soporte para estructuras tipo array. Me pregunto si para no romper el enfoque dinámico de Python lo suyo sería que hubiera que instanciar el objeto tabla pasandole un elemento de muestra y una lista de tamaños un para cada dimensión del array. Para un array de 1000x1000 sería algo así: tabla1=array(elem_muestra, 1000,1000) Evidentemente esto si se puede hacer e incluso se podría mejorar la eficiencia haciendo uso de las posibilidades de combinar Python con le lenguaje C, pero si luego para obtener el elemento x,y tenemos que llamar a una función tipo val=tabla1.get(x, y) o para alterar un elemento del array tenemos igualmente que hacer tabla1.set(val, x, y) tendremos algo muy ineficiente porque en lugar de acceder directamente a un dato estamos haciendo una llamada a una funcion y metiendo y sacando datos en la pila, etc. Por eso lo suyo sería que una vez instanciado el array como antes: tabla1=array(elem_muestra, 1000,1000) el propio lenguaje permitiera acceder a una posición x, y por ejemplo mediante val=tabla1[x][y] La sintaxis en este caso puede ser igual a la de una lista o si se prefiere usar una sintaxis distinta pues estupendo pero en cualquier caso, el acceso a los elementos de un array convendría implementarlos en el propio lenguaje de una forma específica y directa. Repito. Es una opinión. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From hernan en orgmf.com.ar Fri Apr 16 16:34:48 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Fri, 16 Apr 2004 16:34:48 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: Antonio Castro escribio: > Me he decidido a hacer una comparación de eficiencia entre dos > programas que usan arrays de identicas características. Uno está > programa realizado en C y otro realizado en Python recurriendo > a una lista de listas. Es decir: tratando de no hacer hincapie en la violación de segmento de tu programa C, que lo solucionas poniendo un par de {} en el segundo for ;-), estas comparando cosas distintas. para hacer la comparación equivalente deberías considerar como *minimo* que: 1. las listas de python son de tamaño dinámico. (vuelve a codificar los dos programas permitiendo que las pruebas se hagan con distintos tamaños especificados por linea de comandos) 2. las listas de python alojan objetos de cualquier tipo. > Resumiendo. El programa C es unas 50 veces más rápido y estoy > seguro de que no estoy sorprendiendo a casi nadie con ello. a mí si. me sorprende que *solo* sea 50. ¿está bien hecha la prueba? hubiera jurado que un buen compilador C hubiera optimizado tu programa a un simple: main() { printf("Comienzo\n"); printf("End\n"); } ;-) > > Yo creo que se podría incluir soporte para estructuras tipo array. > > Me pregunto si para no romper el enfoque dinámico de Python > lo suyo sería que hubiera que instanciar el objeto tabla pasandole > un elemento de muestra y una lista de tamaños un para cada > dimensión del array. Para un array de 1000x1000 sería algo así: > > tabla1=array(elem_muestra, 1000,1000) no cambiaría mucho. la unica ventaja es prealojar 1000x1000 elementos. pero como un programa normal hace muchas mas cosas ese supuesto ahorro solo se obtiene una vez y de hecho es posible prealojar 1M de elementos en el python actual. recuerda que en C ese array se aloja en tiempo de *compilación*! además, en el estado actual del parser/compilador/interprete de python, pasarle al constructor de la lista un "elem_muestra" es irrelevante. (hoy) no hay nada que pueda hacer mejor (o mas rapido) sabiendo que todos los elementos serán de tipo int o cualquier otra cosa. optimizar python no es sencillo. hay varias alternativas en uso y en estudio. desde generar codigo C a partir de anotaciones y/o extensiones al lenguaje hasta ideas sobre compiladores JIT. -H. From jaime en iaa.es Fri Apr 16 16:59:14 2004 From: jaime en iaa.es (Jaime Perea) Date: Fri, 16 Apr 2004 16:59:14 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <200404161659.14828.jaime@iaa.es> El Viernes 16 Abril 2004 11:55, Antonio Castro escribió: > Esto no es más que una opinión pero me gustaría que gente que > lleva más tiempo usando Python me diera su parecer. > > Yo tengo una larga experiencia en C pero me he enamorado de > la elegancia, versatilidad y potencia del Python. Mi apuesta > por Python no puede ser más firme, e irreversible, pero hay > una cosa que me resulta especialmente chocante y es la no > inclusión de estructuras de arrays en el propio lenguaje. ........... from Numeric import * # o cuando esté mas preparado numarray Aparte de que es la mejor manera de realizar interfaces con arrays de C o fortran. -- Jaime D. Perea Duarte. Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. From acastro en ciberdroide.com Fri Apr 16 18:07:13 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Fri, 16 Apr 2004 18:07:13 +0200 (CEST) Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: On Fri, 16 Apr 2004, Hernan Foffani wrote: > Antonio Castro escribio: > > Me he decidido a hacer una comparación de eficiencia entre dos > > programas que usan arrays de identicas características. Uno está > > programa realizado en C y otro realizado en Python recurriendo > > a una lista de listas. Es decir: > > tratando de no hacer hincapie en la violación de segmento de tu > programa C, que lo solucionas poniendo un par de {} en el segundo > for ;-), estas comparando cosas distintas. Cierto falta las llaves. Y que hablamos de cosas distintas ya lo sé pero es muy pertinente la comparación cuando te ves por narices obligado a hacerlo todo con listas. > para hacer la comparación equivalente deberías considerar como > *minimo* que: > 1. las listas de python son de tamaño dinámico. (vuelve a > codificar los dos programas permitiendo que las pruebas se > hagan con distintos tamaños especificados por linea de comandos) > 2. las listas de python alojan objetos de cualquier tipo. Tambien lo sé, pero precisamente por eso son ineficientes cuando lo que se trata es de hacer algo muchísimo más sencillo. > > Resumiendo. El programa C es unas 50 veces más rápido y estoy > > seguro de que no estoy sorprendiendo a casi nadie con ello. > > a mí si. > me sorprende que *solo* sea 50. ¿está bien hecha la prueba? > hubiera jurado que un buen compilador C hubiera optimizado > tu programa a un simple: > main() { printf("Comienzo\n"); printf("End\n"); } > ;-) Tu fijate bien lo que estas diciendo. El código genera una serie de instrucciones porque se produce un resultado en el interiora del array (tabla1). Yo he optado por no sacar ni hacer nada con ese resultado porque es un ejemplo. Queda bastante claro que no es un programa serio pero con este ejemplo queda igualmente claro cual es el problema que planteo. Bastaría con poner un problema concreto y decirte resuelvelo de forma eficiente con Python. Si el problema se basa en el uso de arrays no podrás hacerlo eficientemente en Python. > > Yo creo que se podría incluir soporte para estructuras tipo array. > > > > Me pregunto si para no romper el enfoque dinámico de Python > > lo suyo sería que hubiera que instanciar el objeto tabla pasandole > > un elemento de muestra y una lista de tamaños un para cada > > dimensión del array. Para un array de 1000x1000 sería algo así: > > > > tabla1=array(elem_muestra, 1000,1000) > > no cambiaría mucho. la unica ventaja es prealojar 1000x1000 > elementos. pero como un programa normal hace muchas mas cosas ese > supuesto ahorro solo se obtiene una vez y de hecho es posible > prealojar 1M de elementos en el python actual. > recuerda que en C ese array se aloja en tiempo de *compilación*! Para nada de acuerdo. Ese no es el problema. El alojamiento podría hacerse dinamicamente en C con un malloc(). Acceder dentro de una estructura tipo array con elementos de tamaños constante se implementa a nivel de generación de código con una aritmética de punteros muy sencila y muy eficaz. Una lista es otra cosa. Los elementos pueden ser heterogeneos, puedes insertar y eliminar un elemento en cualquier posicion y todo eso esta muy bien, pero tiene un precio que para ciertos casos puede representar un serio problema de eficiencia. Una lista puede implementar un array mientras que lo contrario no es cierto, pero eso no es excusa para hacerlo todo con listas. Incluso se pueden implementar otras muchas estructuras de datos, pilas, colas, grafos, conjuntos, etc.. pero un array es algo muy básico y muy util a mi modo de ver. Para cavar prefiero usar una pala a una cuchara y para comer sopa prefiero usar la cuchara a una pala. > además, en el estado actual del parser/compilador/interprete de > python, pasarle al constructor de la lista un "elem_muestra" es > irrelevante. (hoy) no hay nada que pueda hacer mejor (o mas rapido) > sabiendo que todos los elementos serán de tipo int o cualquier > otra cosa. Exacto lo has captado. Este es el problema de hoy. > optimizar python no es sencillo. hay varias alternativas en > uso y en estudio. desde generar codigo C a partir de anotaciones > y/o extensiones al lenguaje hasta ideas sobre compiladores JIT. > > -H. No sirve para este caso por las razones que dije en el mensaje anterior. Si no se da algún soporte en el propio lenguaje el resultado no será eficiente. Hay multitud de casos donde usar una lista en lugar de un array es un inconveniente muy serio y Python es un leguaje de propósito muy general con una biblioteca de módulos impresionante. Sin los arrays en mi opinión queda cojo. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From erny en sicem.biz Fri Apr 16 19:52:14 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 16 Apr 2004 19:52:14 +0200 Subject: Hexadecimal a Binario In-Reply-To: <407F8D6E.4060905@eibar.org> References: <20040416082941.3b3c8e57.o.merchan@bussitel.es> <407F8D6E.4060905@eibar.org> Message-ID: <40801D4E.3070202@sicem.biz> Hola, he encontrado los siguiente en los Cookbook (http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/219300): binstr = lambda n: n>0 and bstr_pos(n>>1)+str(n&1) or '' define una función para convertir de decimal a binario, entenoces de hexadecimal a binario sería hex2binstr = lambda n: binstr(int(n,16)) Erny Gari Araolaza escribió: > Oscar Merchan(e)k dio: > >> Muy buenas a todos/as. >> >> >> Tan solo era preguntaros si alguien sabe como convertir cadenas en >> hexadecimal a binarias y viceversa. >> > Seguro que hay algún módulo por ahí, pero para este caso concreto (hex > a bin) lo más rápido y sencillo puede ser un diccionario: > > hxtobin = { '0':'0000', '1':'0001', '2':'0010', '3':'0011'... > > Gari > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From rapto en arrakis.es Fri Apr 16 21:11:16 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Fri, 16 Apr 2004 21:11:16 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <40802FD4.7000105@arrakis.es> Para la galería, el programa en Python: import Numeric tabla1=Numeric.zeros((1000,1000)) print "Comienzo" for y in xrange(1000): for x in xrange(1000): tabla1[y,x]=1 tabla1[x,y]=2 print "Fin" marcos en renata:~$ time python xxnum.py Comienzo Fin real 0m23.558s user 0m20.731s sys 0m0.154s Por comparar, el programa en C (ya corregido con las llaves) real 0m0.285s user 0m0.127s sys 0m0.066s Unas 160 veces más lento. Conclusiones: * ¿Es Python un lenguaje adecuado para hacer bucles huecos? No. * Pues no se me ocurre ninguna otra. Antonio Castro wrote: >On Fri, 16 Apr 2004, Hernan Foffani wrote: > > > >>Antonio Castro escribio: >> >> >>>Me he decidido a hacer una comparación de eficiencia entre dos >>>programas que usan arrays de identicas características. Uno está >>>programa realizado en C y otro realizado en Python recurriendo >>>a una lista de listas. Es decir: >>> >>> >>tratando de no hacer hincapie en la violación de segmento de tu >>programa C, que lo solucionas poniendo un par de {} en el segundo >>for ;-), estas comparando cosas distintas. >> >> > >Cierto falta las llaves. Y que hablamos de cosas distintas ya lo sé >pero es muy pertinente la comparación cuando te ves por narices obligado >a hacerlo todo con listas. > > > >>para hacer la comparación equivalente deberías considerar como >>*minimo* que: >> 1. las listas de python son de tamaño dinámico. (vuelve a >> codificar los dos programas permitiendo que las pruebas se >> hagan con distintos tamaños especificados por linea de comandos) >> 2. las listas de python alojan objetos de cualquier tipo. >> >> > >Tambien lo sé, pero precisamente por eso son ineficientes cuando lo >que se trata es de hacer algo muchísimo más sencillo. > > > >>>Resumiendo. El programa C es unas 50 veces más rápido y estoy >>>seguro de que no estoy sorprendiendo a casi nadie con ello. >>> >>> >>a mí si. >>me sorprende que *solo* sea 50. ¿está bien hecha la prueba? >>hubiera jurado que un buen compilador C hubiera optimizado >>tu programa a un simple: >> main() { printf("Comienzo\n"); printf("End\n"); } >>;-) >> >> > >Tu fijate bien lo que estas diciendo. El código genera una serie de >instrucciones porque se produce un resultado en el interiora del array >(tabla1). Yo he optado por no sacar ni hacer nada con ese resultado >porque es un ejemplo. Queda bastante claro que no es un programa serio >pero con este ejemplo queda igualmente claro cual es el problema que >planteo. Bastaría con poner un problema concreto y decirte resuelvelo >de forma eficiente con Python. Si el problema se basa en el uso de arrays >no podrás hacerlo eficientemente en Python. > > > >>>Yo creo que se podría incluir soporte para estructuras tipo array. >>> >>>Me pregunto si para no romper el enfoque dinámico de Python >>>lo suyo sería que hubiera que instanciar el objeto tabla pasandole >>>un elemento de muestra y una lista de tamaños un para cada >>>dimensión del array. Para un array de 1000x1000 sería algo así: >>> >>>tabla1=array(elem_muestra, 1000,1000) >>> >>> >>no cambiaría mucho. la unica ventaja es prealojar 1000x1000 >>elementos. pero como un programa normal hace muchas mas cosas ese >>supuesto ahorro solo se obtiene una vez y de hecho es posible >>prealojar 1M de elementos en el python actual. >>recuerda que en C ese array se aloja en tiempo de *compilación*! >> >> > >Para nada de acuerdo. Ese no es el problema. El alojamiento >podría hacerse dinamicamente en C con un malloc(). > >Acceder dentro de una estructura tipo array con elementos de >tamaños constante se implementa a nivel de generación de código >con una aritmética de punteros muy sencila y muy eficaz. > >Una lista es otra cosa. Los elementos pueden ser heterogeneos, >puedes insertar y eliminar un elemento en cualquier posicion y >todo eso esta muy bien, pero tiene un precio que para ciertos casos >puede representar un serio problema de eficiencia. > >Una lista puede implementar un array mientras que lo contrario no es >cierto, pero eso no es excusa para hacerlo todo con listas. Incluso >se pueden implementar otras muchas estructuras de datos, pilas, colas, >grafos, conjuntos, etc.. pero un array es algo muy básico y muy util a >mi modo de ver. > >Para cavar prefiero usar una pala a una cuchara y para comer sopa >prefiero usar la cuchara a una pala. > > > >>además, en el estado actual del parser/compilador/interprete de >>python, pasarle al constructor de la lista un "elem_muestra" es >>irrelevante. (hoy) no hay nada que pueda hacer mejor (o mas rapido) >>sabiendo que todos los elementos serán de tipo int o cualquier >>otra cosa. >> >> > >Exacto lo has captado. Este es el problema de hoy. > > > >>optimizar python no es sencillo. hay varias alternativas en >>uso y en estudio. desde generar codigo C a partir de anotaciones >>y/o extensiones al lenguaje hasta ideas sobre compiladores JIT. >> >>-H. >> >> > >No sirve para este caso por las razones que dije en el mensaje >anterior. Si no se da algún soporte en el propio lenguaje el >resultado no será eficiente. > >Hay multitud de casos donde usar una lista en lugar de un array es >un inconveniente muy serio y Python es un leguaje de propósito muy >general con una biblioteca de módulos impresionante. Sin los arrays >en mi opinión queda cojo. > > > > From acastro en ciberdroide.com Sat Apr 17 10:13:07 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Sat, 17 Apr 2004 10:13:07 +0200 (CEST) Subject: Opinion sobre los array en Python In-Reply-To: <40802FD4.7000105@arrakis.es> References: <40802FD4.7000105@arrakis.es> Message-ID: On Fri, 16 Apr 2004, Marcos Sánchez Provencio wrote: > Para la galería, el programa en Python: > > import Numeric > tabla1=Numeric.zeros((1000,1000)) > print "Comienzo" > for y in xrange(1000): > for x in xrange(1000): > tabla1[y,x]=1 > tabla1[x,y]=2 > print "Fin" > > marcos en renata:~$ time python xxnum.py > Comienzo > Fin > > real 0m23.558s > user 0m20.731s > sys 0m0.154s > > Por comparar, el programa en C (ya corregido con las llaves) > real 0m0.285s > user 0m0.127s > sys 0m0.066s > > Unas 160 veces más lento. > > Conclusiones: > * ¿Es Python un lenguaje adecuado para hacer bucles huecos? No. > * Pues no se me ocurre ninguna otra. Tienes mucha razón en eso y yo pensaba que podría ser por la función range() pero se puede ver que no porque seguramente ya han optimizado la construcción de bucles que usan: for n in range(const): Para comprobarlo he realizado pruebas anidando tres bucles y metiendo en el bucle interno una nadería (n+=1) y tienes toda la razón. pru_bu2.py)---------------------------- def main(): n=0 x=0 while x<200: x+=1 y=0 while y<200: y+=1 z=0 while z<200: z+=1 n+=1 main() $ time python ./pru_bu2.py real 0m9.016s user 0m9.000s sys 0m0.020s pru_bu.py)---------------------------- def main(): n=0 for x in range(200): for y in range(200): for z in range(200): n+=1; main() $ time python ./pru_bu.py real 0m5.811s user 0m5.810s sys 0m0.000s pru_bu.c)------------------------------ main(){ int x, y, z, n; n=0; for (x=0; x<200; x++) for (y=0; y<200; y++) for (z=0; z<200; z++) n+=1; } $ time ./pru_bu real 0m0.038s user 0m0.040s sys 0m0.000s ------------------------------------------ Todo esto lo que pone de relieve lo dificil que es comparar la eficiencia de determinada sentencia entre C y Python. Soy consciente de eso. En este caso hay que tener en cuenta igualmente la diferencia de eficiencia a nivel del propio bucle. Sobre todo si hay varios niveles de anidamiento y lo que hay dentro del bucle es muy sencillo, pero realmente no parece muy grave. Los bucles han de servir para hacer cosas más importantes que incrementar una variable. Por esa razón la eficiencia del propio bucle no me preocupa tanto como la eficiencia de los arrays, pero es dificil encontrar un buen ejemplo. Seguramente a cada ejemplo que ponga se le podrá objetar una serie de consideraciones pero me arriesgaré proponiendo un caso más complicado evitando el problema de los bucles vaciós. Por favor los he realizado sobre la marcha y al igual que en los casos anteriores puede tener fallos. Tenerlo en cuenta para no desviarnos de la cuestión. Intento transmitir más que nada la idea de que el tipo de datos array es un tipo de dato muy básico y en mi opinión muy necesario. Creo la implementación en el propio lenguaje del tipo array debería mejorar mucho el rendimiento de muchos programas. Pongo como ejemplo un clásico de la programación en su version C y en su versión Python. saltocaballo.c)------------------------------------------------------- #include #include #define COL 5 #define FIL 5 int numsol=0; int tablero[COL][FIL]; int saltos[8][2]= { {2,1}, {1,2}, {-1,2}, {-2,1}, {-2,-1}, {-1,-2}, {1,-2}, {2,-1} }; void ensayar(int mov, int x, int y){ int s, xs, ys, xe, ye, x0, y0; tablero[y][x]=mov; for (s=0; s<8; s++){ xs=saltos[s][0]; ys=saltos[s][1]; if (mov==(COL*FIL)){ // Exito pintar resultado numsol+=1; printf("Solución número %d\n", numsol); for (y0=0; y0=COL || (ye)<0 || (ye)>=FIL ) continue; // mov ilegal (fuera del tablero) if ( tablero[ye][xe]>0 ) // Ya paso por aqui continue; else{ ensayar(mov+1, xe, ye); tablero[ye][xe]=0; } } } } main (){ int x,y; for (y=0; y=COL or (ye)<0 or (ye)>=FIL: continue # mov ilegal (fuera del tablero) if tablero[ye][xe]>0: # Ya paso por aqui continue else: ensayar(mov+1, xe, ye) tablero[ye][xe]=0 global tablero, saltos, COL, FIL, numsol tablero=[] saltos=[[2,1], [1,2], [-1,2], [-2,1], [-2,-1], [-1,-2], [1,-2], [2,-1]] COL=5 FIL=5 numsol=0 for y in range (FIL): aux=[] for x in range (COL): aux.append(0) tablero.append(aux) ensayar(1,0,0) $ python saltocaballo.py .............. .............. .............. Solución número 304 01 04 09 18 21 10 17 20 03 08 05 02 13 22 19 16 11 24 07 14 25 06 15 12 23 real 1m0.890s user 0m58.390s sys 0m2.500s -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From rapto en arrakis.es Sat Apr 17 14:22:36 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sat, 17 Apr 2004 14:22:36 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <4081218C.6060708@arrakis.es> En este caso, creo que el tiempo se le va en las 1 735 079 llamadas recursivas. Voy a echarle una miradilla para ver si lo puedo pasar a no recursivo. Antonio Castro wrote: >Todo esto lo que pone de relieve lo dificil que es >comparar la eficiencia de determinada sentencia >entre C y Python. Soy consciente de eso. > >En este caso hay que tener en cuenta igualmente >la diferencia de eficiencia a nivel del propio >bucle. > >Sobre todo si hay varios niveles de anidamiento y >lo que hay dentro del bucle es muy sencillo, pero >realmente no parece muy grave. Los bucles han de servir >para hacer cosas más importantes que incrementar una >variable. > >Por esa razón la eficiencia del propio bucle no me preocupa >tanto como la eficiencia de los arrays, pero es dificil >encontrar un buen ejemplo. Seguramente a cada ejemplo que >ponga se le podrá objetar una serie de consideraciones pero >me arriesgaré proponiendo un caso más complicado evitando el >problema de los bucles vaciós. > >Por favor los he realizado sobre la marcha y al igual que >en los casos anteriores puede tener fallos. Tenerlo en cuenta >para no desviarnos de la cuestión. > >Intento transmitir más que nada la idea de que el tipo de datos >array es un tipo de dato muy básico y en mi opinión muy necesario. > >Creo la implementación en el propio lenguaje del tipo array >debería mejorar mucho el rendimiento de muchos programas. > > >Pongo como ejemplo un clásico de la programación en su version C y >en su versión Python. > >saltocaballo.c)------------------------------------------------------- > > [etc] From acastro en ciberdroide.com Sat Apr 17 15:27:49 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Sat, 17 Apr 2004 15:27:49 +0200 (CEST) Subject: Opinion sobre los array en Python In-Reply-To: <4081218C.6060708@arrakis.es> References: <4081218C.6060708@arrakis.es> Message-ID: On Sat, 17 Apr 2004, Marcos Sánchez Provencio wrote: > En este caso, creo que el tiempo se le va en las 1 735 079 llamadas > recursivas. > > Voy a echarle una miradilla para ver si lo puedo pasar a no recursivo. Para minimizar el coste de las llamadas recursivas puse todo lo que pude como variable global. A cambio de eso tenía que borrar (poner a cero) la solución recién ensayada para permitir la vuelta atras. -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From smonux en telefonica.net Sun Apr 18 17:55:54 2004 From: smonux en telefonica.net (Samuel) Date: Sun, 18 Apr 2004 17:55:54 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: <4081218C.6060708@arrakis.es> Message-ID: <20040418155554.GA27932@tizona.no-ip.org> El sáb, 17 de abr de 2004, a las 03:27:49 +0200, Antonio Castro dijo: > On Sat, 17 Apr 2004, Marcos Sánchez Provencio wrote: > > > En este caso, creo que el tiempo se le va en las 1 735 079 llamadas > > recursivas. > > > > Voy a echarle una miradilla para ver si lo puedo pasar a no recursivo. > > Para minimizar el coste de las llamadas recursivas puse todo lo que > pude como variable global. A cambio de eso tenía que borrar (poner a > cero) la solución recién ensayada para permitir la vuelta atras. > Hola, llego un poco tarde al hilo, pero me gustaría dar mi opinión. Creo que en los dos ejemplos que nos has presentado, el cuello de botella no es tanto el acceso y modificación de elementos en una lista, sino la naturaleza interpretada de python, así como los "caramelos" que el lenguaje nos proporciona en forma de iteradores, etc... La prueba es que el primer programa reescrito con Numeric/numarray no presenta grandes mejoras. En cualquier caso, para comprobarlo he compilado python con soporte para gprof y así ver que es lo que está pasando "entre bastidores": ------------------------------------------------------------------ programa 1: % cumulativo sí mismo sí mismo total tiemp seconds seconds llamadas s/llama s/llama nombre 49.38 17.48 17.48 140 0.12 0.25 eval_frame 15.40 22.93 5.45 7027266 0.00 0.00 lookdict_string 6.41 25.20 2.27 2000000 0.00 0.00 list_ass_item 5.11 27.01 1.81 6015144 0.00 0.00 PyDict_GetItem 4.01 28.43 1.42 4056 0.00 0.00 list_traverse 2.95 29.48 1.04 2000199 0.00 0.00 PyObject_SetItem 2.71 30.43 0.96 2000000 0.00 0.00 list_ass_subscript 1.84 31.09 0.65 1010461 0.00 0.00 insertdict 1.84 31.73 0.65 1006887 0.00 0.00 PyDict_SetItem 1.07 32.12 0.38 1003002 0.00 0.00 rangeiter_next 1.05 32.48 0.37 1142 0.00 0.00 list_dealloc 1.03 32.85 0.36 1003398 0.00 0.00 PyIter_Next 0.96 33.19 0.34 2002028 0.00 0.00 PyInt_AsLong 0.96 33.53 0.34 2001612 0.00 0.00 visit_reachable 0.96 33.87 0.34 1002434 0.00 0.00 PyInt_FromLong 0.90 34.19 0.32 2001612 0.00 0.00 visit_decref ... programa 2: tiemp seconds seconds llamadas s/llama s/llama nombre 79.24 572.72 572.72 1735219 0.00 0.00 eval_frame 6.65 620.80 48.09 60734699 0.00 0.00 lookdict_string 1.95 634.88 14.07 43379874 0.00 0.00 PyInt_FromLong 1.21 643.62 8.74 13878520 0.00 0.00 int_mul 1.17 652.06 8.45 15624567 0.00 0.00 listiter_next 1.04 659.55 7.50 1735220 0.00 0.00 frame_dealloc 1.02 666.93 7.38 13886456 0.00 0.00 binary_op1 0.81 672.75 5.82 1735220 0.00 0.00 PyFrame_New 0.72 677.92 5.17 1745088 0.00 0.00 call_function 0.54 681.84 3.92 1735185 0.00 0.00 fast_function 0.51 685.50 3.67 15624655 0.00 0.00 PyIter_Next 0.44 688.71 3.20 13878520 0.00 0.00 PyNumber_Multiply 0.39 691.55 2.85 3470157 0.00 0.00 list_ass_subscript 0.37 694.24 2.68 1736930 0.00 0.00 list_iter 0.37 696.90 2.67 15878769 0.00 0.00 PyInt_AsLong 0.36 699.49 2.58 13878591 0.00 0.00 PyList_Size ... ------------------------------------------------------------------ La mayor parte del tiempo se gasta en "eval_frame", lo que implica llamadas a funciones, mientras que el acceso a elementos de listas, aunque necesiten de varias indirecciones apenas tiene efecto sobre el rendimiento. Por último recordar que aparte de Numeric el módulo array está en la librería estándar y que puede usarse sin problemas para estructuras unidimensionales. Bueno, simplemente otra opinión más :-) Saludos Samuel /--------------------------------------------------------\ |Samuel Moñux Salvador ----- smonux at telefonica.net| |PGP Key pgp.rediris.es ----- KeyID 0x822583C2 | \--------------------------------------------------------/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jaime en iaa.es Mon Apr 19 10:12:43 2004 From: jaime en iaa.es (Jaime Perea) Date: Mon, 19 Apr 2004 10:12:43 +0200 Subject: Opinion sobre los array en Python In-Reply-To: <20040418155554.GA27932@tizona.no-ip.org> References: <4081218C.6060708@arrakis.es> <20040418155554.GA27932@tizona.no-ip.org> Message-ID: <200404191012.44202.jaime@iaa.es> Bueno y siguiendo con este hilo En mi opinión estamos comaparando cosas que no son necesariamente lo mismo. Evidentemente un blucle hecho en python de esa manera es muy lento. La gracia de Numeric (o el nuevo numarray) es que permite utilizar arrays en un formato compacto. así un time de from Numeric import * tabla1=zeros((1000,1000)) print "Comienzo" for y in xrange(1000): for x in xrange(1000): tabla1[y,x]=1 tabla1[x,y]=2 print "Fin" resulta en 7.03user 0.05system 0:07.17elapsed 98%CPU Mientras que eliminando sólo un índice de iteración da from Numeric import * tabla1=zeros((1000,1000)) print "Comienzo" for y in xrange(1000): tabla1[y,0:1000]=1 tabla1[0:1000,y]=2 print "Fin" 0.17user 0.02system 0:00.20elapsed 94%CPU python es un lenguaje interpretado y debe ser comparado con entornos como matlab u octave en cálculo. Dicho eso, es perfectamente posible realizar cálculo numérico (y lo estamos haciendo) ya que las partes "críticas" se escriben en algún lenguaje como c o fortran y dejar el resto a python. Saludos a todos, la verdad es que esta lista es buena, se aprende un montón. -- Jaime D. Perea Duarte. Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. From py en ch3m4.org Mon Apr 19 11:59:17 2004 From: py en ch3m4.org (Chema Cortes) Date: Mon, 19 Apr 2004 11:59:17 +0200 Subject: Inconveniente usando 'global' dentro de 'exec' In-Reply-To: References: Message-ID: <4083A2F5.3070504@ch3m4.org> Sebastián Lezica escribió: > Mi problema: > Si pongo en el exec la sentencia 'global ...' al comienzo, me da un error. > Si la pongo luego del 'if', me da la advertencia ':0: SyntaxWarning: name 'ibero' is used > prior to global declaration' (pero funciona). > Si no la pongo, por supuesto el modulo se recarga pero veo los cambios en la primera vuelta, al > volver al timer se recupera el objeto 'antiguo' que era global... La directiva "global" sólo tiene validez durante el proceso de evaluación que hace el parser. Esto implica que la sentencia global dentro de un exec no influirá en el código contenedor y, viceversa, que las sentencias 'global' que tenga el código contendor no tengan ninguna influencia en el codigo del exec, ya que ambos códigos han sido parseados en dos momentos diferentes. Dicho esto, deberías utilizar los argumentos adicionales que tiene la sentencia "exec" ("sentencia", no "función" como pareces estar utilizando). Te reescribo el código. Ya dirás si tienes algún problema en comprenderlo (que conste que no lo he probado): PLUGINS=[ {'alias':'ibero', 'modulo':None, 'lstat':0 } ] codigo=""" import os if modulo is None or \ (modulo.HOT_RELOAD and os.lstat(modulo.__file__)[-2] <> lstat): print 'Recargando %s...'%alias if modulo is None: modulo=__import__('aa_%s'%alias) else: reload(modulo) lstat = os.lstat(modulo.__file__)[-2] globals()[alias]=modulo.asi() # ibero=aa_ibero.asi() """ for plugin in PLUGINS: exec codigo in globals(),plugin No sé qué me da que vas a tener problemas en la recarga. Piensa que por cambiar el código no estás actualizando las referencias que tenías creadas a los objetos antigüos. Mírate una de las discursiones sobre éste tema que hemos tenido en ésta misma lista hace poco. From zoso en demiurgo.org Mon Apr 19 14:29:56 2004 From: zoso en demiurgo.org (Esteban Manchado =?iso-8859-1?Q?Vel=E1zquez?=) Date: Mon, 19 Apr 2004 13:29:56 +0100 Subject: Pregunta sobre tuplas/listas Message-ID: <20040419122955.GD1070@demiurgo.org> Hola a todos, Una preguntilla rápida: estoy intentando obtener una lista a partir de caracteres, con la función "split". La lista final no sé si tendrá uno o dos elementos, así que necesito cubrir los dos casos. Lo mejor que se me ha ocurrido por ahora es: >>> from string import split >>> lista = "manolo el del bombo" >>> uno, dos = split(lista, '.', 1) Traceback (most recent call last): File "", line 1, in ? ValueError: unpack list of wrong size :-( He intentado un par de variantes, pero todas tienen el mismo problema cuando hay sólo un elemento. ¿Hay alguna forma de sacar los elementos de la lista sin tener que asignar a una lista temporal y luego coger elemento a elemento, cazando excepciones? Saludos, -- EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es ¡Ayuda a extenderlo por la red en firmas, web o lo que sea! Help spread it through the Net in signatures, webpages, whatever! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ernesto en burke.ath.cx Mon Apr 19 14:51:56 2004 From: ernesto en burke.ath.cx (ernesto en burke.ath.cx) Date: Mon, 19 Apr 2004 14:51:56 +0200 Subject: Pregunta sobre tuplas/listas References: <20040419122955.GD1070@demiurgo.org> Message-ID: <007501c4260d$192b3970$cddea8c0@tintorro> hola, pues yo lo que suelo hacer: uno, dos= split(lista + separador, separador,1) Esto, fijo que te devuelve tantos elementos como se espera a la izquierda de la expresión. -------------------------------------- Hola a todos, Una preguntilla rápida: estoy intentando obtener una lista a partir de caracteres, con la función "split". La lista final no sé si tendrá uno o dos elementos, así que necesito cubrir los dos casos. Lo mejor que se me ha ocurrido por ahora es: >>> from string import split >>> lista = "manolo el del bombo" >>> uno, dos = split(lista, '.', 1) Traceback (most recent call last): File "", line 1, in ? ValueError: unpack list of wrong size :-( He intentado un par de variantes, pero todas tienen el mismo problema cuando hay sólo un elemento. ¿Hay alguna forma de sacar los elementos de la lista sin tener que asignar a una lista temporal y luego coger elemento a elemento, cazando excepciones? Saludos, -- EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es ¡Ayuda a extenderlo por la red en firmas, web o lo que sea! Help spread it through the Net in signatures, webpages, whatever! From i02alvep en uco.es Mon Apr 19 14:59:31 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Mon, 19 Apr 2004 14:59:31 +0200 Subject: Sobre SOAP Message-ID: <000601c4260e$2b2466a0$bb853c51@SEVIPC> Hola a todos, me gustaría que alguien me pudiera dar información sobre un par de cosillas: - ¿Cómo se pueden enviar ficheros o archivos enteros usando SOAP (en este caso yo uso SOAPpy y python 2.2)? O algun otro metodo para poder enviarlos de un servicio cliente a un servicio servidor y viceversa, siempre utilizando SOAP - ¿Hay alguna forma de poder capturar la IP o alguna información más sobre las personas que utilizan un servicio web que se oferta? Es decir, yo ofrezco un servicio web mediante un script servidor, y me gustaría poder recopilar información de las máquinas que lo utilizan, como puede ser su IP, fecha y hora, localización, … Sería como un “web services metering” Espero vuestra ayuda y gracias de antemano Pedro Javier Aljaro Velasco From hernan en orgmf.com.ar Mon Apr 19 15:48:48 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Mon, 19 Apr 2004 15:48:48 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: [lamento no poder responder puntualmente a cada cosa por falta de tiempo en el trabajo y de conexion a internet en casa, mis respuestas quedan así algo desfasadas.] Antonio Castro escribio: > On Fri, 16 Apr 2004, Hernan Foffani wrote: >> para hacer la comparación equivalente deberías considerar como >> *minimo* que: >> 1. las listas de python son de tamaño dinámico. (vuelve a >> codificar los dos programas permitiendo que las pruebas se >> hagan con distintos tamaños especificados por linea de comandos) >> 2. las listas de python alojan objetos de cualquier tipo. > > Tambien lo sé, pero precisamente por eso son ineficientes cuando lo > que se trata es de hacer algo muchísimo más sencillo. Entiendo tu insatisfacción. Lo que estoy tratando de explicar, y por lo visto no lo estoy haciendo muy bien, es que no es posible para python "hacer algo muchísimo mas sencillo". >> main() { printf("Comienzo\n"); printf("End\n"); } >> ;-) > > Tu fijate bien lo que estas diciendo. El código genera una serie de > instrucciones porque se produce un resultado en el interiora del array > (tabla1). para ser mas preciso, si el array tabla1 estuviera declarado como static (de hecho esa debería ser la intención del programador a un .c que no enlaza con ningun otro modulo) el compilador podría generar codigo como el anterior. lo que quiero decir con todo esto es que a) en el estado actual de la implementación del lenguaje y b) si se sigue respetando la filosofia de python no es posible obtener los resultados que pretendes *aun con la incorporacion en python de un tipo de datos array* >> además, en el estado actual del parser/compilador/interprete de >> python, pasarle al constructor de la lista un "elem_muestra" es >> irrelevante. (hoy) no hay nada que pueda hacer mejor (o mas rapido) >> sabiendo que todos los elementos serán de tipo int o cualquier >> otra cosa. > > Exacto lo has captado. Este es el problema de hoy. Si. Pero desgraciadamente no se resuelve con un tipo de datos array. >> optimizar python no es sencillo. hay varias alternativas en >> uso y en estudio. desde generar codigo C a partir de anotaciones >> y/o extensiones al lenguaje hasta ideas sobre compiladores JIT. > > No sirve para este caso por las razones que dije en el mensaje > anterior. Si no se da algún soporte en el propio lenguaje el > resultado no será eficiente. No se por qué presupones que las alternativas en estudios no se incorporarán al lenguaje. Se está trabajando muchisimo, dentro de los pocos recursos que se disponen, en la evolución del lenguaje. Intentaré ser mas especifico en mi respuesta para evitar caer en un "tu dices no. yo digo si". Las listas en python ya *son* implementadas internamente como un un vector dinámico en C. Un extracto del codigo en Object/listobject.c lo muestra claramente: PyObject * PyList_New(int size) { PyListObject *op; size_t nbytes; ... nbytes = size * sizeof(PyObject *); ... op->ob_item = (PyObject **) PyMem_MALLOC(nbytes); ... op->ob_size = size; op->allocated = size; return (PyObject *) op; } (PyList_New sería el equivalente al constructor de la lista, he quitado testeo de errores para que quede mas claro) Como ves, el resultado de PyList_New es un vector *contiguo* de punteros. El acceso a cada elemento se hace por artimetica de punteros. Python lo hace así desde 1990. El problema es que *todos* los tipos de datos de python son *objetos* por lo que NO es posible optimizar mi_array[4] = 3 a un par de instrucciones de ensamblador como lo haría un buen compilador de C. Como máximo python podría obtener la *referencia* al objeto en pocas instrucciones de ensamblado (y nunca sería lo mismo que C ya que python tiene que controlar los desbordes en tiempo real) pero todavía resta el procesamiento de cada elemento del vector. El '3' de la asignacion anterior es un objeto como cualquier otro. Si se quiere igualar la velocidad de C en bucles como el ejemplo que has mencionado no basta con un tipo de datos array como el que propones. Que los elementos sean todos enteros o todos tuplas o una mezcla heterogenea de objetos es irrelevante para el *array* en sí mismo. El problema de python se "reduce" a tener que transformar el '3' de objeto int (que en python tiene propiedades especiales como el hecho que el valor maximo de un entero está acotado *solo* por la memoria disponible en tu ordenador) a los 16 o 32 bits de internos del procesador. En otras palabras, la enorme dificultad de optimizar mi_array[4] = 3 no está en la implementacion de 'mi_array' sino en el '3' (y también en el '4') Por supuesto que es sencillo hacerlo con constantes, pero ¿cuanto nos beneficiaria eso? No hay muchas aplicaciones por allí donde todos los enteros son constantes. La verdad es que este caso particular el compilador de python lo hace bastante bien. >>> import dis >>> def f(): mi_array[4] = 3 >>> dis.dis(f) 2 0 LOAD_CONST 1 (3) 3 LOAD_GLOBAL 0 (mi_array) 6 LOAD_CONST 2 (4) 9 STORE_SUBSCR 10 LOAD_CONST 0 (None) 13 RETURN_VALUE >>> Lo que hace python aquí es "acelerar" la creación del objeto entero con la instrucción LOAD_CONST. Para que igualar los ordenes de magnitud de C, la implementación de STORE_SUBSCR para un objeto list debería convertir las constantes '3' y '4' de objetos python a enteros nativos del procesador. Desgraciadamente un programa no consta de constantes: >>> def g(): entero = 5 mi_array[4] = entero >>> dis.dis(g) 2 0 LOAD_CONST 1 (5) 3 STORE_FAST 0 (entero) 3 6 LOAD_FAST 0 (entero) 9 LOAD_GLOBAL 1 (mi_array) 12 LOAD_CONST 2 (4) 15 STORE_SUBSCR 16 LOAD_CONST 0 (None) 19 RETURN_VALUE >>> Y peor aun si lo complicamos apenitas: >>> def h(): entero = 5 funcion(entero) mi_array[4] = entero >>> dis.dis(h) 2 0 LOAD_CONST 1 (5) 3 STORE_FAST 0 (entero) 3 6 LOAD_GLOBAL 1 (funcion) 9 LOAD_FAST 0 (entero) 12 CALL_FUNCTION 1 15 POP_TOP 4 16 LOAD_FAST 0 (entero) 19 LOAD_GLOBAL 2 (mi_array) 22 LOAD_CONST 2 (4) 25 STORE_SUBSCR 26 LOAD_CONST 0 (None) 29 RETURN_VALUE >>> Un buen compilador de C convertiría lo anterior en 4 o 5 instrucciones de ensamblado, ¿puede python hacer lo mismo? No, por las razones a y b que escribí al principio de este mensaje. En particular la dificultad mas grande para un optimizador de python es deducir si podría reemplazar 16 LOAD_FAST 0 (entero) por 16 LOAD_CONST 1 (5) y luego convertir la constante en entero nativo. Pero para eso debe detectar que la llamada a 'funcion(entero)' no cambia el tipo ni el valor de 'entero' (detectar que 'funcion' es una funcion pura) En resumen: Cambiar PyList_New(int size) a algo como PyListFloat_New(size) que haga 'nbytes = size * sizeof(float);' es el menor de los problemas. La dificultar reside es predecir el tiempo de vida (en flujo de programa no en segundos) de los objetos sobre todo de aquellos se podrían implementar como nativos. Dicho de otra forma. Disponer de una estantería especialmente diseñada para alojar con eficacia hojas A4 es inutil si no puedo saber de antemano que las 'cosas' que tengo que guardar y recuperar son folios de este tipo. Hay alternativas en estudio *dentro* del lenguaje. Un proyecto interesante es Psyco. Es un 'specialized compiler' (no se si la traduccion literal es el nombre academico.) Otros están estudiando algoritmos de predicción de tipos mediante analisis de flujo de programa o mediante analisis en tiempo de ejecución. Otra aproximación es un python con anotación de tipos. Por desgracia ninguna es trivial. Espero haberme explicado mejor. Saludos, -H. From falted en pytables.org Mon Apr 19 17:39:36 2004 From: falted en pytables.org (Francesc Alted) Date: Mon, 19 Apr 2004 17:39:36 +0200 Subject: Sobre SOAP In-Reply-To: <000601c4260e$2b2466a0$bb853c51@SEVIPC> References: <000601c4260e$2b2466a0$bb853c51@SEVIPC> Message-ID: <200404191739.36219.falted@pytables.org> A Dilluns 19 Abril 2004 14:59, Pedro Javier Aljaro Velasco va escriure: > Hola a todos, me gustaría que alguien me pudiera dar información sobre > un par de cosillas: > > - ¿Cómo se pueden enviar ficheros o archivos enteros usando > SOAP (en este caso yo uso SOAPpy y python 2.2)? O algun otro metodo para > poder enviarlos de un servicio cliente a un servicio servidor y > viceversa, siempre utilizando SOAP Por que no lo metes en una lista de strings y lo envias? Si prefieres, puedes usar un string "a pelo" para meter todo el fichero (después, simplemente usas las marcas \r\n para desempaquetarlo correctamente). > > - ¿Hay alguna forma de poder capturar la IP o alguna > información más sobre las personas que utilizan un servicio web que se > oferta? Es decir, yo ofrezco un servicio web mediante un script > servidor, y me gustaría poder recopilar información de las máquinas que > lo utilizan, como puede ser su IP, fecha y hora, localización, … Sería > como un “web services metering” Supongo que habrá varias maneras. Yo uso ZSI combinado con mod-python y Apache, y por tanto, es mod-python quien se encarga de dar la información accediendo a las tablas internas de Apache (Connection object). Aunque si usas otros servidores web o Soap en standalone esto no te sirve. Saludos, -- Francesc Alted From acastro en ciberdroide.com Mon Apr 19 18:19:44 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 19 Apr 2004 18:19:44 +0200 (CEST) Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: On Mon, 19 Apr 2004, Hernan Foffani wrote: > [...] > El problema es que *todos* los tipos de datos de python son *objetos* > por lo que NO es posible optimizar > mi_array[4] = 3 Pero eso problema ya está resuelto en el módulo array de python. Lo que se hace es informar del tipo de array que se quiere construir indicandolo con un caracter. La clave es saber que cada elemento ocupa exatamente el mismo tamaño por ser del mismo tipo. > a un par de instrucciones de ensamblador como lo haría un buen > compilador de C. > Como máximo python podría obtener la *referencia* al objeto en pocas > instrucciones de ensamblado (y nunca sería lo mismo que C ya que > python tiene que controlar los desbordes en tiempo real) pero > todavía resta el procesamiento de cada elemento del vector. > > El '3' de la asignacion anterior es un objeto como cualquier otro. Ya lo se pero eso no significa que la implementación de un array tenga que hacerse como una implementación de array para objetos en general. > Si se quiere igualar la velocidad de C en bucles como el ejemplo > que has mencionado no basta con un tipo de datos array como el que > propones. Que los elementos sean todos enteros o todos tuplas > o una mezcla heterogenea de objetos es irrelevante para el *array* > en sí mismo. > > El problema de python se "reduce" a tener que transformar el '3' > de objeto int (que en python tiene propiedades especiales como el > hecho que el valor maximo de un entero está acotado *solo* por la > memoria disponible en tu ordenador) a los 16 o 32 bits de internos > del procesador. > > En otras palabras, la enorme dificultad de optimizar > mi_array[4] = 3 > no está en la implementacion de 'mi_array' sino en el '3' (y > también en el '4') El indice de un array ha de ser un entero positivo. La sintaxis en el manejo de los elementos de una lista presentaría el mismo tipo de problemas que el manejo de arrays. > En resumen: > Cambiar PyList_New(int size) a algo como PyListFloat_New(size) > que haga 'nbytes = size * sizeof(float);' es el menor de > los problemas. > La dificultar reside es predecir el tiempo de vida (en flujo de > programa no en segundos) de los objetos sobre todo de aquellos se > podrían implementar como nativos. > > Dicho de otra forma. Disponer de una estantería especialmente > diseñada para alojar con eficacia hojas A4 es inutil si > no puedo saber de antemano que las 'cosas' que tengo que > guardar y recuperar son folios de este tipo. > > Hay alternativas en estudio *dentro* del lenguaje. Un proyecto > interesante es Psyco. Es un 'specialized compiler' (no se si la > traduccion literal es el nombre academico.) > Otros están estudiando algoritmos de predicción de tipos mediante > analisis de flujo de programa o mediante analisis en tiempo de > ejecución. Otra aproximación es un python con anotación de tipos. > Por desgracia ninguna es trivial. > > Espero haberme explicado mejor. Yo no veo el problema en nada de lo que dices. Es cierto que python permite hacer cosas del tipo: a = 5 print a a= 'cinco' print a A en cada instante 'a' es un objeto distinto con un tamaño perfectamente delimitado. Por ello no es un problema para una implementación de arrays optimizados para elementos de tamaño constante. Ya está hecho como módulo array. Implementarlo en el lenguaje tambien se puede hacer dado que el tamaño de los elementos es conocido. Existe un módulo copy para copiar objetos y existe la copia profunda y la copya superficial. Me queda claro que para copiar un objeto hace falta conocer su tamaño. Por ello la copia de la variable 'a' funcionará de forma distinta si 'a' contiene un objeto o contiene otro. El interprete tiene que saber en todo momento el tamaño de los objetos que está manejando y la direccion de memoria donde están alojados. No hace falta saber nada más para implementar un array. Yo sigo pensando que la implementacion de array en el propio lenguaje es posible y deseable. Es cierto que he subestimado la importancia del coste de funcionamiento de python como interprete que es muy alto, pero ese es un precio que tiene sentido pagar. Creo que aunque existan partes importantes que no se pueden optimizar hay otras muchas que si. La discusión se centra en si los arrays se pueden optimizar implementandolos en el propio lenguaje. A la vista del alto coste que supone una simple llamada a función a mi me parece que tiene incluso más sentido intentar implementarlo dentro del lenguaje precisamente para evitar ese coste, pero claro cada uno exponemos argumentos que por el momento no pueden ser ni demostrados ni rebatidos. -- 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 Apr 19 20:00:52 2004 From: py en ch3m4.org (Chema Cortes) Date: Mon, 19 Apr 2004 20:00:52 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <408413D4.4070608@ch3m4.org> Antonio Castro escribió: > Yo sigo pensando que la implementacion de array en el propio lenguaje es > posible y deseable. Es cierto que he subestimado la importancia del coste > de funcionamiento de python como interprete que es muy alto, pero ese es > un precio que tiene sentido pagar. Creo que aunque existan partes importantes > que no se pueden optimizar hay otras muchas que si. La discusión se centra > en si los arrays se pueden optimizar implementandolos en el propio > lenguaje. A ver si tengo claro el tema: lo que propones es que se pueda acceder a "chunks" de memoria con los que operar con una aritmética similar a la de los punteros de C ;-) > A la vista del alto coste que supone una simple llamada a función a mi me > parece que tiene incluso más sentido intentar implementarlo dentro del > lenguaje precisamente para evitar ese coste, pero claro cada uno > exponemos argumentos que por el momento no pueden ser ni demostrados > ni rebatidos. Fíjate que lo que aquí estás proponiendo es romper con la orientación a objetos del lenguaje y salirte del sistema de intercepción de errores (try..except), y eso sin contar con los posibles fallos de seguridad frente a reboses ó fallos de direccionamiento de memoria dentro de la máquina virtual. Pienso que el lenguaje python no precisa de arrays como parte del propio lenguaje. Es preferible contar con algún módulo como el numarray ó el struct con las que encargar las operaciones que interese optimizar a lenguajes de más bajo nivel, y para todo lo demás ya existe el módulo 'array'. From acastro en ciberdroide.com Mon Apr 19 21:01:24 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Mon, 19 Apr 2004 21:01:24 +0200 (CEST) Subject: Opinion sobre los array en Python In-Reply-To: <408413D4.4070608@ch3m4.org> References: <408413D4.4070608@ch3m4.org> Message-ID: On Mon, 19 Apr 2004, Chema Cortes wrote: > Antonio Castro escribió: > > > Yo sigo pensando que la implementacion de array en el propio lenguaje es > > posible y deseable. Es cierto que he subestimado la importancia del coste > > de funcionamiento de python como interprete que es muy alto, pero ese es > > un precio que tiene sentido pagar. Creo que aunque existan partes importantes > > que no se pueden optimizar hay otras muchas que si. La discusión se centra > > en si los arrays se pueden optimizar implementandolos en el propio > > lenguaje. > > A ver si tengo claro el tema: lo que propones es que se pueda acceder a > "chunks" de memoria con los que operar con una aritmética similar a la > de los punteros de C ;-) No. Eso quedaría totalmente oculto y pertenece a la implementación del interprete y la forma en la que se generaría el código. > > A la vista del alto coste que supone una simple llamada a función a mi me > > parece que tiene incluso más sentido intentar implementarlo dentro del > > lenguaje precisamente para evitar ese coste, pero claro cada uno > > exponemos argumentos que por el momento no pueden ser ni demostrados > > ni rebatidos. > > Fíjate que lo que aquí estás proponiendo es romper con la orientación a > objetos del lenguaje y salirte del sistema de intercepción de errores > (try..except), y eso sin contar con los posibles fallos de seguridad > frente a reboses ó fallos de direccionamiento de memoria dentro de la > máquina virtual. No creo que rompa la orientacion a objetos. Internamente todo interprete o compilador ha de usar punteros. La diferencia es que en algunos lenguajes los valores de los punteros son algo perfectamente accesible al usuario y en otros queda perfectamente oculto que es lo que yo sugería, pero tienes razón que la gestión de los errores quizás si que sea un problema. Reconozco que no se me ocurre como compatibilizar la gestión de los errores de desbordamiento del array, y quizás eso es lo que ya hace el módulo array. Puede que en la gestión de esos errores esté la clave de que resulte implosible según parece implementarlo en el propio lenguaje en la forma que yo sugería. > Pienso que el lenguaje python no precisa de arrays como parte del propio > lenguaje. Es preferible contar con algún módulo como el numarray ó el > struct con las que encargar las operaciones que interese optimizar a > lenguajes de más bajo nivel, y para todo lo demás ya existe el módulo > 'array'. Afirmas que Python no necesita arrays como parte del propio lenguaje porque no existe al parecer esa posibilidad, pero si esa posibilidad existiera y funcionara de forma eficiente yo creo que se convertiría en una parte importante de ese lenguaje. Ahora veo las cosas de una forma distinta a como las veía al principio de esta discusión. Agradezco todo este intercambio de información. Al final se conforma uno con lo que tiene y el resto decimos que no lo necesitamos lo cual quizás sea cierto despues de todo. ;-) -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From rapto en arrakis.es Mon Apr 19 22:09:11 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Mon, 19 Apr 2004 22:09:11 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <408431E7.4020600@arrakis.es> Los módulos de numarray y array son parte de Python. No sé dónde ves el problema. Las expresiones regulares van en otro módulo. Tampoco pasa nada. Python incluye tratamiento de números complejos de serie, pero yo creo que todo el mundo lo ve como un capricho de GvR. Python es un lenguaje bastante evolucionado, muchos problemas que han salido se han podido resolver. Igual sólo quedan sin resolver algunos, como los algoritmos basados en operaciones muy sencillas muy repetitivas. No sé si alguna vez se resolverán, pero lo dudo, con lo sencillo que es tirar de C (y más fácil de Java si se usa Jython) si la cosa se enreda. Por supuesto, es una experiencia personal, pero sólo he tenido que optimizar algo hecho en Python una vez (hago aplicaciones de gestión, con uso intensivo de bases de datos). Y al final fue más un tema de cambiar de arquitectura la aplicación, porque el Webware, que usa multihilo, se liaba con un SunOS bastante antiguo, con 4 procesadores y las bibliotecas de Oracle 7. Antonio Castro wrote: >On Mon, 19 Apr 2004, Hernan Foffani wrote: > > > >>[...] >> >> > > > >>El problema es que *todos* los tipos de datos de python son *objetos* >>por lo que NO es posible optimizar >> mi_array[4] = 3 >> >> > >Pero eso problema ya está resuelto en el módulo array de python. >Lo que se hace es informar del tipo de array que se quiere construir >indicandolo con un caracter. La clave es saber que cada elemento >ocupa exatamente el mismo tamaño por ser del mismo tipo. > > > >>a un par de instrucciones de ensamblador como lo haría un buen >>compilador de C. >>Como máximo python podría obtener la *referencia* al objeto en pocas >>instrucciones de ensamblado (y nunca sería lo mismo que C ya que >>python tiene que controlar los desbordes en tiempo real) pero >>todavía resta el procesamiento de cada elemento del vector. >> >>El '3' de la asignacion anterior es un objeto como cualquier otro. >> >> > >Ya lo se pero eso no significa que la implementación de un array >tenga que hacerse como una implementación de array para objetos >en general. > > > >>Si se quiere igualar la velocidad de C en bucles como el ejemplo >>que has mencionado no basta con un tipo de datos array como el que >>propones. Que los elementos sean todos enteros o todos tuplas >>o una mezcla heterogenea de objetos es irrelevante para el *array* >>en sí mismo. >> >>El problema de python se "reduce" a tener que transformar el '3' >>de objeto int (que en python tiene propiedades especiales como el >>hecho que el valor maximo de un entero está acotado *solo* por la >>memoria disponible en tu ordenador) a los 16 o 32 bits de internos >>del procesador. >> >>En otras palabras, la enorme dificultad de optimizar >> mi_array[4] = 3 >>no está en la implementacion de 'mi_array' sino en el '3' (y >>también en el '4') >> >> > >El indice de un array ha de ser un entero positivo. La sintaxis en el >manejo de los elementos de una lista presentaría el mismo tipo de >problemas que el manejo de arrays. > > > >>En resumen: >>Cambiar PyList_New(int size) a algo como PyListFloat_New(size) >>que haga 'nbytes = size * sizeof(float);' es el menor de >>los problemas. >>La dificultar reside es predecir el tiempo de vida (en flujo de >>programa no en segundos) de los objetos sobre todo de aquellos se >>podrían implementar como nativos. >> >>Dicho de otra forma. Disponer de una estantería especialmente >>diseñada para alojar con eficacia hojas A4 es inutil si >>no puedo saber de antemano que las 'cosas' que tengo que >>guardar y recuperar son folios de este tipo. >> >>Hay alternativas en estudio *dentro* del lenguaje. Un proyecto >>interesante es Psyco. Es un 'specialized compiler' (no se si la >>traduccion literal es el nombre academico.) >>Otros están estudiando algoritmos de predicción de tipos mediante >>analisis de flujo de programa o mediante analisis en tiempo de >>ejecución. Otra aproximación es un python con anotación de tipos. >>Por desgracia ninguna es trivial. >> >>Espero haberme explicado mejor. >> >> > >Yo no veo el problema en nada de lo que dices. >Es cierto que python permite hacer cosas del tipo: > > a = 5 > print a > a= 'cinco' > print a > >A en cada instante 'a' es un objeto distinto con un tamaño perfectamente >delimitado. Por ello no es un problema para una implementación de arrays >optimizados para elementos de tamaño constante. Ya está hecho como >módulo array. Implementarlo en el lenguaje tambien se puede hacer dado que >el tamaño de los elementos es conocido. > >Existe un módulo copy para copiar objetos y existe la copia profunda >y la copya superficial. Me queda claro que para copiar un objeto hace >falta conocer su tamaño. Por ello la copia de la variable 'a' funcionará >de forma distinta si 'a' contiene un objeto o contiene otro. El interprete >tiene que saber en todo momento el tamaño de los objetos que está >manejando y la direccion de memoria donde están alojados. No hace falta >saber nada más para implementar un array. > >Yo sigo pensando que la implementacion de array en el propio lenguaje es >posible y deseable. Es cierto que he subestimado la importancia del coste >de funcionamiento de python como interprete que es muy alto, pero ese es >un precio que tiene sentido pagar. Creo que aunque existan partes importantes >que no se pueden optimizar hay otras muchas que si. La discusión se centra >en si los arrays se pueden optimizar implementandolos en el propio >lenguaje. > >A la vista del alto coste que supone una simple llamada a función a mi me >parece que tiene incluso más sentido intentar implementarlo dentro del >lenguaje precisamente para evitar ese coste, pero claro cada uno >exponemos argumentos que por el momento no pueden ser ni demostrados >ni rebatidos. > > > > From py en ch3m4.org Tue Apr 20 10:56:01 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 20 Apr 2004 10:56:01 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <4084E5A1.9080808@ch3m4.org> Antonio Castro escribió: > No creo que rompa la orientacion a objetos. Internamente todo interprete > o compilador ha de usar punteros. La diferencia es que en algunos > lenguajes los valores de los punteros son algo perfectamente accesible > al usuario y en otros queda perfectamente oculto que es lo que yo > sugería, Cuando se habla de interpretar, hay que recordar que la "interpretación" la realiza una máquina virtual (ya sea CPython, Stackless, JVM, Parrot, CLI,...), y que es a éste nivel donde se debería establecer la labor de optimización. Así mismo, hay que considerar que máquinas como JVM tienen cierta "aprensión" por todo lo que suene a punteros. Se puede afirmar que el lenguaje python en sí ya incluye la definición de arrays gracias al módulo 'array'. Ahora habría que ver se puede optimizar su uso con un módulo específico como se hace con el cPickle ó el cStringIO, con algún tipo de optimización de la máquina virtual como el psyco o compilando a C con el pyrex. Creo que es por ahí por donde hay que abordar el problema. From hernan en orgmf.com.ar Tue Apr 20 13:16:17 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Tue, 20 Apr 2004 13:16:17 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: Antonio: >>> Yo sigo pensando que la implementacion de array en el propio >>> lenguaje es posible y deseable. Es cierto que he subestimado la >>> importancia del coste >>> de funcionamiento de python como interprete que es muy alto, pero >>> ese es >>> un precio que tiene sentido pagar. Creo que aunque existan partes >>> importantes que no se pueden optimizar hay otras muchas que si. La >>> discusión se centra en si los arrays se pueden optimizar >>> implementandolos en el propio >>> lenguaje. >> >> A ver si tengo claro el tema: lo que propones es que se pueda >> acceder a "chunks" de memoria con los que operar con una aritmética >> similar a la de los punteros de C ;-) > > No. Eso quedaría totalmente oculto y pertenece a la implementación del > interprete y la forma en la que se generaría el código. A propósito de array. para los que no lo conocen: >>> import array >>> mi_array_de_double = array.array('d', [1.0,2.0,3.0,4.0,5.0]) >>> mi_array_de_double array('d', [1.0, 2.0, 3.0, 4.0, 5.0]) >>> valor_a = mi_array_de_double[4] # (1) >>> valor_b = 3.3 >>> mi_array_de_double[3] = valor_b # (2) Si miras la implementación C del modulo de array (Modules/_arraymodule.c), verás que el manejo "interno" de cada elemento es muy eficiente. Al extraer un elemento de un array (1) y al guardarlo (2) se invocan a d_getitem y d_setitem respectivamente: static PyObject * d_getitem(arrayobject *ap, int i) { return PyFloat_FromDouble(((double *)ap->ob_item)[i]); } static int d_setitem(arrayobject *ap, int i, PyObject *v) { double x; if (!PyArg_Parse(v, "d;array item must be float", &x)) return -1; if (i >= 0) ((double *)ap->ob_item)[i] = x; return 0; } (para los neofitos, PyObject es la implementación en C de _cualquier_ objeto python. un puntero a PyObject es una referencia a un objeto de python. esto es valido tanto dentro de los fuentes del python como de las extensiones que los programadores quieran hacer al lenguaje.) A pesar que ambas funciones son muy concisas, python no puede igualar la velocidad de C en un bucle para un vector equivalente. Aunque obviemos los chequeos de desborde (salteandonos ademas el espiritu del lenguaje) otra vez el problema reside que el array recibe y entrega los elementos como PyObject porque eso es lo que el interprete maneja. Se puede ver que en las dos funciones anteriores el coste mayor estará en las llamadas a PyFloat_FromDouble(..) y en PyArg_Parse(..) respectivamente. En el estado actual del desarrollo del compilador y del interprete no hay forma que al procesar el nombre 'valor_a' y 'valor_b' pueda generar instrucciones que correspondan a un double nativo del procesador y así poder evitar las conversiones de y hacia PyObject. Chema en otro mensaje: > Cuando se habla de interpretar, hay que recordar que la > "interpretación" la realiza una máquina virtual (ya sea CPython, > Stackless, JVM, Parrot, CLI,...), y que es a éste nivel donde se > debería establecer la labor de optimización. Así mismo, hay que > considerar que máquinas como JVM tienen cierta "aprensión" por todo > lo que suene a punteros. > > Se puede afirmar que el lenguaje python en sí ya incluye la definición > de arrays gracias al módulo 'array'. Ahora habría que ver se puede > optimizar su uso con un módulo específico como se hace con el cPickle > ó el cStringIO, con algún tipo de optimización de la máquina virtual > como el psyco o compilando a C con el pyrex. Creo que es por ahí por > donde hay que abordar el problema. Asi es. Desgraciadamente un JIT (o similar) para python está muy lejos de ser una realidad cercana y no por falta de talento. Lo que invirtió Sun en su Java HotSpot, Microsoft en su JIT para el CLI e incluso Icaza en Mono (ahora de Novell) no creo que sea posible en nuestro querido lenguaje. Ojalá me equivoque. -H. From i02alvep en uco.es Tue Apr 20 14:43:14 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Tue, 20 Apr 2004 14:43:14 +0200 Subject: Sobre SOAP In-Reply-To: <200404191739.36219.falted@pytables.org> References: <200404191739.36219.falted@pytables.org> Message-ID: <000001c426d5$0cbda060$8e853c51@SEVIPC> No comprendo como sería mediante una lista de strings. Usando un string a pelo si se como es, pero no es la idea que tengo, me gustaría de forma parecida a como se adjuntan ficheros en un email. ¿Me podríais dar más información?? Con respecto a la segunda cuestión que plantee, yo uso SOAPpy sin necesidad de apache, así que no me sirve, ¿No hay ninguna otra forma de conseguir este tipo de información??? Espero vuestra ayuda. Gracias de antemano. Saludos Pedro Javier Aljaro Velasco -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de Francesc Alted Enviado el: lunes, 19 de abril de 2004 17:40 Para: La lista de python en castellano Asunto: Re: [Python-es] Sobre SOAP A Dilluns 19 Abril 2004 14:59, Pedro Javier Aljaro Velasco va escriure: > Hola a todos, me gustaría que alguien me pudiera dar información sobre > un par de cosillas: > > - ¿Cómo se pueden enviar ficheros o archivos enteros usando > SOAP (en este caso yo uso SOAPpy y python 2.2)? O algun otro metodo para > poder enviarlos de un servicio cliente a un servicio servidor y > viceversa, siempre utilizando SOAP Por que no lo metes en una lista de strings y lo envias? Si prefieres, puedes usar un string "a pelo" para meter todo el fichero (después, simplemente usas las marcas \r\n para desempaquetarlo correctamente). > > - ¿Hay alguna forma de poder capturar la IP o alguna > información más sobre las personas que utilizan un servicio web que se > oferta? Es decir, yo ofrezco un servicio web mediante un script > servidor, y me gustaría poder recopilar información de las máquinas que > lo utilizan, como puede ser su IP, fecha y hora, localización, … Sería > como un “web services metering” Supongo que habrá varias maneras. Yo uso ZSI combinado con mod-python y Apache, y por tanto, es mod-python quien se encarga de dar la información accediendo a las tablas internas de Apache (Connection object). Aunque si usas otros servidores web o Soap en standalone esto no te sirve. Saludos, -- Francesc Alted _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Apr 20 14:49:20 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 20 Apr 2004 14:49:20 +0200 Subject: Opinion sobre los array en Python In-Reply-To: References: Message-ID: <40851C50.30207@ch3m4.org> Hernan Foffani escribió: > Desgraciadamente un JIT (o similar) para python está muy lejos de ser > una realidad cercana y no por falta de talento. Lo que invirtió Sun en > su Java HotSpot, Microsoft en su JIT para el CLI e incluso Icaza en > Mono (ahora de Novell) no creo que sea posible en nuestro querido > lenguaje. Ojalá me equivoque. Puntualizando que tus lamentos se refieren al CPython, python como lenguaje también funciona con todos esos JITs que nombras. Quizás uno de los más prometedores resulte la nueva implemenación de python para Mono/.Net IronPython (http://ironpython.com) From py en ch3m4.org Tue Apr 20 15:15:26 2004 From: py en ch3m4.org (Chema Cortes) Date: Tue, 20 Apr 2004 15:15:26 +0200 Subject: Sobre SOAP In-Reply-To: <000001c426d5$0cbda060$8e853c51@SEVIPC> References: <000001c426d5$0cbda060$8e853c51@SEVIPC> Message-ID: <4085226E.2070302@ch3m4.org> Pedro Javier Aljaro Velasco escribió: > No comprendo como sería mediante una lista de strings. Usando un string > a pelo si se como es, pero no es la idea que tengo, me gustaría de forma > parecida a como se adjuntan ficheros en un email. ¿Me podríais dar más > información?? Creo que lo que te decía Francesc pasar todo el fichero a una cadena, simplemente. Si tienes problemas con la codificación, emplea el módulo mimetools ó el cPickle. De todos modos, no es adecuado utilizar los servicios web para enviar grandes cantidades de datos. Emplea para ello algún otro protocolo alternativo (eg: ftp). > Con respecto a la segunda cuestión que plantee, yo uso SOAPpy sin > necesidad de apache, así que no me sirve, ¿No hay ninguna otra forma de > conseguir este tipo de información??? El problema es que el SOAP, y en general cualquier servicio web, son protocolos de alto nivel y no tienen control sobre los protocolos más bajos en los que se basan. Puede, incluso, que no usen IPs (eg: unix socket). Lo único que puedo recomendarte, si no quieres mucha complicación, es utilizar algún tipo de proxy ó un rastreador (netstat). From rapto en arrakis.es Tue Apr 20 15:20:04 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 20 Apr 2004 15:20:04 +0200 Subject: Opinion sobre los array en Python In-Reply-To: <40851C50.30207@ch3m4.org> References: <40851C50.30207@ch3m4.org> Message-ID: <40852384.2090607@arrakis.es> ¿Hay algo de iropython que no sea vaporware? Chema Cortes wrote: > Hernan Foffani escribió: > >> Desgraciadamente un JIT (o similar) para python está muy lejos de ser >> una realidad cercana y no por falta de talento. Lo que invirtió Sun en >> su Java HotSpot, Microsoft en su JIT para el CLI e incluso Icaza en >> Mono (ahora de Novell) no creo que sea posible en nuestro querido >> lenguaje. Ojalá me equivoque. > > > Puntualizando que tus lamentos se refieren al CPython, python como > lenguaje también funciona con todos esos JITs que nombras. Quizás uno > de los más prometedores resulte la nueva implemenación de python para > Mono/.Net IronPython (http://ironpython.com) > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ch3m4 en ch3m4.org Tue Apr 20 16:24:13 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Tue, 20 Apr 2004 07:24:13 -0700 Subject: Opinion sobre los array en Python In-Reply-To: <40852384.2090607@arrakis.es> References: <40851C50.30207@ch3m4.org> <40852384.2090607@arrakis.es> Message-ID: <1082471053.4085328d186b8@ch3m4.org> Mensaje citado por Marcos Sánchez Provencio : > ¿Hay algo de iropython que no sea vaporware? Es difícil de saber. De momento sólo están las presentaciones de Jim Hugunin. Pero hay que darle un voto de confianza a quien ha sido el creador del jython y las NumPy (y más cosas). PD: "Vaporware" técnicamente se entiende como adelantar información sobre un producto para evitar la penetración de un producto rival. No creo que sea éste el caso. From lcabrera en sauco.org Wed Apr 21 09:15:06 2004 From: lcabrera en sauco.org (lcabrera_[spa]) Date: Wed, 21 Apr 2004 08:15:06 +0100 Subject: Python en Theos Message-ID: <20040421071506.GA15866@sauco.org> He estado buscando en Google, pero no he visto nada que me confirme, con seguridad, que Python funciona en Theos. ¿Alguien me lo podría confirmar o desmentir? Gracias de antemano. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From slezica en fibertel.com.ar Wed Apr 21 20:32:15 2004 From: slezica en fibertel.com.ar (=?iso-8859-1?Q?Sebasti=E1n_Lezica?=) Date: Wed, 21 Apr 2004 15:32:15 -0300 Subject: Inconveniente usando 'global' dentro de 'exec' In-Reply-To: <4083A2F5.3070504@ch3m4.org> References: <4083A2F5.3070504@ch3m4.org> Message-ID: Impresionante Chema!, Casi sin tocar tu código, todo comenzó a andar de maravillas. Muy dúctil el exec como lo usaste!. Mas allá de los errores que tenia, veo que me resta aprender a clarificar mi código; comparaba el tuyo con el mio y el que habia hecho parecia críptico :D. Gracias por el tiempo y la ayuda! (disculpa la demora en responder, me colgué jugando con todo esto haciendo un webserver medio primitivo que convierte urls en objetos y funciones y me deja actualizarlas sin cerrar la aplicacion!). Sebastian Lezica -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En nombre de Chema Cortes Enviado el: Lunes, 19 de Abril del 2004 06:59 Para: La lista de python en castellano Asunto: Re: [Python-es] Inconveniente usando 'global' dentro de 'exec' Sebastián Lezica escribió: > Mi problema: > Si pongo en el exec la sentencia 'global ...' al comienzo, me da un error. > Si la pongo luego del 'if', me da la advertencia ':0: SyntaxWarning: name 'ibero' is used > prior to global declaration' (pero funciona). > Si no la pongo, por supuesto el modulo se recarga pero veo los cambios en la primera vuelta, al > volver al timer se recupera el objeto 'antiguo' que era global... La directiva "global" sólo tiene validez durante el proceso de evaluación que hace el parser. Esto implica que la sentencia global dentro de un exec no influirá en el código contenedor y, viceversa, que las sentencias 'global' que tenga el código contendor no tengan ninguna influencia en el codigo del exec, ya que ambos códigos han sido parseados en dos momentos diferentes. Dicho esto, deberías utilizar los argumentos adicionales que tiene la sentencia "exec" ("sentencia", no "función" como pareces estar utilizando). Te reescribo el código. Ya dirás si tienes algún problema en comprenderlo (que conste que no lo he probado): PLUGINS=[ {'alias':'ibero', 'modulo':None, 'lstat':0 } ] codigo=""" import os if modulo is None or \ (modulo.HOT_RELOAD and os.lstat(modulo.__file__)[-2] <> lstat): print 'Recargando %s...'%alias if modulo is None: modulo=__import__('aa_%s'%alias) else: reload(modulo) lstat = os.lstat(modulo.__file__)[-2] globals()[alias]=modulo.asi() # ibero=aa_ibero.asi() """ for plugin in PLUGINS: exec codigo in globals(),plugin No sé qué me da que vas a tener problemas en la recarga. Piensa que por cambiar el código no estás actualizando las referencias que tenías creadas a los objetos antigüos. Mírate una de las discursiones sobre éste tema que hemos tenido en ésta misma lista hace poco. _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From zoso en demiurgo.org Wed Apr 21 20:36:27 2004 From: zoso en demiurgo.org (Esteban Manchado =?iso-8859-1?Q?Vel=E1zquez?=) Date: Wed, 21 Apr 2004 19:36:27 +0100 Subject: Pregunta sobre tuplas/listas In-Reply-To: <007501c4260d$192b3970$cddea8c0@tintorro> References: <20040419122955.GD1070@demiurgo.org> <007501c4260d$192b3970$cddea8c0@tintorro> Message-ID: <20040421183626.GA1006@demiurgo.org> On Mon, Apr 19, 2004 at 02:51:56PM +0200, ernesto en burke.ath.cx wrote: > hola, pues yo lo que suelo hacer: > > uno, dos= split(lista + separador, separador,1) > > Esto, fijo que te devuelve tantos elementos como se espera a la izquierda de > la expresión. Sí, pero.... hay un pequeño problema: el último elemento queda con un separador al final :-( Podría hacer una sustitución o algo parecido para quitar el posible separador del último elemento, pero... ¿alguna otra idea? -- EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es ¡Ayuda a extenderlo por la red en firmas, web o lo que sea! Help spread it through the Net in signatures, webpages, whatever! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mmm en tierramedia.org Wed Apr 21 23:31:40 2004 From: mmm en tierramedia.org (Mauro Morales M.) Date: Wed, 21 Apr 2004 17:31:40 -0400 Subject: Manejo de cadenas unicode References: <1050944710.4372.6.camel@tania.oziko.net> Message-ID: <016901c427e8$09105de0$b8bc5392@consorcio.reuna.cl> ----- Original Message ----- From: "Oziko" Bueno se que esta pregunta sera muy vaga y espero no incomodarlos pero es que no entiendo muy bien esto. Estoy haciendo un script el cual recoge los valores de un archivo .ogg, titulo, artista, año, etc etc, y luego los importo a una base de datos postgreSQL, cuando no tengo caracteres especiales en las etiquetas de los archivos .ogg la info se importa sin probelmas, pero si tiene caracteres especiales obtengo alguno de los dos siguientes errores : En Postgresql puedes ocupar la funcion convert, la cual es lo mejor que puedes aplicar en tu aplicacion y te independizas del trabajo en el codigo. UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 82: ordinal not in range(128) UnicodeDecodeError: 'utf8' codec can't decode bytes in position 4-5: unexpected end of data En la creacion de la base de datos puedes usar el flag -E (si mal no recuerdo), para ocupar una codificacion especificada. Revisalo. he tratado de convertir las cadenas a unicode, pero no entiendo muy bien esto, le tengo que especificar a la base de datos que tambien utilizo codificacion unicode? Como utilizan ustedes unicode con python y alguna base de datos? Algun tip? Te sugiero no depender del lenguage de programacion sino de tu BD, asi te independizas de que sea cual sea el lenguaje que uses siempre se va a insertar como lo deseas. (Dentro de una funcion puede ser) -- --------- Javier Reyna Padilla Visita mi Weblog: http://www.fusiondementes.com/weblog.php -- Mauro Morales M. mailto:mmm en tierramedia.org Linux User # 160358 From cuso31 en hotmail.com Thu Apr 22 05:24:49 2004 From: cuso31 en hotmail.com (Edgar Heranando Criollo V.) Date: Thu, 22 Apr 2004 03:24:49 +0000 Subject: Crear archivos python Message-ID: Hola a todos soy nuevo en esto y tengo un problema con esto alguien podria ayudarme : Necesito crear un script en Python que cree *Un directorio1(carpeta1), *Dentro de este (directorio1(carpeta1)) cree otro directorio (directorio2(carpeta2)) *Dentro de este cre un archivo he intentado con la libreria import os os.system("mkdir dir1") os.sytem("cd dir1") os.system("mkdir dir2") pero no funciona les agradesco su ayuda _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.latam.msn.com/ From jcanto en hispasec.com Thu Apr 22 08:23:36 2004 From: jcanto en hispasec.com (Julio Canto) Date: Thu, 22 Apr 2004 08:23:36 +0200 Subject: Crear archivos python In-Reply-To: References: Message-ID: <408764E8.7060507@hispasec.com> Edgar Heranando Criollo V. wrote: > Hola a todos soy nuevo en esto y tengo un problema con esto > alguien podria ayudarme : > Necesito crear un script en Python que cree > *Un directorio1(carpeta1), > *Dentro de este (directorio1(carpeta1)) cree otro directorio > (directorio2(carpeta2)) > *Dentro de este cre un archivo Prueba con mkdir de la libreria os. Un saludo, JC From acastro en ciberdroide.com Thu Apr 22 08:20:00 2004 From: acastro en ciberdroide.com (Antonio Castro) Date: Thu, 22 Apr 2004 08:20:00 +0200 (CEST) Subject: Crear archivos python In-Reply-To: References: Message-ID: On Thu, 22 Apr 2004, Edgar Heranando Criollo V. wrote: > Hola a todos soy nuevo en esto y tengo un problema con esto > alguien podria ayudarme : > Necesito crear un script en Python que cree > *Un directorio1(carpeta1), > *Dentro de este (directorio1(carpeta1)) cree otro directorio > (directorio2(carpeta2)) > *Dentro de este cre un archivo > > > he intentado con la libreria > import os > os.system("mkdir dir1") > os.sytem("cd dir1") Aqui está el error. system arranca una subshell, ejecuda cd que es un comando interno de la shell para cambiar su directorio actual y termina, pero el directorio actual es una característica de cada proceso y por ello no afectará al proceso python. Hay varias soluciones a eso. Siempre que puedas usa funciones de Python para poder gestionar los errores. Además tanto system como popen son muy prácticos pero usarlos para cosas tan triviales no resulta eficiente. > os.system("mkdir dir2") > > pero no funciona > les agradesco su ayuda Prueba con algo parecido a esto: import os try: os.makedirs('dir1/dir2') except IOError, (errno, strerror): print " E/S(%s): %s" % (errno, strerror) -- Un saludo Antonio Castro /\ /\ \\W// _|0 0|_ +-oOOO-(___o___)-OOOo---------------------+ | . . . . U U . Antonio Castro Snurmacher | | . . . . . . . acastro en ciberdroide.com | +()()()---------()()()--------------------+ From josu en ubera.net Thu Apr 22 09:25:15 2004 From: josu en ubera.net (Josu Oyanguren) Date: Thu, 22 Apr 2004 09:25:15 +0200 Subject: Pregunta sobre tuplas/listas In-Reply-To: <20040421183626.GA1006@demiurgo.org> References: <20040419122955.GD1070@demiurgo.org> <007501c4260d$192b3970$cddea8c0@tintorro> <20040421183626.GA1006@demiurgo.org> Message-ID: <4087735B.2040403@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Esteban Manchado Velázquez escribió: | On Mon, Apr 19, 2004 at 02:51:56PM +0200, ernesto en burke.ath.cx wrote: | |>hola, pues yo lo que suelo hacer: |> |>uno, dos= split(lista + separador, separador,1) |> |>Esto, fijo que te devuelve tantos elementos como se espera a la izquierda de |>la expresión. | | | Sí, pero.... hay un pequeño problema: el último elemento queda con un | separador al final :-( | | Podría hacer una sustitución o algo parecido para quitar el posible | separador del último elemento, pero... ¿alguna otra idea? | | | Yo suelo hacer uno, dos = (lista + separador).split(separador)[:2] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAh3Nb5ju4HVxhuqQRAsuQAJ9jdWu+hcbB4xBd5Yrwal+qDaz/MwCfX3tw p/16Ns8Qcjt9i8GSUZxTdXE= =lzjj -----END PGP SIGNATURE----- ------------ 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 Apr 22 10:09:53 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 22 Apr 2004 10:09:53 +0200 Subject: Manejo de cadenas unicode In-Reply-To: <1050944710.4372.6.camel@tania.oziko.net> References: <1050944710.4372.6.camel@tania.oziko.net> Message-ID: <200404220959.11820.py@ch3m4.org> El Lunes, 21 de Abril de 2003 19:05, Oziko escribió: > Estoy haciendo un script el cual recoge los valores de un archivo .ogg, > titulo, artista, año, etc etc, y luego los importo a una base de datos > postgreSQL, cuando no tengo caracteres especiales en las etiquetas de > los archivos .ogg la info se importa sin probelmas, pero si tiene > caracteres especiales obtengo alguno de los dos siguientes errores : > > UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in > position 82: ordinal not in range(128) > > UnicodeDecodeError: 'utf8' codec can't decode bytes in position 4-5: > unexpected end of data > > he tratado de convertir las cadenas a unicode, pero no entiendo muy bien > esto, le tengo que especificar a la base de datos que tambien utilizo > codificacion unicode? Como utilizan ustedes unicode con python y alguna > base de datos? Algun tip? Necesitaríamos algo de código para saber mejor dónde está el problema. Es un problema bastante habitual y lo hemos tratado mucho en la lista (¿para cuando un FAQ de python-es? ;-P). Cuando codificas a unicode por defecto se hace desde ascii7. Tienes que cambiar la codificación por defecto desde el sitecustomize.py (sys.setdefaultencoding) Puesto que recoges la información de algún tipo de interface, supongo que te llegará ya codificada. Al convertir en unicode tienes que decirle qué sistema de codificación usas como segundo argumento. Para las cadenas de texto que definas en el código, si usas python 2.3 lo mejor es indicarle la codificación con el comentario "enconding" en la primera ó segunda línea de programa: # -*- encoding: iso8859-15 -*- En fin, que sin código no puedo decirte más. From 462931 en celes.unizar.es Thu Apr 22 11:55:16 2004 From: 462931 en celes.unizar.es (David Sanchez Perez) Date: Thu, 22 Apr 2004 11:55:16 +0200 Subject: tratamiento de listas Message-ID: <1082627716.408796849e24e@webmail.unizar.es> Buenas listeros. Mi pregunta es la siguiente. Supongamos que tengo la lista que aparece a continuacion: ['(\\HasNoChildren) "." "INBOX.Trash"','(\\HasNoChildren) "." "INBOX.Sent"', '(\\HasNoChildren) "." "INBOX.prueba_dvd.anidada2"','(\\HasChildren) "." "INBOX.prueba_dvd"','(\\Unmarked \\HasChildren) "." "INBOX"'] Pues bien, yo de esa lista, quiero un array que contenga cada uno de los buzones, es decir INBOX.Trash, INBOX.Sent, ...., INBOX*. La idea seria hacer como un split con '"' como separador, y no tener en cuenta la cadena "." La cosa es que no se como hacerlo. Otra manera que se me ha ocurrido es hacer un cast a esa lista para pasarlo a tipo cadena (no se todavia como se haria tampoco), y una vez que fuese una cadena, hacer: [s for s in cad.split('"') if s.startswith('IN.')] suponiendo que en 'cad' tenga la cadena Un saludo y gracias DvD From erny en sicem.biz Thu Apr 22 12:13:06 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 22 Apr 2004 12:13:06 +0200 Subject: Pregunta sobre tuplas/listas In-Reply-To: <20040421183626.GA1006@demiurgo.org> References: <20040419122955.GD1070@demiurgo.org> <007501c4260d$192b3970$cddea8c0@tintorro> <20040421183626.GA1006@demiurgo.org> Message-ID: <40879AB2.5080006@sicem.biz> Hola, me parece interesante otra técnica (quizá un poco más larga): uno, dos, tres = (strlista.split(separador) + ['']*3)[:3] que básicamente significa: agregame a la lista creado por el split aplicado a strlista (al menos 1 elemento de cadena vacía) una lista suficientemente larga de cadenas vacías (podríamos haber puesto *2 en vez de *3 porque ya tenemos al menos una lista de un elemento). Después cogemos los primeros n elementos, donde n es el nº de variables que queremos asignar. Erny Esteban Manchado Velázquez escribió: >On Mon, Apr 19, 2004 at 02:51:56PM +0200, ernesto en burke.ath.cx wrote: > > >>hola, pues yo lo que suelo hacer: >> >>uno, dos= split(lista + separador, separador,1) >> >>Esto, fijo que te devuelve tantos elementos como se espera a la izquierda de >>la expresión. >> >> > > Sí, pero.... hay un pequeño problema: el último elemento queda con un >separador al final :-( > > Podría hacer una sustitución o algo parecido para quitar el posible >separador del último elemento, pero... ¿alguna otra idea? > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From santi en zetadb.com Thu Apr 22 14:24:37 2004 From: santi en zetadb.com (Santi Camps) Date: Thu, 22 Apr 2004 12:24:37 +0000 Subject: Internalidades de python Message-ID: <4087B985.8040000@zetadb.com> Hola a todos, Estoy buscando algún libro y/o documentación sobre las "internalidades" de python. Es decir, cosas como la gestión de memoria, la recarga dinámica de módulos, gestión de threads, etc. Vaya, que python es genial, rápido de aprender y fácil de usar, pero en ocasiones me vendría bién saber qué está haciendo y porqué lo hace. Puesto que aquí hay gente con buen conocimiento de estos temas, ¿Sabe alguién de algún libro o documento que valga la pena? ¡O hay que buscar estas cosas en las listas de correo? Gracias Santi Camps ------------ 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 Apr 22 12:34:24 2004 From: rapto en arrakis.es (=?ISO-8859-15?Q?Marcos_S=E1nchez_Provencio?=) Date: Thu, 22 Apr 2004 12:34:24 +0200 Subject: Internalidades de python In-Reply-To: <4087B985.8040000@zetadb.com> References: <4087B985.8040000@zetadb.com> Message-ID: <40879FB0.20202@arrakis.es> Yo aún diría más, muchas de esas cosas tendrás que buscarlas en el código fuente. Santi Camps wrote: > Hola a todos, > > Estoy buscando algún libro y/o documentación sobre las > "internalidades" de python. Es decir, cosas como la gestión de > memoria, la recarga dinámica de módulos, gestión de threads, etc. > Vaya, que python es genial, rápido de aprender y fácil de usar, pero > en ocasiones me vendría bién saber qué está haciendo y porqué lo hace. > Puesto que aquí hay gente con buen conocimiento de estos temas, ¿Sabe > alguién de algún libro o documento que valga la pena? ¡O hay que > buscar estas cosas en las listas de correo? > > Gracias > > Santi Camps ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From josu en ubera.net Thu Apr 22 12:57:48 2004 From: josu en ubera.net (Josu Oyanguren) Date: Thu, 22 Apr 2004 12:57:48 +0200 Subject: tratamiento de listas In-Reply-To: <1082627716.408796849e24e@webmail.unizar.es> References: <1082627716.408796849e24e@webmail.unizar.es> Message-ID: <4087A52C.9020506@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 David Sanchez Perez escribió: | Buenas listeros. | Mi pregunta es la siguiente. Supongamos que tengo la lista que aparece a | continuacion: | | ['(\\HasNoChildren) "." "INBOX.Trash"','(\\HasNoChildren) "." "INBOX.Sent"', | '(\\HasNoChildren) "." "INBOX.prueba_dvd.anidada2"','(\\HasChildren) "." | "INBOX.prueba_dvd"','(\\Unmarked \\HasChildren) "." "INBOX"'] | | Pues bien, yo de esa lista, quiero un array que contenga cada uno de los | buzones, es decir INBOX.Trash, INBOX.Sent, ...., INBOX*. | La idea seria hacer como un split con '"' como separador, y no tener en cuenta | la cadena "." | La cosa es que no se como hacerlo. | Otra manera que se me ha ocurrido es hacer un cast a esa lista para pasarlo a | tipo cadena (no se todavia como se haria tampoco), y una vez que fuese una | cadena, hacer: | [s for s in cad.split('"') if s.startswith('IN.')] puedes hacer cad = ''.join(lista) y luego result = [i for i in cad.split('"') if i.startswith('INBOX')] | suponiendo que en 'cad' tenga la cadena | | | Un saludo y gracias | DvD | _______________________________________________ | Python-es mailing list | Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es | | - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAh6Us5ju4HVxhuqQRAiedAJ9qBdy7P9LziaZAnvBopLX00Z363gCfbFbV CBZoSrBgeGNSQ7rb1T2E6Nk= =S7kF -----END PGP SIGNATURE----- ------------ 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 Apr 22 13:16:47 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 22 Apr 2004 13:16:47 +0200 Subject: Pregunta sobre tuplas/listas In-Reply-To: <20040419122955.GD1070@demiurgo.org> References: <20040419122955.GD1070@demiurgo.org> Message-ID: <200404221316.47310.py@ch3m4.org> El Lunes, 19 de Abril de 2004 14:29, Esteban Manchado Velázquez escribió: > Hola a todos, > > Una preguntilla rápida: estoy intentando obtener una lista a partir de > caracteres, con la función "split". La lista final no sé si tendrá uno o > dos elementos, así que necesito cubrir los dos casos. > > cuando hay sólo un elemento. ¿Hay alguna forma de sacar los elementos de > la lista sin tener que asignar a una lista temporal y luego coger elemento > a elemento, cazando excepciones? Intuyo que ésto lo usarás con nombres de fichero. Si es así , utiliza os.path.splitext Lo que no entiendo para qué hay que usar una lista temporal: if lista.find(separador)>=0: uno, dos = lista.split(separador, 1) else: uno, dos = lista, '' Ya sé que son más líneas, pero queda mucho más claro. ------------ 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 Thu Apr 22 13:44:26 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Thu, 22 Apr 2004 13:44:26 +0200 Subject: Internalidades de python In-Reply-To: <4087B985.8040000@zetadb.com> References: <4087B985.8040000@zetadb.com> Message-ID: Santi escribio: > Estoy buscando algún libro y/o documentación sobre las > "internalidades" de python. > ... > ¿Sabe alguién de algún libro o documento que valga la pena? Ni idea. A mí también me interesaría leer algo así. > ¿O hay que buscar estas cosas en las listas de correo? Detalles encontrarás en la de python-dev. Explicaciones mas generales quizás encuentres en comp.lang.python (aunque buscar algo en esta ultima puede ser complejo) Leer la documentación de extending/embedding puede servir para darse una idea de las interfaces internas de python y entender algunas decisiones que se han tomando en el lenguaje. A veces, los PEP también pueden ser referencias utiles. Y como dijo Marcos, la autoridad definitiva son los fuentes. Dependiendo el tema de tu interés muchos de los .c son muy legibles. Los mas sencillos de entender son los que implementan los tipos de datos (los .c que están bajo los directorios Objects/ y Modules/. Otros, como el que implementa el recolector de basura, requieren una base teórica previa (en estos casos, en los comentarios del fuente, se suele incluir enlaces a papers) Los peores, como ceval.c y en particular la funcion eval_frame ;-), pueden precisar un par de semanas a tiempo completo y un buen lote de analgesicos para el dolor de cabeza. En mi opinion, se aprende mucho mas leyendo los *comentarios* de los fuentes y de los *cambios* de cada uno en las versiones que intentando seguir linea a linea de codigo C. En esos casos ni siquiera bajo los fuentes de python, directamente accedo online al CVS: http://cvs.sourceforge.net/viewcvs.py/python/python/dist/src/ -H. ------------ 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 Apr 22 14:30:50 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 22 Apr 2004 14:30:50 +0200 Subject: Internalidades de python In-Reply-To: <4087B985.8040000@zetadb.com> References: <4087B985.8040000@zetadb.com> Message-ID: <200404221430.50819.py@ch3m4.org> El Jueves, 22 de Abril de 2004 14:24, Santi Camps escribió: > Estoy buscando algún libro y/o documentación sobre las "internalidades" > de python. Es decir, cosas como la gestión de memoria, la recarga > dinámica de módulos, gestión de threads, etc. Vaya, que python es > genial, rápido de aprender y fácil de usar, pero en ocasiones me vendría > bién saber qué está haciendo y porqué lo hace. > > Puesto que aquí hay gente con buen conocimiento de estos temas, ¿Sabe > alguién de algún libro o documento que valga la pena? ¡O hay que buscar > estas cosas en las listas de correo? Yo opino como Marcos que todos los caminos hacia la "internalidad" del python pasan por revisar pacientemente su código fuente. A veces he pensado en escribir algo sobre interioridades del python, pero cuando empezé a ver todo lo que se estaba haciendo alrededor del stackless, vyper y pypy decidí olvidarme de ello y mantener a salvo mi escasa salud mental :-P Una buena fuente que tienes son los PEPs, donde siempre hay álguien que ha pensado en alguna optimización de alguna parte del intérprete (PEP304,PEP311,...) Pero si has podido resistir al visionado del código de zope, el del python te será menos "peligroso" :-D ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Andres.Moya en hispalinux.es Thu Apr 22 14:39:30 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Thu, 22 Apr 2004 14:39:30 +0200 Subject: Almacenar objetos en XML Message-ID: <1082637570.4553.88.camel@cebollino.micasa.es> Buenas. Una preguntita: estoy escribiendo una librería, y dentro de ella existe una clase, pongamos MiClaseBase, que está pensada para que los clientes creen clases derivadas de ella (o sea, una clase abstracta). Y quiero que los objetos de esas clases se puedan exportar a XML y viceversa. El primer paso es fácil: añado un método salvarXML() a MiClaseBase, que devuelve el nombre de la clase y los atributos convertidos en XML. El problema es a la hora de cargar: escribo una función en MiClaseBase.py que recibe un XML y devuelve una instancia. Lo malo es que no sé como instanciar una clase partiendo únicamente de su nombre, y teniendo en cuenta además que la clase en cuestión no es visible desde esa función, puesto que los módulos de los usuarios importan MiClaseBase.py, pero no al revés. Seguro que hay algún hack por ahí para conseguir esto, pero no he sido capaz de encontrarlo. ¿Alguna idea? ¿No habrá, por cierto, alguna librería por ahí para hacer esto mismo, pero sin que tenga que "casarme" con algún megaentorno? Gracias por vuestra atención. -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From santi en zetadb.com Thu Apr 22 17:14:59 2004 From: santi en zetadb.com (Santi Camps) Date: Thu, 22 Apr 2004 15:14:59 +0000 Subject: Internalidades de python In-Reply-To: <200404221430.50819.py@ch3m4.org> References: <4087B985.8040000@zetadb.com> <200404221430.50819.py@ch3m4.org> Message-ID: <4087E172.8010209@zetadb.com> >El Jueves, 22 de Abril de 2004 14:24, Santi Camps escribió: > > > >>Estoy buscando algún libro y/o documentación sobre las "internalidades" >>de python. Es decir, cosas como la gestión de memoria, la recarga >>dinámica de módulos, gestión de threads, etc. Vaya, que python es >>genial, rápido de aprender y fácil de usar, pero en ocasiones me vendría >>bién saber qué está haciendo y porqué lo hace. >> >>Puesto que aquí hay gente con buen conocimiento de estos temas, ¿Sabe >>alguién de algún libro o documento que valga la pena? ¡O hay que buscar >>estas cosas en las listas de correo? >> >> > >Yo opino como Marcos que todos los caminos hacia la "internalidad" del python >pasan por revisar pacientemente su código fuente. > >A veces he pensado en escribir algo sobre interioridades del python, pero >cuando empezé a ver todo lo que se estaba haciendo alrededor del stackless, >vyper y pypy decidí olvidarme de ello y mantener a salvo mi escasa salud >mental :-P > >Una buena fuente que tienes son los PEPs, donde siempre hay álguien que ha >pensado en alguna optimización de alguna parte del intérprete >(PEP304,PEP311,...) > >Pero si has podido resistir al visionado del código de zope, el del python te >será menos "peligroso" :-D > > Gracias a todos En los PEP's veo que hay reflexiones muy interesantes. Y el código está claro y comentado, cosa que es de agradecer. Vamos a ello Saludos Santi Camps ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Thu Apr 22 16:25:52 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 22 Apr 2004 16:25:52 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082637570.4553.88.camel@cebollino.micasa.es> References: <1082637570.4553.88.camel@cebollino.micasa.es> Message-ID: <200404221625.52945.falted@pytables.org> A Dijous 22 Abril 2004 14:39, Andres Moya va escriure: > El problema es a la hora de cargar: escribo una función en > MiClaseBase.py que recibe un XML y devuelve una instancia. Lo malo es > que no sé como instanciar una clase partiendo únicamente de su nombre, y > teniendo en cuenta además que la clase en cuestión no es visible desde > esa función, puesto que los módulos de los usuarios importan > MiClaseBase.py, pero no al revés. Pues si la clase no es visible, no veo la manera de crear instancias a partir del fichero XML. > Seguro que hay algún hack por ahí para conseguir esto, pero no he sido > capaz de encontrarlo. ¿Alguna idea? ¿No habrá, por cierto, alguna > librería por ahí para hacer esto mismo, pero sin que tenga que "casarme" > con algún megaentorno? Échale una mirada al paquete Gnosis_Utils [0], de David Mertz. En él hay un par de módulos, llamados gnosis.xml.pickle y gnosis.xml.objectify. Uno es una especie de pickle pero para python, y el otro te convierte un fichero *generico* XML a una representación jerárquica con objectos python siguiendo la nomeclatura de "nombrado natural" (natural naming). Para tu caso, creo que lo mejor va a ser el gnosis.xml.pickle (más info en [1] y [2]). Hace lo que tú quieres y mucho más. Soporta todos los objectos más comunes de Python, incluso los de Numeric, y, en general, todos aquellos que soporten los métodos __getstate__()/__setstate__() (standard del protocolo pickle). Además, te permite crear objectos "mutadores" para personalizarte tú mismo cómo quieres hacer la serialización (y deserialización, por supuesto), que después asocias a los objectos a serializar. Tiene sus fallos (en particular, no me gusta la elección del DTD para la serialización por defecto, creo que se podria hacer más simple y elegante, aunque esto es una apreciación un poco subjectiva), pero en general es muy potente. Referencias: [0] http://www.gnosis.cx/download/ [1] http://gnosis.cx/publish/programming/xml_matters_1.txt [2] http://gnosis.cx/publish/programming/xml_matters_11.txt Saludos, -- Francesc Alted ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Thu Apr 22 16:35:06 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 22 Apr 2004 16:35:06 +0200 Subject: Almacenar objetos en XML In-Reply-To: <200404221625.52945.falted@pytables.org> References: <1082637570.4553.88.camel@cebollino.micasa.es> <200404221625.52945.falted@pytables.org> Message-ID: <200404221635.06153.falted@pytables.org> A Dijous 22 Abril 2004 16:25, Francesc Alted va escriure: > Échale una mirada al paquete Gnosis_Utils [0], de David Mertz. En él hay un > par de módulos, llamados gnosis.xml.pickle y gnosis.xml.objectify. Uno es > una especie de pickle pero para python Ui!, quise decir "pero para XML". Ya no sé si esto es dislexia o gilipollez :-( -- Francesc Alted ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Andres.Moya en hispalinux.es Thu Apr 22 17:48:16 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Thu, 22 Apr 2004 17:48:16 +0200 Subject: Almacenar objetos en XML In-Reply-To: <200404221625.52945.falted@pytables.org> References: <1082637570.4553.88.camel@cebollino.micasa.es> <200404221625.52945.falted@pytables.org> Message-ID: <1082648896.4553.129.camel@cebollino.micasa.es> El jue, 22-04-2004 a las 16:25, Francesc Alted escribió: > > Seguro que hay algún hack por ahí para conseguir esto, pero no he sido > > capaz de encontrarlo. ¿Alguna idea? ¿No habrá, por cierto, alguna > > librería por ahí para hacer esto mismo, pero sin que tenga que "casarme" > > con algún megaentorno? > > Échale una mirada al paquete Gnosis_Utils [0], de David Mertz. En él hay un > par de módulos, llamados gnosis.xml.pickle y gnosis.xml.objectify. Uno es > una especie de pickle pero para python, y el otro te convierte un fichero > *generico* XML a una representación jerárquica con objectos python siguiendo > la nomeclatura de "nombrado natural" (natural naming). Ah, pues tiene una pinta genial, lo probaré. De todas formas, debe haber alguna manera de hacer eso, si el señor Mertz lo hace, ¿por qué yo no? :D Así podría personalizar el tipo de XML que se genera, aunque si lo veo complicado, pues puedo usar esa librería, está bastante bien. Brujuleando por ahí he visto que, al parecer, el pickle normal lo que hace es que además de la clase guarda el nombre del módulo (que se puede encontrar en instancia.__class__.__module__), y luego, al cargar, primero importa el módulo y luego instancia la clase. He escrito esto que al parecer funciona, aunque no me parece muy bonito: def cargar(string_xml): [... leer el nombre del modulo y la clase ...] modulo = __import__(nombre_modulo) instancia = eval("modulo." + nombre_clase + "()") [... rellenar los atributos ...] return instancia Ahora tengo que investigar la cuestión de los parámetros del __init__. Seguiré investigando... -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Thu Apr 22 18:01:32 2004 From: falted en pytables.org (Francesc Alted) Date: Thu, 22 Apr 2004 18:01:32 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082648896.4553.129.camel@cebollino.micasa.es> References: <1082637570.4553.88.camel@cebollino.micasa.es> <200404221625.52945.falted@pytables.org> <1082648896.4553.129.camel@cebollino.micasa.es> Message-ID: <200404221801.32876.falted@pytables.org> A Dijous 22 Abril 2004 17:48, Andres Moya va escriure: > De todas formas, debe haber alguna manera de hacer eso, si el señor > Mertz lo hace, ¿por qué yo no? :D Así podría personalizar el tipo de > XML que se genera, aunque si lo veo complicado, pues puedo usar esa > librería, está bastante bien. Como ya he dicho, con gnosis.xml.pickle también puedes personalizar, pero si te lo quieres currar todo de arriba abajo, adelante. > > Brujuleando por ahí he visto que, al parecer, el pickle normal lo que > hace es que además de la clase guarda el nombre del módulo (que se puede > encontrar en instancia.__class__.__module__), y luego, al cargar, > primero importa el módulo y luego instancia la clase. Ok. Entonces no te entendí, ya que creía que no podias importar el módulo donde esta alojada la clase. Si puedes, no hay problema. > > modulo = __import__(nombre_modulo) > instancia = eval("modulo." + nombre_clase + "()") Cuidado con eval, porque puede ser inseguro (si alguien por ejemplo te modifica los ficheros XML). Mertz eliminó eval de su módulo hace tiempo y lo sustituyó por la utilidad gnosis.util.XtoY. Si tus ficheros XML son seguros, entonces nada... -- Francesc Alted ------------ 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 Thu Apr 22 18:53:24 2004 From: hernan en orgmf.com.ar (Hernan Foffani) Date: Thu, 22 Apr 2004 18:53:24 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082648896.4553.129.camel@cebollino.micasa.es> References: <1082648896.4553.129.camel@cebollino.micasa.es> Message-ID: Andres Moya escribio: > def cargar(string_xml): > > [... leer el nombre del modulo y la clase ...] > > modulo = __import__(nombre_modulo) > instancia = eval("modulo." + nombre_clase + "()") > > [... rellenar los atributos ...] > > return instancia Tienes otras alternativas al ``eval''. Puedes hacer algo así: modulo = __import__(nombre_modulo) instancia = modulo.__dict__[nombre_clase]() ... etc ... -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From fernandoe en coordinadora.com Thu Apr 22 23:57:48 2004 From: fernandoe en coordinadora.com (Juan Fernando Estrada) Date: Thu, 22 Apr 2004 16:57:48 -0500 Subject: Hacer Reportes In-Reply-To: <20040416032230.96530.qmail@web61008.mail.yahoo.com> References: <20040416032230.96530.qmail@web61008.mail.yahoo.com> Message-ID: <1082671067.7442.2.camel@a.b.com> saludos, usa el printframework de wxpython es bastante bueno para hacer reportes y ademas es multiplataforma, funciona igual de bien tanto en linux como en win32 El jue, 15-04-2004 a las 22:22, Niobe Zion escribió: > Hola Lista!!! > > Donde podre encontrar informacion para hacer reportes, > estoy unsado python 2.3, postgresql 7.3 y Boa > Constructor. > > Gracia! > > > _________________________________________________________ > Do You Yahoo!? > La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From jjdelcerro en cenoclap.es Fri Apr 23 07:19:08 2004 From: jjdelcerro en cenoclap.es (Joaquin Jose del Cerro Murciano) Date: Fri, 23 Apr 2004 07:19:08 +0200 Subject: Almacenar objetos en XML In-Reply-To: References: Message-ID: <200404230719.09034.jjdelcerro@cenoclap.es> El Jueves, 22 de Abril de 2004 18:53, Hernan Foffani escribió: > Andres Moya escribio: > > def cargar(string_xml): > > > > [... leer el nombre del modulo y la clase ...] > > > > modulo = __import__(nombre_modulo) > > instancia = eval("modulo." + nombre_clase + "()") > > > > [... rellenar los atributos ...] > > > > return instancia > > Tienes otras alternativas al ``eval''. > Puedes hacer algo así: > > modulo = __import__(nombre_modulo) > instancia = modulo.__dict__[nombre_clase]() > ... etc ... > > -H. Basicamente la idea esta bien, pero yo me tropeze con problemas con el __import__ cuando tienes que importar un modulo de dentro de un paquete. En lugar de gastar __import__ directamente, gasto un par de funcioncitas : def moduleimport(name): mod=__import__(name) components=name.split('.') for comp in components[1:]: mod=getattr(mod,comp) return mod def classimport(classPath): """ Recibe un nombre de clase indicando el paquete en el que aparece y carga su modulo devolbiendo la clase. El formato de classPath es una cadena como: paquete.(...paquete...).modulo.nombre_de_clase """ klass=None try: posicionPunto=classPath.rfind(".") mod=moduleimport(classPath[:posicionPunto]) klass=getattr(mod,classPath[posicionPunto+1:]) except Exception,errmsg: raise ImportError, \ "Se ha producido un error importando la clase '%s'. %s" % (\ repr(classPath), errmsg ) return klass El codigo de moduleimport ha sido extraido de "Python Library Reference", capitulo "2.1 Built-in Functions". Un saludo Joaquin ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jjdelcerro en cenoclap.es Fri Apr 23 07:38:19 2004 From: jjdelcerro en cenoclap.es (Joaquin Jose del Cerro Murciano) Date: Fri, 23 Apr 2004 07:38:19 +0200 Subject: tratamiento de listas In-Reply-To: <1082627716.408796849e24e@webmail.unizar.es> References: <1082627716.408796849e24e@webmail.unizar.es> Message-ID: <200404230738.19835.jjdelcerro@cenoclap.es> El Jueves, 22 de Abril de 2004 11:55, David Sanchez Perez escribió: > Buenas listeros. > Mi pregunta es la siguiente. Supongamos que tengo la lista que aparece a > continuacion: > > ['(\\HasNoChildren) "." "INBOX.Trash"','(\\HasNoChildren) "." > "INBOX.Sent"', '(\\HasNoChildren) "." > "INBOX.prueba_dvd.anidada2"','(\\HasChildren) "." > "INBOX.prueba_dvd"','(\\Unmarked \\HasChildren) "." "INBOX"'] > > Pues bien, yo de esa lista, quiero un array que contenga cada uno de los > buzones, es decir INBOX.Trash, INBOX.Sent, ...., INBOX*. > La idea seria hacer como un split con '"' como separador, y no tener en > cuenta la cadena "." > La cosa es que no se como hacerlo. > Otra manera que se me ha ocurrido es hacer un cast a esa lista para pasarlo > a tipo cadena (no se todavia como se haria tampoco), y una vez que fuese > una cadena, hacer: > [s for s in cad.split('"') if s.startswith('IN.')] > suponiendo que en 'cad' tenga la cadena > > > Un saludo y gracias > DvD > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Hola, asi sin complicarme mucho la vida lo primero que se me ocurre podria ser algo como: import re lista=[ '(\\HasNoChildren) "." "INBOX.Trash"', '(\\HasNoChildren) "." "INBOX.Sent"', '(\\HasNoChildren) "." "INBOX.prueba_dvd.anidada2"', '(\\HasChildren) "." "INBOX.prueba_dvd"', '(\\Unmarked \\HasChildren) "." "INBOX"' ] lista2 = list() for s in lista: lista2.append( re.sub("^.*INBOX","INBOX",s)[:-1] ) print lista2 Si te vale, ahi lo tienes. Un saludo Joaquin. From jjdelcerro en cenoclap.es Fri Apr 23 08:00:19 2004 From: jjdelcerro en cenoclap.es (Joaquin Jose del Cerro Murciano) Date: Fri, 23 Apr 2004 08:00:19 +0200 Subject: Sobre SOAP In-Reply-To: <200404191739.36219.falted@pytables.org> References: <000601c4260e$2b2466a0$bb853c51@SEVIPC> <200404191739.36219.falted@pytables.org> Message-ID: <200404230800.19253.jjdelcerro@cenoclap.es> El Lunes, 19 de Abril de 2004 17:39, Francesc Alted escribió: > A Dilluns 19 Abril 2004 14:59, Pedro Javier Aljaro Velasco va escriure: > > Hola a todos, me gustaría que alguien me pudiera dar información sobre > > un par de cosillas: > > > > - ¿Cómo se pueden enviar ficheros o archivos enteros usando > > SOAP (en este caso yo uso SOAPpy y python 2.2)? O algun otro metodo para > > poder enviarlos de un servicio cliente a un servicio servidor y > > viceversa, siempre utilizando SOAP > > Por que no lo metes en una lista de strings y lo envias? Si prefieres, > puedes usar un string "a pelo" para meter todo el fichero (después, > simplemente usas las marcas \r\n para desempaquetarlo correctamente). > > > - ¿Hay alguna forma de poder capturar la IP o alguna > > información más sobre las personas que utilizan un servicio web que se > > oferta? Es decir, yo ofrezco un servicio web mediante un script > > servidor, y me gustaría poder recopilar información de las máquinas que > > lo utilizan, como puede ser su IP, fecha y hora, localización, … Sería > > como un “web services metering” > > Supongo que habrá varias maneras. Yo uso ZSI combinado con mod-python y > Apache, y por tanto, es mod-python quien se encarga de dar la información > accediendo a las tablas internas de Apache (Connection object). Aunque si > usas otros servidores web o Soap en standalone esto no te sirve. > > Saludos, Hola, Yo no suelo gastor SOAP, uso XMLRPC, pero me he encontrado con esos mismo problemas. Ahi van un par de ideas: Respecto a lo de enviar ficheros, lo de meterlos como strings a pelo me dio muchos doleres de cabeza, dependiendo del contenido del fichero el XML resultante se me destrozaba. Resulto menos malo embiarlos codificados en base64. import base64 f = file("nombre") s = read(f) f.close() s = base64.encodestring(s) Y para recuperarlo usar base64.decodestring. De todos modos, aunque asi te ira, no es lo mas optimo en cuanto a rendimientos, ya que si el fichero es muy largo sobrecargas mucho el "parseado" del XML. Respecto a lo de saver quien te llama a tus servicios web, en XMPRPC, y por lo que recuerdo de SAP tambien), puedes subirte a la chepa de las funciones que registras en tu servidor o crear tu propia clase servidor. Si lo haces de la primera forma no encontre manera de recopilar esa informacion. Creando tu servidor tienes acceso a el socket y a partir de el puedes obtener casi todo lo que necesites. Voy a ver si me bajo el SOAPpy y te doy alguna pista de como hacerlo. Un saludo Joaquin From Andres.Moya en hispalinux.es Fri Apr 23 08:26:28 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Fri, 23 Apr 2004 08:26:28 +0200 Subject: Almacenar objetos en XML In-Reply-To: References: Message-ID: <1082701588.3071.38.camel@cebollino.micasa.es> El jue, 22-04-2004 a las 18:53, Hernan Foffani escribió: > Tienes otras alternativas al ``eval''. > Puedes hacer algo así: > > modulo = __import__(nombre_modulo) > instancia = modulo.__dict__[nombre_clase]() > ... etc ... Pues sí, está bien. O incluso algo más curioso todavía, y así me evito problemas con el __init__ (esto es un truco que he visto en algún sitio, pero no sé dónde, la verdad es que resulta de lo más chocante para alguien acostumbrado a lenguajes estáticamente tipados): class Chorra(object): pass ... modulo = __import__(nombre_modulo) instancia = Chorra() instancia.__class__ = modulo.__dict__[nombre_clase] ... De toas formas, creo que al final voy a usar la librería de David Mertz. El XML que genera es suficientemente majo y seguro que me evito problemas. Las funciones de Joaquin, la verdad es que ahora mismo no les pillo el por qué, será cuestión de probar más detenidamente. Por cierto, esto es bueno para escribirlo en una receta y publicarla. ¿No hay por ahí un recetario de python como el que hay en HispaZope? -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jjdelcerro en cenoclap.es Fri Apr 23 08:31:04 2004 From: jjdelcerro en cenoclap.es (Joaquin Jose del Cerro Murciano) Date: Fri, 23 Apr 2004 08:31:04 +0200 Subject: Sobre SOAP In-Reply-To: <000601c4260e$2b2466a0$bb853c51@SEVIPC> References: <000601c4260e$2b2466a0$bb853c51@SEVIPC> Message-ID: <200404230831.04894.jjdelcerro@cenoclap.es> El Lunes, 19 de Abril de 2004 14:59, Pedro Javier Aljaro Velasco escribió: > Hola a todos, me gustaría que alguien me pudiera dar información sobre > un par de cosillas: > > - ¿Cómo se pueden enviar ficheros o archivos enteros usando > SOAP (en este caso yo uso SOAPpy y python 2.2)? O algun otro metodo para > poder enviarlos de un servicio cliente a un servicio servidor y > viceversa, siempre utilizando SOAP > > - ¿Hay alguna forma de poder capturar la IP o alguna > información más sobre las personas que utilizan un servicio web que se > oferta? Es decir, yo ofrezco un servicio web mediante un script > servidor, y me gustaría poder recopilar información de las máquinas que > lo utilizan, como puede ser su IP, fecha y hora, localización, … Sería > como un “web services metering” > > Espero vuestra ayuda y gracias de antemano > > Pedro Javier Aljaro Velasco > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Hola, Para lo de conseguir la IP y demas, puedes crear una clase que deribe de SOAPRequestHandler, y sobreescribes el metodo do_POST. Ahi, tienes acceso al self.rfile, que es el socket por el que se ha establecido la conexion, y puedes tirar de los metodos del socket para haberiguar la ip origen (mira la documentacion de la clase socket), sacar a logs lo que te interese e invocar al do_POST de la superclase para que continue el precesado de la peticion. Luego, cuando crees el server de SOAP, le pasas en el parametro RequestHandler la clase request que has creado. class MyRequestHandler(SOAPpy.Server.SOAPRequestHandler): def do_POST(self): guardar_en_el_log(self.rfile) return SOAPpy.Server.SOAPRequestHandler.do_POST(self) server = SOAPpy.Server.SOAPServer( addr = XXXXX, RequestHandler = MyRequestHandler, ... ) Algo asi. No lo he probado con el SOAPpy, pero mas o menos lo tengo funcionando asi con XMLRPC. Tomalo como una idea y a partir de ahi elabora tu propio codigo. Un saludo Joaquin From jjdelcerro en cenoclap.es Fri Apr 23 08:37:31 2004 From: jjdelcerro en cenoclap.es (Joaquin Jose del Cerro Murciano) Date: Fri, 23 Apr 2004 08:37:31 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082701588.3071.38.camel@cebollino.micasa.es> References: <1082701588.3071.38.camel@cebollino.micasa.es> Message-ID: <200404230837.31165.jjdelcerro@cenoclap.es> El Viernes, 23 de Abril de 2004 08:26, Andres Moya escribió: > El jue, 22-04-2004 a las 18:53, Hernan Foffani escribió: > > Tienes otras alternativas al ``eval''. > > Puedes hacer algo así: > > > > modulo = __import__(nombre_modulo) > > instancia = modulo.__dict__[nombre_clase]() > > ... etc ... > > Pues sí, está bien. O incluso algo más curioso todavía, y así me evito > problemas con el __init__ (esto es un truco que he visto en algún sitio, > pero no sé dónde, la verdad es que resulta de lo más chocante para > alguien acostumbrado a lenguajes estáticamente tipados): > > class Chorra(object): > pass > > ... > modulo = __import__(nombre_modulo) > instancia = Chorra() > instancia.__class__ = modulo.__dict__[nombre_clase] > ... > > De toas formas, creo que al final voy a usar la librería de David Mertz. > El XML que genera es suficientemente majo y seguro que me evito > problemas. Las funciones de Joaquin, la verdad es que ahora mismo no les > pillo el por qué, será cuestión de probar más detenidamente. Si tienes que acabar gastando el __import__ te recomiendo que leas la documentacion de esta funcion que biene con el manual de python por el tema de los paquetes, te evitaras sorpresas, alli esta bien explicado. > > Por cierto, esto es bueno para escribirlo en una receta y publicarla. > ¿No hay por ahí un recetario de python como el que hay en HispaZope? Un saludo Joaquin. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From okktawio en yahoo.com.ar Tue Apr 13 15:30:29 2004 From: okktawio en yahoo.com.ar (Octavio Bruzzone) Date: Tue, 13 Apr 2004 10:30:29 -0300 Subject: Reunion de python en Buenos Aires In-Reply-To: <20040413112304.61A3C141C16C@devnull.aditel.org> References: <20040413112304.61A3C141C16C@devnull.aditel.org> Message-ID: <200404131030.29634.okktawio@yahoo.com.ar> >Para mi lo mejor es un día de semana, tipo 7 de la tarde, en un bar más o >menos céntrico. > Yo no tengo problema con los horarios a partir de las 14hs, salvo el sabado. Por lo demas dispongan como les parezca que voy a estar alli. From okktawio en yahoo.com.ar Tue Apr 13 15:39:39 2004 From: okktawio en yahoo.com.ar (Octavio Bruzzone) Date: Tue, 13 Apr 2004 10:39:39 -0300 Subject: cursos de programacion cientifica con python Message-ID: <200404131039.39101.okktawio@yahoo.com.ar> Hola, con alguna gente estabamos pensando en dictar un curso sobre programacion cientifica. Yo propuse utilizar python+numerical python en lugar de matlab o cosas parecidas, porque es un lenguaje de uso general, y puede ser a la larga mucho mas util (Seria un avance mas de python en el mundo de la biologia, donde es casi desconocido). Mas alla del libro "How to think as a computer scientist...", ¿sabe alguien de algun lugar o alguien que dicte cursos similares con python?, ¿o donde conseguir programas que puedan servir como guias para armar un curso? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From svazquez en sadiel.es Fri Apr 23 09:53:05 2004 From: svazquez en sadiel.es (=?utf-8?B?IlbDoXpxdWV6IENhc2NhbGVzLCBTZWJhc3Rpw6FuIg==?=) Date: Fri, 23 Apr 2004 09:53:05 +0200 Subject: cursos de programacion cientifica con python Message-ID: <618FF4C21278E44BB35BD24B86C2779603673535@CORREO.sadiel.es> Hola! Soy nuevo en python, y llego a él de la mano de Plone y Zope. Soy casi licenciado en física y también me interesa el tema. Buscando información sobre python encontré un par de documentos, en inglés, que te pueden valer. http://www.wag.caltech.edu/home/rpm/python_course/Lecture_1.pdf http://matpy.sourceforge.net/ http://www.soton.ac.uk/~fangohr/python/pythonintro_4up.pdf http://www.physics.ucf.edu/~mdj/MinimalPython.pdf No tiene mucho misterio, los encontré con google. Suerte. -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En nombre de Octavio Bruzzone Enviado el: martes, 13 de abril de 2004 15:40 Para: python-es en aditel.org Asunto: [Python-es] cursos de programacion cientifica con python Hola, con alguna gente estabamos pensando en dictar un curso sobre programacion cientifica. Yo propuse utilizar python+numerical python en lugar de matlab o cosas parecidas, porque es un lenguaje de uso general, y puede ser a la larga mucho mas util (Seria un avance mas de python en el mundo de la biologia, donde es casi desconocido). Mas alla del libro "How to think as a computer scientist...", ¿sabe alguien de algun lugar o alguien que dicte cursos similares con python?, ¿o donde conseguir programas que puedan servir como guias para armar un curso? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Sat Apr 24 04:00:38 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Fri, 23 Apr 2004 19:00:38 -0700 Subject: cursos de programacion cientifica con python In-Reply-To: <200404131039.39101.okktawio@yahoo.com.ar> References: <200404131039.39101.okktawio@yahoo.com.ar> Message-ID: <1082772038.4089ca46b99fb@ch3m4.org> Mensaje citado por Octavio Bruzzone : > Mas alla del libro "How to think as a computer scientist...", ¿sabe alguien > de > algun lugar o alguien que dicte cursos similares con python?, ¿o donde > conseguir programas que puedan servir como guias para armar un curso? Esta es una de las preguntas que más gustan responder: el Instituto Pasteur tiene publicados varios cursos sobre BioInformática en python que creo que son justo lo que buscas: http://www.pasteur.fr/recherche/unites/sis/formation/python/ http://www.pasteur.fr/formation/infobio/python/ Estos cursos se engloban dentro del BioPython: http://www.biopython.org/ Creo que demuestra que "python" no es tan desconocido en el mundo científico, y mucho menos en Biología. Aunque está todavía en su fase incicial, por aquí en Zaragoza (España) tenemos un instituto de Bioinformática (BIFI) que está realizando serios esfuerzos en aplicar software libre en Bioinformática. En este momento están trabajando por montar un cluster, pero Confío que algún día lleguen a interesarse por python ;-) http://bifi.unizar.es From ch3m4 en ch3m4.org Sat Apr 24 04:12:57 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Fri, 23 Apr 2004 19:12:57 -0700 Subject: Almacenar objetos en XML In-Reply-To: <1082701588.3071.38.camel@cebollino.micasa.es> References: <1082701588.3071.38.camel@cebollino.micasa.es> Message-ID: <1082772777.4089cd295cd8b@ch3m4.org> Mensaje citado por Andres Moya : > El jue, 22-04-2004 a las 18:53, Hernan Foffani escribió: > > > Tienes otras alternativas al ``eval''. > > Puedes hacer algo así: > > > > modulo = __import__(nombre_modulo) > > instancia = modulo.__dict__[nombre_clase]() > > ... etc ... > > Pues sí, está bien. O incluso algo más curioso todavía, y así me evito > problemas con el __init__ (esto es un truco que he visto en algún sitio, > pero no sé dónde, la verdad es que resulta de lo más chocante para > alguien acostumbrado a lenguajes estáticamente tipados): > > class Chorra(object): > pass > > ... > modulo = __import__(nombre_modulo) > instancia = Chorra() > instancia.__class__ = modulo.__dict__[nombre_clase] > ... Disculpa, pero ahora no tengo tiempo de examinar mejor tu problema. Por lo que veo ese "hack" que necesitas son las llamadas "metaclases", ésto es, una clase que genera clases. Busca en la documentación por metaclases, en concreto busca por el atributo __metaclass__ y el método __new__ From Andres.Moya en hispalinux.es Sat Apr 24 15:19:34 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Sat, 24 Apr 2004 15:19:34 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082772777.4089cd295cd8b@ch3m4.org> References: <1082701588.3071.38.camel@cebollino.micasa.es> <1082772777.4089cd295cd8b@ch3m4.org> Message-ID: <1082812774.3131.5.camel@cebollino.micasa.es> El sáb, 24-04-2004 a las 04:12, Chema Cortés escribió: > Disculpa, pero ahora no tengo tiempo de examinar mejor tu problema. Por lo que > veo ese "hack" que necesitas son las llamadas "metaclases", ésto es, una clase > que genera clases. > > Busca en la documentación por metaclases, en concreto busca por el atributo > __metaclass__ y el método __new__ Buf, alguna vez he echado un vistazo a ese tema de las metaclases, pero mi cabeza enseguida empezaba a echar humillo... Sí, algún día le echaré un par e intentaré meterme con ello, a ver si me entero. -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lcatalin en siadv.com Mon Apr 26 10:55:46 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Mon, 26 Apr 2004 10:55:46 +0200 Subject: Informes ... Message-ID: <000d01c42b6c$4c35e7c0$c800a8c0@catalin> Hola, Hay algún otro editor de informes, además de ReportLab. Tal vez con interfaz grafica? Un saludo, Catalin Lungu From py en ch3m4.org Mon Apr 26 11:34:00 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Mon, 26 Apr 2004 11:34:00 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082812774.3131.5.camel@cebollino.micasa.es> References: <1082772777.4089cd295cd8b@ch3m4.org> <1082812774.3131.5.camel@cebollino.micasa.es> Message-ID: <200404261134.00777.py@ch3m4.org> El Sábado, 24 de Abril de 2004 15:19, Andres Moya escribió: > Buf, alguna vez he echado un vistazo a ese tema de las metaclases, pero > mi cabeza enseguida empezaba a echar humillo... Sí, algún día le echaré > un par e intentaré meterme con ello, a ver si me entero.   class Chorra(object):     pass   ...   modulo = __import__(nombre_modulo)   instancia = Chorra()   instancia.__class__ = modulo.__dict__[nombre_clase]   ... Lo que le puede ocurrir a este código que propones es que no se inicializa bien la instancia, o sea, no se llama al método __init__ de la clase. A ver qué te parece esta solución (sin llegar a emplear "metaclass" :-P): class Chorra(object): def __new__(cls, nombre_modulo, nombre_clase, *args, **kw): Cls=__import__(nombre_modulo, globals(), locals(), [nombre_clase]) return Cls(*args,**kw) instancia = Chorra(nombre_modulo, nombre_clase) ------------ 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 Apr 26 12:24:26 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 26 Apr 2004 12:24:26 +0200 Subject: Informes ... In-Reply-To: <000d01c42b6c$4c35e7c0$c800a8c0@catalin> References: <000d01c42b6c$4c35e7c0$c800a8c0@catalin> Message-ID: <200404261224.26840.py@ch3m4.org> El Lunes, 26 de Abril de 2004 10:55, Catalin Lungu escribió: > Hay algún otro editor de informes, además de ReportLab. Tal vez con > interfaz grafica? rekall y GNUe tienen editores de informes, y están programados en Python. Próximamente se extrenará Kexi como parte de koffice. Todos scriptables con python. http://www.thekompany.com/products/rekall/ http://www.gnuenterprise.org/tools/reports/ http://www.kexi-project.org From Andres.Moya en hispalinux.es Mon Apr 26 12:37:49 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Mon, 26 Apr 2004 12:37:49 +0200 Subject: Informes ... In-Reply-To: <200404261224.26840.py@ch3m4.org> References: <000d01c42b6c$4c35e7c0$c800a8c0@catalin> <200404261224.26840.py@ch3m4.org> Message-ID: <1082975869.3130.86.camel@cebollino.micasa.es> El lun, 26-04-2004 a las 12:24, Chema Cortés escribió: > rekall y GNUe tienen editores de informes, y están programados en Python. > Próximamente se extrenará Kexi como parte de koffice. Todos scriptables con > python. > > http://www.thekompany.com/products/rekall/ > http://www.gnuenterprise.org/tools/reports/ > http://www.kexi-project.org ¿El kexi también es "scriptable" con Python? ¿No usa el QSA? -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Andres.Moya en hispalinux.es Mon Apr 26 12:38:23 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Mon, 26 Apr 2004 12:38:23 +0200 Subject: Almacenar objetos en XML In-Reply-To: <200404261134.00777.py@ch3m4.org> References: <1082772777.4089cd295cd8b@ch3m4.org> <1082812774.3131.5.camel@cebollino.micasa.es> <200404261134.00777.py@ch3m4.org> Message-ID: <1082975903.3130.88.camel@cebollino.micasa.es> El lun, 26-04-2004 a las 11:34, Chema Cortés escribió: > El Sábado, 24 de Abril de 2004 15:19, Andres Moya escribió: > > class Chorra(object): > pass > > ... > modulo = __import__(nombre_modulo) > instancia = Chorra() > instancia.__class__ = modulo.__dict__[nombre_clase] > ... > > Lo que le puede ocurrir a este código que propones es que no se inicializa > bien la instancia, o sea, no se llama al método __init__ de la clase. Vale, pero es que yo *quiero* que no se llame al __init__. La instancia en cuestión es una que ya se inicializó bien en su momento, con su __init__ correspondiente. En un momento dado, se volcó a un fichero XML y más tarde se recupera, y la recuperación debe dejarla en un estado idéntico al que tenía justo antes de volcarse al fichero, no volverla al estado inicial. > A ver qué te parece esta solución (sin llegar a emplear "metaclass" :-P): > > class Chorra(object): > def __new__(cls, nombre_modulo, nombre_clase, *args, **kw): > Cls=__import__(nombre_modulo, globals(), locals(), [nombre_clase]) > return Cls(*args,**kw) > > instancia = Chorra(nombre_modulo, nombre_clase) Podría valer si quisiera eso, pero no es el caso. O sea, no se trata de un nuevo, sino de un restaurar... -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Andres.Moya en hispalinux.es Mon Apr 26 12:42:37 2004 From: Andres.Moya en hispalinux.es (Andres Moya) Date: Mon, 26 Apr 2004 12:42:37 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082975903.3130.88.camel@cebollino.micasa.es> References: <1082772777.4089cd295cd8b@ch3m4.org> <1082812774.3131.5.camel@cebollino.micasa.es> <200404261134.00777.py@ch3m4.org> <1082975903.3130.88.camel@cebollino.micasa.es> Message-ID: <1082976157.3130.90.camel@cebollino.micasa.es> El lun, 26-04-2004 a las 12:38, Andres Moya escribió: > El lun, 26-04-2004 a las 11:34, Chema Cortés escribió: > > > A ver qué te parece esta solución (sin llegar a emplear "metaclass" :-P): > > > > class Chorra(object): > > def __new__(cls, nombre_modulo, nombre_clase, *args, **kw): > > Cls=__import__(nombre_modulo, globals(), locals(), [nombre_clase]) > > return Cls(*args,**kw) > > > > instancia = Chorra(nombre_modulo, nombre_clase) > > Podría valer si quisiera eso, pero no es el caso. O sea, no se trata de > un nuevo, sino de un restaurar... Esperate, que estoy investigando eso del __new__ y parece que tiene más chicha de la que pensaba. Seguiremos informando... -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ 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 Apr 26 13:29:16 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Mon, 26 Apr 2004 13:29:16 +0200 Subject: Almacenar objetos en XML In-Reply-To: <1082976157.3130.90.camel@cebollino.micasa.es> References: <1082975903.3130.88.camel@cebollino.micasa.es> <1082976157.3130.90.camel@cebollino.micasa.es> Message-ID: <200404261329.16193.py@ch3m4.org> El Lunes, 26 de Abril de 2004 12:42, Andres Moya escribió: > El lun, 26-04-2004 a las 12:38, Andres Moya escribió: > > El lun, 26-04-2004 a las 11:34, Chema Cortés escribió: > > > A ver qué te parece esta solución (sin llegar a emplear "metaclass" > > > :-P): > > > > > > class Chorra(object): > > > def __new__(cls, nombre_modulo, nombre_clase, *args, **kw): > > > Cls=__import__(nombre_modulo, globals(), locals(), > > > [nombre_clase]) return Cls(*args,**kw) > > > > > > instancia = Chorra(nombre_modulo, nombre_clase) > > > > Podría valer si quisiera eso, pero no es el caso. O sea, no se trata de > > un nuevo, sino de un restaurar... > > Esperate, que estoy investigando eso del __new__ y parece que tiene más > chicha de la que pensaba. Seguiremos informando... Bueno, aunque si has probado el código habrás visto que no funciona (eso me pasa por no probar antes el código). La versión correcta, para quien le interese: class Chorra(object):     def __new__(cls, nombre_modulo, nombre_clase, *args, **kw):         Cls=getattr(__import__(nombre_modulo),nombre_clase)         return Cls(*args,**kw) instancia = Chorra(nombre_modulo, nombre_clase) Para lo que quieres, crear una instancia sin llamar al constructor, mírate el módulo 'new' import new class Chorra(object):     def __new__(cls, nombre_modulo, nombre_clase, pickledDictFile):         Cls=getattr(__import__(nombre_modulo),nombre_clase) inst=new.instance(Cls) inst.__dict__.update(cPickle.load(pickledDictFile))         return inst instancia = Chorra(nombre_modulo, nombre_clase, pickleFile) Como se ve en el código, sólo utilizo pickle para almacenar el diccionario del objeto, ya que me parece más seguro. Seguramente se podría recuperar el objeto directamente desde pickle. ------------ 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 Apr 26 13:47:00 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Mon, 26 Apr 2004 13:47:00 +0200 Subject: Informes ... In-Reply-To: <1082975869.3130.86.camel@cebollino.micasa.es> References: <000d01c42b6c$4c35e7c0$c800a8c0@catalin> <200404261224.26840.py@ch3m4.org> <1082975869.3130.86.camel@cebollino.micasa.es> Message-ID: <200404261347.00158.py@ch3m4.org> El Lunes, 26 de Abril de 2004 12:37, Andres Moya escribió: > El lun, 26-04-2004 a las 12:24, Chema Cortés escribió: > > rekall y GNUe tienen editores de informes, y están programados en Python. > > Próximamente se extrenará Kexi como parte de koffice. Todos scriptables > > con python. > > > > http://www.thekompany.com/products/rekall/ > > http://www.gnuenterprise.org/tools/reports/ > > http://www.kexi-project.org > > ¿El kexi también es "scriptable" con Python? ¿No usa el QSA? Como lenguaje de script, todavía no hay nada que se pueda usar. Se pensó al principio en QSA, pero si se prentende integrar en koffice tendrá que ser scriptable en python. Seguramente se haga a través de la librería pythonize (http://www.riverbankcomputing.co.uk/pykde/docs/libpythonize.html) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mmm en tierramedia.org Mon Apr 26 17:33:38 2004 From: mmm en tierramedia.org (Mauro Morales M.) Date: Mon, 26 Apr 2004 11:33:38 -0400 Subject: GRID Message-ID: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> Sres, En la empresa estamos haciendo un exhaustivo trabajo de investigacion acerca de la implementacion de sistemas basados en tecnologia GRID. Mi consulta va dirigida a aquellas personas de esta lista que conozcan del lenguaje python y java (no invalida otras posturas, claro esta). Resulta ser que Glosbus Toolkit es la herramienta a usar en el desarrollo de estas aplicaciones, ahora bien, tiene implementacion para trabajar con python y java, y de acuerdo a la orientacion OpenSource que tiene este proyecto, queria consultar lo siguiente. ¿ Cual de ambos lenguajes (python,java) tiene licencia mas adaptable a los propositos opensource ? Yo no conozco ninguno de los lenguajes y entiendo que tendre que aprender :-), entonces, cual de los dos tiene curva de aprendizaje mas baja y rapida ?. (Si, si se C/C++, pero hay colegas que no saben ninguno de los tres). Muchas gracias por sus aportaciones. -- Mauro Morales M. mailto:mmm en tierramedia.org Linux User # 160358 From jaime en iaa.es Mon Apr 26 17:42:58 2004 From: jaime en iaa.es (Jaime Perea) Date: Mon, 26 Apr 2004 17:42:58 +0200 Subject: GRID In-Reply-To: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> Message-ID: <200404261742.59225.jaime@iaa.es> El Lunes 26 Abril 2004 17:33, Mauro Morales M. escribió: > Sres, > > En la empresa estamos haciendo un exhaustivo trabajo de investigacion > acerca de la implementacion de sistemas basados en tecnologia GRID. > > Mi consulta va dirigida a aquellas personas de esta lista que conozcan del > lenguaje python y java (no invalida otras posturas, claro esta). > > Resulta ser que Glosbus Toolkit es la herramienta a usar en el desarrollo > de estas aplicaciones, ahora bien, tiene implementacion para trabajar con > python y java, y de acuerdo a la orientacion OpenSource que tiene este > proyecto, queria consultar lo siguiente. > > ¿ Cual de ambos lenguajes (python,java) tiene licencia mas adaptable a los > propositos opensource ? > > Yo no conozco ninguno de los lenguajes y entiendo que tendre que aprender > > :-), entonces, cual de los dos tiene curva de aprendizaje mas baja y rapida > > ?. (Si, si se C/C++, pero hay colegas que no saben ninguno de los tres). > > Muchas gracias por sus aportaciones. > > -- > Mauro Morales M. > mailto:mmm en tierramedia.org > Linux User # 160358 > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Yo me inclinaría por python (no sólo por pertenecer a la lista :-) en el sentido de opensource es más open lo que se escriba en python. Ya existe desarrollo sobre python sobre grid (hay algún tutorial de IBM) y existe un montón de librerías de apoyo que ya están allí. -- Jaime D. Perea Duarte. Linux registered user #10472 Dep. Astrofisica Extragalactica. Instituto de Astrofisica de Andalucia (CSIC) Apdo. 3004, 18080 Granada, Spain. From darvinavelar en yahoo.com Tue Apr 27 09:04:39 2004 From: darvinavelar en yahoo.com (=?iso-8859-1?q?Darvin=20Avelar?=) Date: Tue, 27 Apr 2004 02:04:39 -0500 (CDT) Subject: Python Administrando un Cyber!!!! In-Reply-To: <200404261742.59225.jaime@iaa.es> References: <200404261742.59225.jaime@iaa.es> Message-ID: <20040427070439.61765.qmail@web21005.mail.yahoo.com> Estoy a cargo de una sala de internet en mi facultaad!! y quisiera desarrollar una aplicacion que me permita administrar las maquinas del centro de computo!! la verda esq a la hora de cerrar los companeros no se quiere despegar de las maquinas aun!!!! bueno pues dessarrollemos una aplicacion que mande mensages, bloquee la pantalla o las desconecte a una pc o al grupo, he pensado usando los commandos del systema si es que los hay(diganme) con la libreria os, desgraciadamente a que todabien las maquinas tienen windous(disculpen) pero no por mucho tiempo, pero bueno!!! les agradeseria si me envian recomendaciones, ejemplos, documentacion, urls!! loque me pueda ayudar!! gracias de antemano!!! y LARGA VIDA A PYTHON!!!!!! --------------------------------- Do You Yahoo!? Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo. Visíta Yahoo! Noticias. From py en ch3m4.org Tue Apr 27 09:59:39 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 27 Apr 2004 09:59:39 +0200 Subject: GRID In-Reply-To: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> Message-ID: <200404270959.39006.py@ch3m4.org> El Lunes, 26 de Abril de 2004 17:33, Mauro Morales M. escribió: > ¿ Cual de ambos lenguajes (python,java) tiene licencia mas adaptable a los > propositos opensource ? No entiendo qué quieres preguntar. Supongo que no estás planteando modicar ninguno de los dos lenguajes ni sus correspondientes librerías, así que no te tiene que importar mucho la licencia que tengan. Incluso lenguajes restrictivos como el VisualBasic pueden ser igual de buenos para realizar sorfware libre. La licencia python es una licencia opensource según está reconocido por la OSI (Open Source Iniciative - http://www.opensource.org) y es compatible GPL según reconoce la FSF (Free Software Foundation - http://www.fsf.org). En cambio java está bajo licencia propietaria de Sun, pero respecto a ésto parece que Sun está dispuesta a ceder a presiones de IBM y liberar bajo GPL u otra licencia compatible el lenguaje java antes de fin de año. Independiente de la licencia del lenguaje, ambos lenguajes pueden ser usados indistintamente para realizar tanto software libre como software privativo (ó propietario). Tendrás que revisar la licencia en concreto de la herramienta que vas a utilizar. > :-), entonces, cual de los dos tiene curva de aprendizaje mas baja y rapida Sin duda python. Su tipado dinámico facilita mucho su asimilación y uso, y su su carácter interpretado favorece la "experimentación" con el sistema. From lcatalin en siadv.com Tue Apr 27 14:15:27 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 27 Apr 2004 14:15:27 +0200 Subject: Imagenes en Python. Message-ID: <000f01c42c51$53f2f120$c800a8c0@catalin> Hola! Necesito copiar una imagen o trozo de pantalla (NO VISIBLE) a algún tipo de dato de tipo imagen. Estoy trabajando con los WX. Es que si la imagen no está visible entonces no funciona. Un saludo, Catalin Lungu www.siadv.com From mmm en tierramedia.org Tue Apr 27 15:25:34 2004 From: mmm en tierramedia.org (Mauro Morales M.) Date: Tue, 27 Apr 2004 09:25:34 -0400 Subject: GRID References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> Message-ID: <001b01c42c5b$21d59cb0$b8bc5392@consorcio.reuna.cl> ----- Original Message ----- From: "Chema Cortés" El Lunes, 26 de Abril de 2004 17:33, Mauro Morales M. escribió: > ¿ Cual de ambos lenguajes (python,java) tiene licencia mas adaptable a los > propositos opensource ? No entiendo qué quieres preguntar. Supongo que no estás planteando modicar ninguno de los dos lenguajes ni sus correspondientes librerías, así que no te tiene que importar mucho la licencia que tengan. Incluso lenguajes restrictivos como el VisualBasic pueden ser igual de buenos para realizar sorfware libre. NO, no se trata de modificar los fuentes de los lenguajes, sino mas bien, quiero saber si alguno de estos (java,python) es mas restrictivo o flexible a la hora de hacer la distribucion de un proyecto desarrollado bajo opensource. Independiente de la licencia del lenguaje, ambos lenguajes pueden ser usados indistintamente para realizar tanto software libre como software privativo (ó propietario). Tendrás que revisar la licencia en concreto de la herramienta que vas a utilizar. A eso apuntaba mi pregunta. > :-), entonces, cual de los dos tiene curva de aprendizaje mas baja y rapida Sin duda python. Su tipado dinámico facilita mucho su asimilación y uso, y su su carácter interpretado favorece la "experimentación" con el sistema. OK! Usaremos Globus Toolkit para el desarrollo, asi que ... a aprender. Gracias, -- Mauro Morales M. mailto:mmm en tierramedia.org Linux User # 160358 From rapto en arrakis.es Tue Apr 27 15:19:02 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 27 Apr 2004 15:19:02 +0200 Subject: Imagenes en Python. In-Reply-To: <000f01c42c51$53f2f120$c800a8c0@catalin> References: <000f01c42c51$53f2f120$c800a8c0@catalin> Message-ID: <408E5DC6.4040106@arrakis.es> No te entiendo, ¿qué quieres hacer exactamente? ¿Cómo es que la pantalla no está visible? Catalin Lungu wrote: >Hola! >Necesito copiar una imagen o trozo de pantalla (NO VISIBLE) a algún tipo de dato de tipo imagen. Estoy trabajando con los WX. Es que si la imagen no está visible entonces no funciona. > >Un saludo, >Catalin Lungu >www.siadv.com >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From igonza en isoco.com Tue Apr 27 16:25:52 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez_L=F3pez_-_iSOCO_Mad?=) Date: Tue, 27 Apr 2004 16:25:52 +0200 Subject: GRID In-Reply-To: <200404270959.39006.py@ch3m4.org> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> Message-ID: <20040427142552.GC18866@isoco.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, Apr 27, 2004 at 09:59:39AM +0200, Chema Cortés wrote: > El Lunes, 26 de Abril de 2004 17:33, Mauro Morales M. escribió: > No entiendo qué quieres preguntar. Supongo que no estás planteando modicar > ninguno de los dos lenguajes ni sus correspondientes librerías, así que no te > tiene que importar mucho la licencia que tengan. Incluso lenguajes > restrictivos como el VisualBasic pueden ser igual de buenos para realizar > sorfware libre. Hola. Creo que voy a soltar un "pseudo-Offtopic". Espero me perdoneis... Yo no creo que sean igual de buenos todos los lenguajes. Evidentemente, si quieres hacer software libre, ¡Bienvenido!, pero creo que sería recomendable pensar antes que implica hacer software libre y que es lo que pretendemos hacer. Desde mi punto de vista tienes que pensar en estos datos: * Es deseable que pueda ejecutarse en entornos libres (GNU/Linux, BSD, GNU/Hurd). Si encima se puede correr en Win32, pues de maravilla. Si pretendes hacer software para Win32, sería interesante uqe pensaras en si es util y despues posible un port a sistemas libres. * Es deseable que el compilador/interprete sea libre. Pq es muy bonito utilizar binarios de otros, pero a veces necesitas recompilar un código por deteminadas razones y si no dispones de el puede ser delicado. Personalmente prefiero usar compliadores libres (tanto para sistemas libres como privativos) pq creo que es mucho mas "congruente". * Es deseable que el lenguaje sea "abierto". Es mucho mas intersante potenciar el uso de lenguajes que se desarrollan en comunidad y que están sujetos a cambios no ceñidos a una empresa o a necesidades concretas. Aunqeu esto ya es rizar el rizo :o) Es mi opinión al menos y creo que es muy útil que los que hacemos software libre potenciemos el uso de herramientas libres para compilar, de librerias libres para utilizar y demás. Allá despues cada uno con su conciencia -jiji-. Seguid así. - -- Suelo guardar unos veinte bocetos (eso son diez megas de espacio de disco) y el último contiene todas las alteraciones finales. Una vez se ha imprimido y los editores lo han recibido, se oye un grito de '¡Que os jodan, investigadores literarios del futuro, conseguios un trabajo decente!' y borro los demás. - -- Terry Pratchett. :o) + LSSI = :oX ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Francisca Delgado 11, Alcobendas (Madrid). CP 28108 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAjm1vPVMYabFTpO4RAuawAKDqvIdt8glyt1liTHWUq+Q2ntaCXQCfW+vd havS+9ituB3ulw07V9lE070= =3+GV -----END PGP SIGNATURE----- From py en ch3m4.org Wed Apr 28 10:43:33 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 28 Apr 2004 10:43:33 +0200 Subject: GRID In-Reply-To: <001b01c42c5b$21d59cb0$b8bc5392@consorcio.reuna.cl> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> <001b01c42c5b$21d59cb0$b8bc5392@consorcio.reuna.cl> Message-ID: <200404281043.33494.py@ch3m4.org> El Martes, 27 de Abril de 2004 15:25, Mauro Morales M. escribió: > NO, no se trata de modificar los fuentes de los lenguajes, sino mas > bien, > quiero saber si alguno de estos (java,python) es mas restrictivo o > flexible > a la hora de hacer la distribucion de un proyecto desarrollado bajo > opensource. Pues por eso insisto que no es el lenguaje quien te tiene que importar. > OK! Usaremos Globus Toolkit para el desarrollo, asi que ... a aprender. Este software tiene su propia licencia opensource. A mi juicio, esta licencia me ha parecido que quería ser bastante similar a las licencias BSD, pero matizando que se aplica a TODO los productos relacionados con el toolkit, y que esto podría entrar en conflicto con otras licencias como GPL ó python. Insisto que no digo que no puedas programar este toolkit con python, tan sólo que es muy posible que no puedas utilizar mucho del código python que esté bajo otras licencias. Por supuesto, es mi opinión personal y debería ser tomada con cautela. En espíritu la licencia pretende ser lo más liberal posible para así facilitar la utilización de los sistemas grids, por lo que seguramente me esté equivocando. From py en ch3m4.org Wed Apr 28 12:04:05 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 28 Apr 2004 12:04:05 +0200 Subject: [OT] herramientas de software libre (Re: GRID) In-Reply-To: <20040427142552.GC18866@isoco.com> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> <20040427142552.GC18866@isoco.com> Message-ID: <200404281204.05683.py@ch3m4.org> El Martes, 27 de Abril de 2004 16:25, Ignacio González López - iSOCO Mad escribió: > Hola. Creo que voy a soltar un "pseudo-Offtopic". Espero me > perdoneis... > > Yo no creo que sean igual de buenos todos los lenguajes. Evidentemente, > si quieres hacer software libre, ¡Bienvenido!, pero creo que sería > recomendable pensar antes que implica hacer software libre y que es lo > que pretendemos hacer. > > Desde mi punto de vista tienes que pensar en estos datos: Me han parecido muy interesante estas reflexiones que, aunque comparto, voy a intentar replicar: > * Es deseable que pueda ejecutarse en entornos libres (GNU/Linux, BSD, > GNU/Hurd). Si encima se puede correr en Win32, pues de maravilla. Si > pretendes hacer software para Win32, sería interesante uqe pensaras en > si es util y despues posible un port a sistemas libres. Cuando se trata de difundir el software libre no se puede ignorar que la plataforma mayoritaria es windows. Aunque no es mi plataforma preferida, en mis desarrollos de software libre siempre tengo presente la independencia de plataformas como objetivo. > * Es deseable que el compilador/interprete sea libre. Pq es muy bonito > utilizar binarios de otros, pero a veces necesitas recompilar un código > por deteminadas razones y si no dispones de el puede ser delicado. > Personalmente prefiero usar compliadores libres (tanto para sistemas > libres como privativos) pq creo que es mucho mas "congruente". Cuando hablas de "disponibilidad" parece que te refieras a "gratuidad" y no a "libre". Puede que te contentes con el gnu gcc por ser uno de los mejores compiladores que existe, pero no es argumento suficiente para renunciar al resto de compiladores, ensambladores ó máquinas virtuales disponibles. El software libre será mejor cuanto mejor sean las herramientas que se usen para crearlo, aunque se tenga que pagar por utilizarlas. Otra cuestión distinta es que no quieras pagar nada, pero eso no tiene relación directa con hacer o no software libre. > * Es deseable que el lenguaje sea "abierto". Es mucho mas intersante > potenciar el uso de lenguajes que se desarrollan en comunidad y que > están sujetos a cambios no ceñidos a una empresa o a necesidades > concretas. Aunqeu esto ya es rizar el rizo :o) En ésto estoy de acuerdo, aunque no hay que olvidar que el python está sujeto a los "caprichos" del BDFL. Igual de fundamental es que la evolución del lenguaje no rompa bruscamente con las versiones anteriores, y que se siga alguna estandarización ó norma. > Es mi opinión al menos y creo que es muy útil que los que hacemos > software libre potenciemos el uso de herramientas libres para compilar, > de librerias libres para utilizar y demás. > > Allá despues cada uno con su conciencia -jiji-. En mi opinión, se deben usar las herramientas más adecuadas según sea el caso, evaluando pros y contras antes de tomar una determinación. Cuando te decantas por un desarrollo de software libre que sea porque te resulta más ventajoso hacerlo así, no sólo porque te haga sentir mejor. From lcatalin en siadv.com Wed Apr 28 13:03:15 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Wed, 28 Apr 2004 13:03:15 +0200 Subject: Imagenes en Python. References: <000f01c42c51$53f2f120$c800a8c0@catalin> <408E5DC6.4040106@arrakis.es> Message-ID: <002801c42d10$76dae480$c800a8c0@catalin> Bueno mas claro, Tengo una pantalla de tamaño por ejemplo 10000 x 10000. En la posición 9900 x 9900 creo un objeto (botón, imagen, etiqueta, etc.). Reduzco el tamaño del formulario a 1500 x 1500. Ahora el objeto va estar en el formulario pero claro no estará visible. En la parte visible del formulario tengo una imagen que quiero cargarla con la imagen que tiene el control escondido. Espero que es un pelin mas claro. Un saludo, Catalin ----- Original Message ----- From: "Marcos Sánchez Provencio" To: "La lista de python en castellano" Sent: Tuesday, April 27, 2004 3:19 PM Subject: Re: [Python-es] Imagenes en Python. > No te entiendo, ¿qué quieres hacer exactamente? ¿Cómo es que la pantalla > no está visible? > > Catalin Lungu wrote: > > >Hola! > >Necesito copiar una imagen o trozo de pantalla (NO VISIBLE) a algún tipo de dato de tipo imagen. Estoy trabajando con los WX. Es que si la imagen no está visible entonces no funciona. > > > >Un saludo, > >Catalin Lungu > >www.siadv.com > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > From miguela.garcia3 en alu.uclm.es Wed Apr 28 14:20:11 2004 From: miguela.garcia3 en alu.uclm.es (Miguel Angel Garcia) Date: Wed, 28 Apr 2004 14:20:11 +0200 Subject: [OT] herramientas de software libre (Re: GRID) In-Reply-To: <200404281204.05683.py@ch3m4.org> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> <20040427142552.GC18866@isoco.com> <200404281204.05683.py@ch3m4.org> Message-ID: <1083154810.18690.19.camel@localhost> > > Hola. Creo que voy a soltar un "pseudo-Offtopic". Espero me > > perdoneis... Yo perdono, y vais a disculpar que me meta yo también en el off. > > Yo no creo que sean igual de buenos todos los lenguajes. Evidentemente, > > si quieres hacer software libre, ¡Bienvenido!, pero creo que sería > > recomendable pensar antes que implica hacer software libre y que es lo > > que pretendemos hacer. Cada lenguaje está pensado para una cosa, y pensar que uno es mejor que todos los demás es un error. > > Desde mi punto de vista tienes que pensar en estos datos: Además de los datos que comentas, con los que estoy de acuerdo, creo que es importante elegir un lenguaje acorde a las circunstancias. Por desgracia, mucha gente piensa que cualquier lenguaje vale para todo. > > * Es deseable que pueda ejecutarse en entornos libres (GNU/Linux, BSD, > > GNU/Hurd). Si encima se puede correr en Win32, pues de maravilla. Si > > pretendes hacer software para Win32, sería interesante uqe pensaras en > > si es util y despues posible un port a sistemas libres. > > Cuando se trata de difundir el software libre no se puede ignorar que la > plataforma mayoritaria es windows. Aunque no es mi plataforma preferida, en > mis desarrollos de software libre siempre tengo presente la independencia de > plataformas como objetivo. No estoy de acuerdo. Es posible que, en el entorno en el que te mueves, windows sea la plataforma mayoritaria, pero eso no es así en todo el mundo. La difusión de GNU/Linux está creciendo de una forma tan alarmante que a veces me pregunto si GNU/Linux estará a la altura de soportarla. De todas maneras, la dependencia de una plataforma es tan mala como no tener el código fuente de un programa o, incluso, peor. > > * Es deseable que el compilador/interprete sea libre. Pq es muy bonito > > utilizar binarios de otros, pero a veces necesitas recompilar un código > > por deteminadas razones y si no dispones de el puede ser delicado. > > Personalmente prefiero usar compliadores libres (tanto para sistemas > > libres como privativos) pq creo que es mucho mas "congruente". > > Cuando hablas de "disponibilidad" parece que te refieras a "gratuidad" y no a > "libre". Puede que te contentes con el gnu gcc por ser uno de los mejores > compiladores que existe, pero no es argumento suficiente para renunciar al > resto de compiladores, ensambladores ó máquinas virtuales disponibles. El > software libre será mejor cuanto mejor sean las herramientas que se usen para > crearlo, aunque se tenga que pagar por utilizarlas. Otra cuestión distinta es > que no quieras pagar nada, pero eso no tiene relación directa con hacer o no > software libre. Creo que con "disponibilidad" no se refiere ni a gratuidad ni a libertad. Yo lo que pediría es que un compilador, una librería o cualquier otra cosa que se necesite para generar el ejecutable a partir de un código sea fácil de obtener. Yo también prefiero usar compiladores, librerías, ... libres. No es por no pagar nada, sino que si tienes el código de un programa libre genial, pero no puedes compilarlo porque te falta no-sé-qué, es como si no tuvieras nada, pues no puedes mejorarlo. [...] > > Es mi opinión al menos y creo que es muy útil que los que hacemos > > software libre potenciemos el uso de herramientas libres para compilar, > > de librerias libres para utilizar y demás. > > > > Allá despues cada uno con su conciencia -jiji-. > > En mi opinión, se deben usar las herramientas más adecuadas según sea el caso, > evaluando pros y contras antes de tomar una determinación. Cuando te decantas > por un desarrollo de software libre que sea porque te resulta más ventajoso > hacerlo así, no sólo porque te haga sentir mejor. Estoy de acuerdo, pero las herramientas libres tienen ciertas ventajas que las privativas no ofrecen: - Replicación mayor: el código fuente está en más sitios - Grupo de desarrollo más grande: todo el mundo - Mejores testers: todo usuario - Aprendizaje: pueden decirte qué has hecho mal. - Mantenimiento: las mantienen otros - Comunicación: A menudo puedes hablar directamente con el programador - Comunidad: ¡¡hacemos piña!! Existen más. De hecho, un programa privativo puede cumplir todas o parte de ellas, pero es mucho más difícil que con el soft libre. -- Miguel Ángel García http://arco.inf-cr.uclm.es/~miguel Software Libre para Gente Libre Free Software for Free People ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mmm en tierramedia.org Wed Apr 28 15:47:13 2004 From: mmm en tierramedia.org (Mauro Morales M.) Date: Wed, 28 Apr 2004 09:47:13 -0400 Subject: [OT] herramientas de software libre (Re: GRID) References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl><200404270959.39006.py@ch3m4.org><20040427142552.GC18866@isoco.com> <200404281204.05683.py@ch3m4.org> Message-ID: <014801c42d27$547dedd0$b8bc5392@consorcio.reuna.cl> Gracias Chema, Ignacio, Miguel Angel y otros que han hecho sus aportes a mi consulta. Actualmente, tal como les comentaba, estamos en proceso de investigacion tanto de la herramienta Globus Toolkit, como del entorno propio del desarrollo (herramientas de requerimientos, workflows, modelamientos de datos, diseño de interfaces, control de cambios y de versiones, etc), todo lo involucrado en la ingenieria de software, para una aplicacion basada en tecnologia grid. Y, tambien tal como les contaba, todo debe estar orientado a OpenSource, con la finalidad, basados en principios que Uds. tan bien manejan respecto de este modelo de desarrollo, de que la aplicacion sea objeto de desarrollo futuro y, si es posible, base de otros desarrollos parecidos. El objetivo final de la aplicacion es 'compartir' el uso de instrumentos que estan distribuidos en zonas geograficas remotas, para otros usuarios en otras zonas geograficas, y lo que pretendemos desarrollar es la base para que existan otros instrumentos facilmente adaptables a este producto y asi aumentar el uso y 'comparticion' de recursos que son beneficiosos para el desarrollo cientifico. Aun me que queda por definir varias cosas y agradeceria si me podeis ayudar en las herramientas que he mencionado mas arriba, pues el trabajo es mucho, el tiempo es poco y si puedo focalizar un poco mas la busqueda seria genial. Con vuestros comentarios he de optar por la mejor opcion, muchas gracias. Disculpad por el OFF TOPIC, pero me parecio que fue un tema interesante, quizas discutible en alguna otra lista. -- Mauro Morales M. mailto:mmm en tierramedia.org Linux User # 160358 From linux13 en iespana.es Wed Apr 28 16:25:44 2004 From: linux13 en iespana.es (Hector Miuler Malpica Gallegos) Date: Wed, 28 Apr 2004 09:25:44 -0500 Subject: Chandler Message-ID: <1083162343.14406.12.camel@debi.debian> Hola amigos, alguien a oído hablar de chandler? estoy interesado en una herramienta de colaboración, pensaba hacer algo simple con zope, pero no no tengo tiempo para desarrollar, ya había abandonado la búsqueda de esa herramienta tan necesaria, ya varios días después navegando por la red me encontré frente a frente con chandler y no podia creerlo, era lo que tanto había estado buscando, y lo mejor de todo en el lenguaje que mas me gusta Python! :D http://www.faq-mac.com/mt/archives/000742.php ("Chandler" La amenaza fantasma... de momento) Aunque aun esta en desarrollo, ya me estoy bajando el programa, es una maravillosa sorpresa haber dado con este Programa que edemas de todo es SL. -- _\|/_ (O-O) --oOO-(_)-OOo-- .--. Hector Miuler Malpica G. |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 iespana.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol -- ---Publicidad-------------------------------------------------------- Juega con Ventura24.es, lotería inteligente y multiplica tus posibilidades!! http://www.iespana.es/_reloc/email.ventura ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From igonza en isoco.com Wed Apr 28 16:45:01 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez_L=F3pez_-_iSOCO_Mad?=) Date: Wed, 28 Apr 2004 16:45:01 +0200 Subject: [OT] herramientas de software libre (Re: GRID) In-Reply-To: <200404281204.05683.py@ch3m4.org> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> <20040427142552.GC18866@isoco.com> <200404281204.05683.py@ch3m4.org> Message-ID: <20040428144500.GB13904@isoco.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Wed, Apr 28, 2004 at 12:04:05PM +0200, Chema Cortés wrote: > Me han parecido muy interesante estas reflexiones que, aunque comparto, voy a > intentar replicar: Debatir es vivir. > > * Es deseable que pueda ejecutarse en entornos libres (GNU/Linux, BSD, > > GNU/Hurd). Si encima se puede correr en Win32, pues de maravilla. Si > > pretendes hacer software para Win32, sería interesante uqe pensaras en > > si es util y despues posible un port a sistemas libres. > > Cuando se trata de difundir el software libre no se puede ignorar que la > plataforma mayoritaria es windows. Aunque no es mi plataforma preferida, en > mis desarrollos de software libre siempre tengo presente la independencia de > plataformas como objetivo. Por eso comento que primero, evaluar si realizas software libre para plataformas propietarias (MacOS, Win32) que tienes que evaluar primero la "utilidad" y despues la viavilidad (Si no es util, pues no hagas el port, pero puedes hacer perfectamente el software si es util en otro entorno) > > * Es deseable que el compilador/interprete sea libre. Pq es muy bonito > > utilizar binarios de otros, pero a veces necesitas recompilar un código > > por deteminadas razones y si no dispones de el puede ser delicado. > > Personalmente prefiero usar compliadores libres (tanto para sistemas > > libres como privativos) pq creo que es mucho mas "congruente". > > Cuando hablas de "disponibilidad" parece que te refieras a "gratuidad" y no a > "libre". Puede que te contentes con el gnu gcc por ser uno de los mejores > compiladores que existe, pero no es argumento suficiente para renunciar al > resto de compiladores, ensambladores ó máquinas virtuales disponibles. El > software libre será mejor cuanto mejor sean las herramientas que se usen para > crearlo, aunque se tenga que pagar por utilizarlas. Otra cuestión distinta es > que no quieras pagar nada, pero eso no tiene relación directa con hacer o no > software libre. No hablo de gratuitas o no. Simplemente si son libres son mas "accesibles" al entorno de desarrollo de software libre (que al final somos todos los mismos) ya que solemos estar mas acostumbrados. Me gusta saber que hay compiladores y proyectos Libres (Incluso GPL) que son de pago y con licencias muy caras (pero una vez que pagas, haces con el lo que quieras). Pero si creo que es mas "congruente" (como se explica en la filosofía de la FSF) el desarrollar software libre utilizando herramientas de software libre (Editores, compiladores y librerias libres). De todas maneras, sigo diciendo que es una clasificación personal, que cada uno haga lo que quiera/pueda. Si hay que evaluar (y por desgracia es obligacion) si es posible o no con ciertos compiladores aplicar ciertas licencias de software libre. Por ejemplo, creo recordar que era incompatible la GPL con programas en Visual Basic, ya que requerian el enlazado dinamico con una librería (una tal vbsruntime.dll o algo así) que no es libre, por lo que solo podías aplicar licencia LGPL. No lo tengo muy estudiado, pero si es un tema legalmente interesante. > > Es mi opinión al menos y creo que es muy útil que los que hacemos > > software libre potenciemos el uso de herramientas libres para compilar, > > de librerias libres para utilizar y demás. > > > > Allá despues cada uno con su conciencia -jiji-. > > En mi opinión, se deben usar las herramientas más adecuadas según sea el caso, > evaluando pros y contras antes de tomar una determinación. Cuando te decantas > por un desarrollo de software libre que sea porque te resulta más ventajoso > hacerlo así, no sólo porque te haga sentir mejor. En eso creo que tienes razon "tecnológica" aunque yo voy, como siempre y ya lo "sufris" los que me conoceis, un poquito mas allá. En este aspecto entramos ya en la parte mas filosófica del software libre. Yo uso software libre por convencimiento, no por tecnología. Otra cosa es que la tecnología que me aporta es suficiente. Pero que cada uno use las herramientas que mas le convenzan y que reflexione un poco hasta donde quiere colaborar con el movieniento del Software Libre. De todas maneras, todo el mundo es Libre de hacer lo que quiera. Exageré un poco esa parte, espero no haberos resultado "excesivamente" "moralista". - -- Por más que lo pienso no logro entenderlo, no se como hacen los relojes cuadrados para doblar las esquinas. - -- Miguelito -Personaje de Mafalda-. :o) + LSSI = :oX ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Francisca Delgado 11, Alcobendas (Madrid). CP 28108 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAj8NsPVMYabFTpO4RAouXAKDlOf3q+pOujFHBEJnJW1rdZo139QCgwu9F H/99cZewKnzBWPKHZunmmrg= =fI4D -----END PGP SIGNATURE----- From igonza en isoco.com Wed Apr 28 17:05:58 2004 From: igonza en isoco.com (=?iso-8859-1?Q?Ignacio_Gonz=E1lez_L=F3pez_-_iSOCO_Mad?=) Date: Wed, 28 Apr 2004 17:05:58 +0200 Subject: [OT] herramientas de software libre (Re: GRID) In-Reply-To: <1083154810.18690.19.camel@localhost> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404270959.39006.py@ch3m4.org> <20040427142552.GC18866@isoco.com> <200404281204.05683.py@ch3m4.org> <1083154810.18690.19.camel@localhost> Message-ID: <20040428150557.GC13904@isoco.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Wed, Apr 28, 2004 at 02:20:11PM +0200, Miguel Angel Garcia wrote: > Creo que con "disponibilidad" no se refiere ni a gratuidad ni a > libertad. Yo lo que pediría es que un compilador, una librería o > cualquier otra cosa que se necesite para generar el ejecutable a partir > de un código sea fácil de obtener. Yo también prefiero usar > compiladores, librerías, ... libres. > > No es por no pagar nada, sino que si tienes el código de un programa > libre genial, pero no puedes compilarlo porque te falta no-sé-qué, es > como si no tuvieras nada, pues no puedes mejorarlo. En eso vamos mas allá que el "código". Perdon que insista en este aspecto, pero es muy importante separar "software libre" y "Codigo abierto" (o al menos que tengamos claros todos cuales son los objetivos del código). No voy a entrar en debates de Opensource VS Freesoftware (de eso está internet lleno), pero si me permitis centro esta cuestión y cierro capítulo. El software libre tiene, evidentemente, como predcondicion el acceso (que no descarga gratuita) del código fuente, pero para poder estudiarlo, modificarlo y redistribuir nuestros cambios. Si tenemos acceso al código pero no podemos estudiarlo y/o modificarlo y/o redistribuirlo, no es Software Libre. > > En mi opinión, se deben usar las herramientas más adecuadas según sea el caso, > > evaluando pros y contras antes de tomar una determinación. Cuando te decantas > > por un desarrollo de software libre que sea porque te resulta más ventajoso > > hacerlo así, no sólo porque te haga sentir mejor. > > Estoy de acuerdo, pero las herramientas libres tienen ciertas ventajas > que las privativas no ofrecen: > - Replicación mayor: el código fuente está en más sitios > - Grupo de desarrollo más grande: todo el mundo > - Mejores testers: todo usuario > - Aprendizaje: pueden decirte qué has hecho mal. > - Mantenimiento: las mantienen otros > - Comunicación: A menudo puedes hablar directamente con el programador > - Comunidad: ¡¡hacemos piña!! > > Existen más. De hecho, un programa privativo puede cumplir todas o parte > de ellas, pero es mucho más difícil que con el soft libre. Efectiamente, mis comentarios iban encaminados a que hagamos uso de la comunidad del software libre si desarrollamos software libre. Vaya, pues si he generado algo de discusión con el tema :o). Aprovecho para comentar que si teneis dudas o quereis realizar comentarios sobre filosofía, aplicación práctica y demás, en GNUes hay una lista (gnues-list en es.gnu.org) diseñada para debatir temas de este estilo. Disculpadme por la publicidad gratuita, pero es posible que estemos "manchando" demasiado la lista con un concepto que puede resultar a algunos lectores poco atractivo. - -- El secreto del éxito es la honestidad. Si puedes evitarla está hecho. - -- Groucho Marx. :o) + LSSI = :oX ________________________________________________________________________ Ignacio González López I.T. Dept @ iSOCO http://www.isoco.com #T(+34) 91 3349797 Intelligent Software Components, S.A. #F(+34) 91 3349799 iSOCO Madrid - Francisca Delgado 11, Alcobendas (Madrid). CP 28108 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAj8hVPVMYabFTpO4RAoBVAJ9DDGAIH6XYuh0HfDME7yMER21ekwCg7GvN Webxg1Rwa/PBU7K1e17ADJU= =Br+X -----END PGP SIGNATURE----- From linux13 en iespana.es Wed Apr 28 19:14:29 2004 From: linux13 en iespana.es (Hector Miuler Malpica Gallegos) Date: Wed, 28 Apr 2004 12:14:29 -0500 Subject: Chandler In-Reply-To: <1083162343.14406.12.camel@debi.debian> References: <1083162343.14406.12.camel@debi.debian> Message-ID: <1083169099.14406.17.camel@debi.debian> Chesss, ya lo instale pero me parece que no puedo hacer nada :S , espero equivocarme pero no puedo generar contactos, tendre que leer mas la documentacion. El mié, 28-04-2004 a las 09:25, Hector Miuler Malpica Gallegos escribió: > Hola amigos, alguien a oído hablar de chandler? estoy interesado en una > herramienta de colaboración, pensaba hacer algo simple con zope, pero no > no tengo tiempo para desarrollar, ya había abandonado la búsqueda de esa > herramienta tan necesaria, ya varios días después navegando por la red > me encontré frente a frente con chandler y no podia creerlo, era lo que > tanto había estado buscando, y lo mejor de todo en el lenguaje que mas > me gusta Python! :D > http://www.faq-mac.com/mt/archives/000742.php ("Chandler" La amenaza > fantasma... de momento) > > Aunque aun esta en desarrollo, ya me estoy bajando el programa, es una > maravillosa sorpresa haber dado con este Programa que edemas de todo es > SL. > -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- .--. Hector Miuler Malpica G. |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 iespana.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol ----------------------------------------------------- ---Publicidad-------------------------------------------------------- Juega con Ventura24.es, lotería inteligente y multiplica tus posibilidades!! http://www.iespana.es/_reloc/email.ventura ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From linux13 en iespana.es Thu Apr 29 04:00:53 2004 From: linux13 en iespana.es (Hector Miuler Malpica Gallegos) Date: Wed, 28 Apr 2004 21:00:53 -0500 Subject: python y gmainloop Message-ID: <1083204015.6566.44.camel@debi.debian> Hola amigos, estoy buscando la forma de usar el puerto serial (pyserial) pero no depender de un poll para ver si estan mandando algo a trabes de el, por eso pense en glib para que el se encargue de llamar a mi aplicacion cuando a este detecte algo en el puerto serial, esta idea se me acurrio a raiz del siquiente parrafo que ley: -- http://gsyc.escet.urjc.es/actividades/linuxprog/gnome/gnome-intro.html Bucle de ejecucion: una de las cosas mas interesantes de glib es el bucle de ejecucion (GMainLoop) que incluye, que nos permite convertir nuestras aplicaciones en asincronas, de forma que permanezcan a la escucha de determinados eventos, actuando solo cuando se produzcan esos eventos, permaneciendo en espera el resto del tiempo. Esto es algo especialmente util para aplicaciones con interfaz grafica, como vermos mas adelante, pero puede ser muy util tambien en otras situaciones. El tipo de eventos que se pueden usar son alarmas (temporizadores), momentos de inactividad de la aplicacion, y, el mas interesante de todos, eventos de E/S en ficheros (o tuberias, sockets, etc) -- Hay alguna otra forma de hacerlo sin tener que depender de glib? todo con puro python? me imagino que GMainLoop tendra que comunicarse con el mismo SO. Pense en GMainLoop al ver como el entorno de gnome esta atento a todo lo que ocurre en mi desktop, el gnome no usa un timer para cada cosa si no que usa a gmainloop. Esta es la unica posibilidad? tendrae que usar una aplicacion echa en C para poder usar a Glib (gmainloop) para que cuando ocurra lo que una entrada llame a mi programa echo en python? -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- .--. Hector Miuler Malpica G. |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 iespana.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol #python-es ----------------------------------------------------- ---Publicidad-------------------------------------------------------- Juega con Ventura24.es, lotería inteligente y multiplica tus posibilidades!! http://www.iespana.es/_reloc/email.ventura ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From miguel.hernandez en icr-sa.com Thu Apr 29 10:04:26 2004 From: miguel.hernandez en icr-sa.com (=?ISO-8859-15?Q?Miguel_Hern=E1ndez_Martos?=) Date: Thu, 29 Apr 2004 10:04:26 +0200 Subject: python y gmainloop In-Reply-To: <1083204015.6566.44.camel@debi.debian> References: <1083204015.6566.44.camel@debi.debian> Message-ID: <4090B70A.1070001@icr-sa.com> Hector Miuler Malpica Gallegos wrote: > <>Hola amigos, estoy buscando la forma de usar el puerto serial (pyserial) > pero no depender de un poll para ver si estan mandando algo a trabes de el Pues hasta donde yo sé me parece que hay que hacer polling. Pero no todo está perdido :) > <>Hay alguna otra forma de hacerlo sin tener que depender de glib? todo > con puro python? me imagino que GMainLoop tendra que comunicarse con el > mismo SO. Pense en GMainLoop al ver como el entorno de gnome esta atento > a todo lo que ocurre en mi desktop, el gnome no usa un timer para cada > cosa si no que usa a gmainloop. Utilizo pyserial principalmente en windows, pero creo que lo que te voy a contar vale perfectamente para linux. La idea es tener una hebra aparte que centralice el acceso al puerto serie y que se comunique con la hebra principal (u otras hebra) mediante mensajes. La clave aquí es la clase Queue.Queue que es "thread-safe". El código no es perfecto, pero cumple su misión siempre y cuando el protocolo que tengas que manejar no requiera excesiva precisión de timeouts. Si necesitas más control imagino que tendrás que iniciar el objeto "Serial" con un timeout 0 y tendrás que usar un contador de tiempo para ir viendo cuando llega cada carácter. Un poquillo de código: import serial import win32api import threading import Queue class SerialThread(threading.Thread): def __init__(self, group=None, target=None, name=None, args=(), kwargs={}, verbose=None): threading.Thread.__init__(self, group, target, name, args, kwargs, verbose) self.writeq = Queue.Queue() self.readq = Queue.Queue() self.quitthr = 0 def run(self): ser = serial.Serial( 0, baudrate=9600, bytesize=serial.EIGHTBITS, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, xonxoff = 0, rtscts = 0, timeout = 1 ) print "SerialThr running." while not self.quitthr: win32api.Sleep(10) if not self.writeq.empty(): s = self.writeq.get() ser.write(s) else: s = ser.readline() if len(s) > 0: print "Nueva trama" self.readq.put(s) ser.close() class Program: def __init__(self): self.thr = SerialThread() self.thr.start() def run(self): print "Running..." while 1: win32api.Sleep(10) if not self.thr.readq.empty(): raw = self.thr.readq.get() print(raw) if ( raw == "QUIT\r\n" ): self.thr.quitthr = 1 break self.thr.writeq.put("OK\r\n") Espero que te sirva de algo. Nos vemos! -- Miguel Hernández Martos | Ingeniería y Control Remoto, S.A. Departamento de Software | Pol. Ind. Juncaril C/Baza Parc. 207 ------------------------------| 18220 Albolote-Granada (España) | Tels.: + 34 958 43 00 05/10 http://www.icr-sa.com | Fax: + 34 958 46 79 08 ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From i02alvep en uco.es Thu Apr 29 10:54:30 2004 From: i02alvep en uco.es (Pedro Javier Aljaro Velasco) Date: Thu, 29 Apr 2004 10:54:30 +0200 Subject: EXIM Message-ID: <000001c42dc7$9babdcd0$0100a8c0@SEVIPC> Hola a todos, quiero hacer un programa que controle todo el envió y recepción de emails usando exim. Este programa será un sistema de preguntas y respuestas de cursos entre alumnos y profesores. Así, mi programa debería envíar por correo las preguntas a los alumnos y recibir de estos los correos con los resultados. Para ello me gustaría saber: - ¿como puede un programa en python programar el envío de emails utilizando exim? - ¿como un programa en python puede recibir los emails a traves de exim y evaluarlos? - ¿puede ejecutarse exim sin ningún gestor de correo electrónico? En definitiva, me gustaría saber como pueden interactuar python y exim, y si existe algún modulo para python que sirva para tratar correos electrónicos y como puedo hacer que python “capte” los correos que llegan a nuestro servidor. Saludos y gracias de antemano. Pedro Javier Aljaro Velasco From py en ch3m4.org Thu Apr 29 10:50:25 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 29 Apr 2004 10:50:25 +0200 Subject: [OT] herramientas de software libre (Re: GRID) In-Reply-To: <20040428144500.GB13904@isoco.com> References: <011101c42ba3$dcbb9100$b8bc5392@consorcio.reuna.cl> <200404281204.05683.py@ch3m4.org> <20040428144500.GB13904@isoco.com> Message-ID: <200404291050.25626.py@ch3m4.org> El Miércoles, 28 de Abril de 2004 16:45, Ignacio González López - iSOCO Mad escribió: > En eso creo que tienes razon "tecnológica" aunque yo voy, como siempre y > ya lo "sufris" los que me conoceis, un poquito mas allá. En este aspecto > entramos ya en la parte mas filosófica del software libre. Yo uso > software libre por convencimiento, no por tecnología. No quiero seguir insistiendo con el "offtopic", pero quiero dejar claro que yo también estoy en ésto por razones "filosóficas". Pero mi punto de vista es ver el software libre como "alternativa", y no como "sustituto" del software más convencional. Por ejemplo, mysql puede que no haga las mismas cosas que un oracle ó un access, pero a mí me sobra para muchos cometidos. From rapto en arrakis.es Thu Apr 29 11:07:43 2004 From: rapto en arrakis.es (=?windows-1252?Q?Marcos_S=E1nchez_Provencio?=) Date: Thu, 29 Apr 2004 11:07:43 +0200 Subject: EXIM In-Reply-To: <000001c42dc7$9babdcd0$0100a8c0@SEVIPC> References: <000001c42dc7$9babdcd0$0100a8c0@SEVIPC> Message-ID: <4090C5DF.6010406@arrakis.es> Te interesarán los módulos estándar de Python: poplib imaplib smtplib email Pedro Javier Aljaro Velasco wrote: >Hola a todos, quiero hacer un programa que controle todo el envió y >recepción de emails usando exim. Este programa será un sistema de >preguntas y respuestas de cursos entre alumnos y profesores. Así, mi >programa debería envíar por correo las preguntas a los alumnos y recibir >de estos los correos con los resultados. Para ello me gustaría saber: > >- ¿como puede un programa en python programar el envío de >emails utilizando exim? >- ¿como un programa en python puede recibir los emails a traves >de exim y evaluarlos? >- ¿puede ejecutarse exim sin ningún gestor de correo >electrónico? > >En definitiva, me gustaría saber como pueden interactuar python y exim, >y si existe algún modulo para python que sirva para tratar correos >electrónicos y como puedo hacer que python ?capte? los correos que >llegan a nuestro servidor. > >Saludos y gracias de antemano. > >Pedro Javier Aljaro Velasco > >_______________________________________________ >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 chema en chema.homelinux.org Thu Apr 29 13:10:22 2004 From: chema en chema.homelinux.org (=?ISO-8859-1?Q?Jos=E9_Mar=EDa?= Mateos) Date: Thu, 29 Apr 2004 13:10:22 +0200 Subject: EXIM In-Reply-To: <000001c42dc7$9babdcd0$0100a8c0@SEVIPC> References: <000001c42dc7$9babdcd0$0100a8c0@SEVIPC> Message-ID: <1083237021.21991.8.camel@chema.homelinux.org> El jue, 29-04-2004 a las 10:54, Pedro Javier Aljaro Velasco escribió: > - ¿como puede un programa en python programar el envío de > emails utilizando exim? > - ¿como un programa en python puede recibir los emails a traves > de exim y evaluarlos? > - ¿puede ejecutarse exim sin ningún gestor de correo > electrónico? Se me ocurre que puedes hacer que los mensajes pasen a Python utilizando procmail (estoy suponiendo que estás en una máquina Linux o similar) y que éste los lea de la entrada estándar. Luego lo pasas a algún módulo de análisis de e-mail (había uno dentro de la clase Mime, creo recordar) y ya trabajas con él. Para enviar, lo que han comentado: smtplib. Saludos. -- ** Blog Overflow: http://chema.homelinux.org ** No software patents in Europe http://EuropeSwPatentFree.hispalinux.es - EuropeSwPatentFree ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From cescd en yahoo.com.mx Thu Apr 29 18:54:39 2004 From: cescd en yahoo.com.mx (=?iso-8859-1?q?Cesar=20Cardenas=20Desales?=) Date: Thu, 29 Apr 2004 11:54:39 -0500 (CDT) Subject: SPARK Message-ID: <20040429165439.31750.qmail@web50408.mail.yahoo.com> Estoy desarrollando un programa para el cual necesito un parser. La herramienta que usé es spark. El problema es que spark no acepta más de 100 Tokens, y la gramàtica que tengo es de facilmente unos 300. Al sobrepasar el limite de los 100 modifique el codigo fuente para que aceptara más Tokens, pero no fue suficiente, ya que con más Tokens simplemente el intérprete de Python "se muere". Es decir, no lanza ni siquiera una excepción; estoy trabajando en windows, lanzo spark, y sale la ventanita de que si quiero informar del error a Micro$oft. A alguien le ha pasado algo semejante? Es que Python no soporta programas tan grandes? Tendré que cambiar a Java? César _________________________________________________________ Do You Yahoo!? La mejor conexión a internet y 25MB extra a tu correo por $100 al mes. http://net.yahoo.com.mx From miuler en csdelectronic.com Wed Apr 28 19:14:48 2004 From: miuler en csdelectronic.com (Hector Miuler Malpica Gallegos) Date: Wed, 28 Apr 2004 12:14:48 -0500 Subject: Chandler 0.3 Message-ID: <1083172469.14406.23.camel@debi.debian> Hola de nuevo, solo quería comentarles ya baje el chandler 0.1, el cual si me permite entrar contactos, en el chandler 0.3 no encontre la opción parece, bueno parece que aun tienen para rato, pues en la 0.4 quieren mejorar el UI pues, y se supone recién sera usable a partir de la ver 1.0, bueno buscando un poco mas encontre algo para openoffice par compartir informacion, pero lo que no me gusta es que piden java, personalmente no me gusta trabajar con jaba, bueno solo me queda esperar. -- _\|/_ (O-O) --oOO-(_)-OOo---------------------------------------- .--. Hector Miuler Malpica G. |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 iespana.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol ----------------------------------------------------- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From miuler en csdelectronic.com Wed Apr 28 20:24:14 2004 From: miuler en csdelectronic.com (Hector Miuler Malpica Gallegos) Date: Wed, 28 Apr 2004 13:24:14 -0500 Subject: python y gmainloop Message-ID: <1083176654.22291.15.camel@debi.debian> Hola amigos, estoy buscando la forma de usar el puerto serial (pyserial) pero no depender de un poll para ver si estan mandando algo a trabes de el, por eso pense en glib para que el se encargue de llamar a mi aplicación cuando a este detecte algo en el puerto serial, esta idea se me acurrio a raiz del siquiente parrafo que ley: -- http://gsyc.escet.urjc.es/actividades/linuxprog/gnome/gnome-intro.html Bucle de ejecución: una de las cosas más interesantes de glib es el bucle de ejecución (GMainLoop) que incluye, que nos permite convertir nuestras aplicaciones en asíncronas, de forma que permanezcan a la escucha de determinados eventos, actuando sólo cuando se produzcan esos eventos, permaneciendo en espera el resto del tiempo. Esto es algo especialmente útil para aplicaciones con interfaz gráfica, como vermos más adelante, pero puede ser muy útil tambien en otras situaciones. El tipo de eventos que se pueden usar son alarmas (temporizadores), momentos de inactividad de la aplicación, y, el más interesante de todos, eventos de E/S en ficheros (o tuberías, sockets, etc) -- Hay alguna otra forma de hacerlo sin tener que depender de glib? todo con puro python? me imagino que GMainLoop tendra que comunicarse con el mismo SO. Pense en GMainLoop al ver como el entorno de gnome esta atento a todo lo que ocurre en mi desktop, el gnome no usa un timer para cada cosa si no que usa a gmainloop. Esta es la unica posibilidad? tendré que usar una aplicacion echa en C para poder usar a Glib (gmainloop) para que cuando ocurra lo que una entrada llame a mi programa echo en python? -- _\|/_ (O-O) --oOO-(_)-OOo-- .--. Hector Miuler Malpica G. |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 iespana.es Yahoo miuler13 en yahoo.es IRC irc.freenode.net #apesol -- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es