From vitojph en gmx.net Tue Jun 1 12:49:43 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 1 Jun 2004 12:49:43 +0200 Subject: =?iso-8859-15?q?Presentaci=F3n_y_cargando_un_archivo?= =?iso-8859-15?q?_en_un?= diccionario. Message-ID: <200406011249.54599.vitojph@gmx.net> ¡Hola a todos! Me llamo Víctor y soy novatillo en Python. Llevo leyendo tutoriales una semana y apuntado a la lista tres o cuatro días, pero tengo un par de preguntas (de manual, seguro) porque me temo que sigo pensando en términos de Perl para hacer algunas cosas más o menos triviales. Os cuento: Necesito leer un archivo que contiene palabras (una por línea) y me gustaría cargarlas en un diccionario. Para ello, he hecho la siguiente función, calcada de las que suelo usar en Perl, no sé si es la manera más sencilla/habitual de hacerla en Python: def cargaStopWords(stopwordsFile): """ Carga el archivo de stopwords en un diccionario. """ stopwords = {} f = open(stopwordsFile, "r") if f: # compruebo si se ha cargado correctamente el archivo for linea in f: linea = linea[:-1] # elimino el retorno de carro stopwords[linea] = 1 else: sys.stderr.write("Error al leer el fichero de stopwords %.\n" % stopwordsFile) sys.exit() f.close() return stopwords - ¿Es necesario comprobar que se ha cargado correctamente el archivo? O preguntando de otro modo, ¿cómo se traduce el siguiente idiom de Perl? open FILEHANDLE, $file or die "$!" - ¿Es necesario cerrar el archivo por defecto se cierra cuando abra otro o cuando termine el script? - ¿Existe alguna variable interna de Python que guarde los errores, como hace $! en Perl? - ¿La forma más sencilla de recorre un fichero de texto línea a línea es usando el módulo fileinput y haciendo? for linea in fileinput.input(): print linea - ¿Dónde puedo leer algo acerca de interpolación de variables en cadenas y demás? Siento preguntar cosas tan obvias, pero es que todavía ando torpe con la documentación :-( Gracias de antemano y saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Tue Jun 1 13:30:34 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 1 Jun 2004 13:30:34 +0200 Subject: =?iso-8859-1?q?Concatenaci=F3n?= lenta. Message-ID: <200406011330.34726.pepe@diselpro.com> Hola. Tengo un problemilla con la velocidad de concatenación. Por Ej. --- buffer = "" for x in xrange(65535): buffer+="FF" --- Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, necesita crearlo cada vez. He probado con el join de esta manera ----- buffer="" ls=[] for x in xrange(65535): ls.append("FF") buffer="".join(ls) ----- Este segundo ejemplo es mucho más rápido, pero ¿Es la forma más rápida de componer una cadena a partir de cadenas más pequeñas? Necesito saber el método más rápido porque tengo que transformar ficheros relativamente grandes a cadenas con su contenido en hexadecimal. Gracias. From rapto en arrakis.es Tue Jun 1 13:45:06 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 01 Jun 2004 13:45:06 +0200 Subject: =?ISO-8859-1?Q?Presentaci=F3n_y_cargando_u?= =?ISO-8859-1?Q?n_archivo_en_un_diccionario=2E?= In-Reply-To: <200406011249.54599.vitojph@gmx.net> References: <200406011249.54599.vitojph@gmx.net> Message-ID: <40BC6C42.3060206@arrakis.es> Si hay una palabra por línea y el fichero no es enorme, puedes hacer esto: def cargaStopWords(stopwordsFile): """ Carga el archivo de stopwords en un diccionario. """ return dict.fromkeys(file(stopwordsFile).read().split()) file abre el fichero (por omisión, en sólo lectura) read lo lee entero (si son megas, no irá muy allá) split lo divide en palabras dict.fromkeys te genera un diccionario a partir de las claves dadas Lo de los errores no lo entiendo, pero de Perl estoy totalmente pez. Víctor Peinado wrote: >¡Hola a todos! > >Me llamo Víctor y soy novatillo en Python. Llevo leyendo tutoriales una semana >y apuntado a la lista tres o cuatro días, pero tengo un par de preguntas (de >manual, seguro) porque me temo que sigo pensando en términos de Perl para >hacer algunas cosas más o menos triviales. Os cuento: > >Necesito leer un archivo que contiene palabras (una por línea) y me gustaría >cargarlas en un diccionario. Para ello, he hecho la siguiente función, >calcada de las que suelo usar en Perl, no sé si es la manera más >sencilla/habitual de hacerla en Python: > >def cargaStopWords(stopwordsFile): > """ Carga el archivo de stopwords en un diccionario. """ > stopwords = {} > f = open(stopwordsFile, "r") > if f: # compruebo si se ha cargado correctamente el archivo > for linea in f: > linea = linea[:-1] # elimino el retorno de carro > stopwords[linea] = 1 > else: > sys.stderr.write("Error al leer el fichero de stopwords %.\n" % >stopwordsFile) > sys.exit() > > f.close() > return stopwords > > >- ¿Es necesario comprobar que se ha cargado correctamente el archivo? O >preguntando de otro modo, ¿cómo se traduce el siguiente idiom de Perl? > > open FILEHANDLE, $file or die "$!" > >- ¿Es necesario cerrar el archivo por defecto se cierra cuando abra otro o >cuando termine el script? >- ¿Existe alguna variable interna de Python que guarde los errores, como hace >$! en Perl? >- ¿La forma más sencilla de recorre un fichero de texto línea a línea es >usando el módulo fileinput y haciendo? > >for linea in fileinput.input(): > print linea > >- ¿Dónde puedo leer algo acerca de interpolación de variables en cadenas y >demás? > >Siento preguntar cosas tan obvias, pero es que todavía ando torpe con la >documentación :-( Gracias de antemano y saludos. > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From morillas en posta.unizar.es Tue Jun 1 13:33:40 2004 From: morillas en posta.unizar.es (luis miguel) Date: Tue, 01 Jun 2004 13:33:40 +0200 Subject: =?ISO-8859-1?Q?Concatenaci=F3n?= lenta. In-Reply-To: <200406011330.34726.pepe@diselpro.com> References: <200406011330.34726.pepe@diselpro.com> Message-ID: <1086089620.677.17.camel@guadalinex> El mar, 01-06-2004 a las 13:30, Pepe Aracil escribió: > Hola. > > Tengo un problemilla con la velocidad de concatenación. > > Por Ej. > --- > buffer = "" > for x in xrange(65535): > buffer+="FF" > --- > > Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, > necesita crearlo cada vez. > > He probado con el join de esta manera > > ----- > buffer="" > ls=[] > for x in xrange(65535): > ls.append("FF") > buffer="".join(ls) > ----- > > Este segundo ejemplo es mucho más rápido, pero ¿Es la forma más rápida de > componer una cadena a partir de cadenas más pequeñas? > > Necesito saber el método más rápido porque tengo que transformar ficheros > relativamente grandes a cadenas con su contenido en hexadecimal. > Jesús Cea tiene un buen artículo http://www.argo.es/%7Ejcea/artic/python-cadenas.htm > > Gracias. > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From rapto en arrakis.es Tue Jun 1 13:52:15 2004 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 01 Jun 2004 13:52:15 +0200 Subject: =?ISO-8859-1?Q?Concatenaci=F3n_lenta=2E?= In-Reply-To: <200406011330.34726.pepe@diselpro.com> References: <200406011330.34726.pepe@diselpro.com> Message-ID: <40BC6DEF.3040107@arrakis.es> Si al final el resultado va a un fichero, seguro que es más rápido escribir al fichero. Creo ;-) Se suele recomendar el truco que indicas (con join) para montar cadenas a partir de trocitos. Pepe Aracil wrote: >Hola. > >Tengo un problemilla con la velocidad de concatenación. > >Por Ej. >--- >buffer = "" >for x in xrange(65535): > buffer+="FF" >--- > >Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, >necesita crearlo cada vez. > >He probado con el join de esta manera > >----- >buffer="" >ls=[] >for x in xrange(65535): > ls.append("FF") >buffer="".join(ls) >----- > >Este segundo ejemplo es mucho más rápido, pero ¿Es la forma más rápida de >componer una cadena a partir de cadenas más pequeñas? > >Necesito saber el método más rápido porque tengo que transformar ficheros >relativamente grandes a cadenas con su contenido en hexadecimal. > > >Gracias. > > > > > > > From jcea en argo.es Tue Jun 1 14:01:06 2004 From: jcea en argo.es (Jesus Cea Avion) Date: Tue, 01 Jun 2004 14:01:06 +0200 Subject: =?iso-8859-1?Q?Concatenaci=F3n?= lenta. References: <200406011330.34726.pepe@diselpro.com> Message-ID: <40BC7002.28CC8631@argo.es> > Necesito saber el método más rápido porque tengo que transformar > ficheros relativamente grandes a cadenas con su contenido en > hexadecimal. http://www.argo.es/%7Ejcea/artic/python-cadenas.htm En tu caso igual es mejor algo en plan cstringio. -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From falted en pytables.org Tue Jun 1 14:08:01 2004 From: falted en pytables.org (Francesc Alted) Date: Tue, 1 Jun 2004 14:08:01 +0200 Subject: =?iso-8859-1?q?Concatenaci=F3n?= lenta. In-Reply-To: <200406011330.34726.pepe@diselpro.com> References: <200406011330.34726.pepe@diselpro.com> Message-ID: <200406011408.01685.falted@pytables.org> Si precisas velocidad, te recomiendo que pruebes con psyco [1]. Es muy fácil de usar y para este caso concreto va muy bien. Mira este penqueño ejemplo: ----------------------------------------------- from time import time import psyco def test1(): buffer = "" for x in xrange(65535): buffer+="FF" def test2(): buffer="" ls=[] for x in xrange(65535): ls.append("FF") buffer="".join(ls) t1=time() test1() print "tiempo test1 -->", time()-t1 psyco.bind(test1) t1=time() test1() print "tiempo test1 (usando pysco) -->", time()-t1 t1=time() test2() print "tiempo test2 -->", time()-t1 psyco.bind(test2) t1=time() test2() print "tiempo test2 (usando pysco) -->", time()-t1 ----------------------------------------------------- y el output: tiempo test1 --> 1.80702400208 tiempo test1 (usando pysco) --> 0.00537300109863 tiempo test2 --> 0.078635931015 tiempo test2 (usando pysco) --> 0.0402929782867 o sea, la primera aproximación es muy lenta sin psyco, pero la más rápida con él (casi un factor 10 más que la segunda). El primer caso es tan rápido en psyco porque su autor (Armin Rigo) hizo una optimización especial para ese caso (de su web): """ And I have rewritten the string concatenation implementation, as the previous one was unexpectedly inefficient: now using 's=s+t' repeatedly to build a large string is at least as efficient as filling a cStringIO object (and more memory-conservative than using a large list of small strings and calling '"".join()' at the end). """ [1] http://psyco.sourceforge.net/ Saludos, Francesc A Dimarts 01 Juny 2004 13:30, Pepe Aracil va escriure: > > Hola. > > Tengo un problemilla con la velocidad de concatenación. > > Por Ej. > --- > buffer = "" > for x in xrange(65535): > buffer+="FF" > --- > > Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, > necesita crearlo cada vez. > > He probado con el join de esta manera > > ----- > buffer="" > ls=[] > for x in xrange(65535): > ls.append("FF") > buffer="".join(ls) > ----- > > Este segundo ejemplo es mucho más rápido, pero ¿Es la forma más rápida de > componer una cadena a partir de cadenas más pequeñas? > > Necesito saber el método más rápido porque tengo que transformar ficheros > relativamente grandes a cadenas con su contenido en hexadecimal. > > > Gracias. > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > -- Francesc Alted From jcea en argo.es Tue Jun 1 14:11:45 2004 From: jcea en argo.es (Jesus Cea Avion) Date: Tue, 01 Jun 2004 14:11:45 +0200 Subject: =?iso-8859-1?Q?Concatenaci=F3n?= lenta. References: <200406011330.34726.pepe@diselpro.com> <200406011408.01685.falted@pytables.org> Message-ID: <40BC7281.442B8CB2@argo.es> > El primer caso es tan rápido en psyco porque su autor (Armin Rigo) Personalmente el problema gordo que le veo a psyco (aunque tiene muchos más) es que solo funciona en arquitecturas x86. Si tienes sparc, alpha, powerPC, etc., estás jodido. Para la necesidad concreta del contertulio, yo le recomendarñia cStringIO. Debería ser muy eficiente y funciona en cualquier plataforma python :) http://docs.python.org/lib/module-cStringIO.html http://docs.python.org/lib/module-StringIO.html -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From smonux en telefonica.net Tue Jun 1 15:07:20 2004 From: smonux en telefonica.net (Samuel) Date: Tue, 1 Jun 2004 15:07:20 +0200 Subject: =?iso-8859-1?Q?Concatenaci?= =?iso-8859-1?Q?=F3n?= lenta. In-Reply-To: <200406011330.34726.pepe@diselpro.com> References: <200406011330.34726.pepe@diselpro.com> Message-ID: <20040601130720.GA2840@tizona.no-ip.org> El mar, 01 de jun de 2004, a las 01:30:34 +0200, Pepe Aracil dijo: > > Hola. > > Tengo un problemilla con la velocidad de concatenación. > > Por Ej. > --- > buffer = "" > for x in xrange(65535): > buffer+="FF" > --- > > Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, > necesita crearlo cada vez. > Aquí tienes una comparación entre las diversas opciones posibles: http://www.skymind.com/~ocrow/python_string/ 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 py en ch3m4.org Tue Jun 1 15:29:31 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Tue, 1 Jun 2004 15:29:31 +0200 Subject: =?iso-8859-15?q?Presentaci=F3n_y_cargando_un_archivo_en_un?= diccionario. In-Reply-To: <200406011249.54599.vitojph@gmx.net> References: <200406011249.54599.vitojph@gmx.net> Message-ID: <200406011529.31588.py@ch3m4.org> El Martes, 1 de Junio de 2004 12:49, Víctor Peinado escribió: > - ¿Es necesario comprobar que se ha cargado correctamente el archivo? O > preguntando de otro modo, ¿cómo se traduce el siguiente idiom de Perl? > > open FILEHANDLE, $file or die "$!" Si llegara a producirse un error, saltaría una excepción si posibilidad de comprobar el valor que retorna. Hay que tener presente que los errores en python producen "excepciones", y que sólo se deben procesar aquellas excepciones de las que se sepa recuperarse. Por ejemplo, el fragmento de perl sería algo así: try: f=file(stopwordsFile) except Exception, e: sys.stderr.write( e.errno ) Pero el mecanismo de excepciones daría para hacer muchas cosas más: try: f=file(stopwordsFile) except OSError, e: print "No he podido abrir el fichero" f=None except Exception, e: print "Ha habido un error que no sé cómo tratar" print e.errno,e.strerror raise #mandamos el error "hacia arriba" en la pila de ejecución Incluso se podría entrar en el debugger python para intentar averiguar algo: except: import sys,pdb t=sys.exc_info() pdb.post_mortem(t[2]) > - ¿Es necesario cerrar el archivo por defecto se cierra cuando abra otro o > cuando termine el script? No, pero sería recomendable. Cuando ningún quede ningún objeto que referencie al archivo abierto, el recolector de basura (gc) eliminará de memoria la referencia al objeto, cerrándose en ese momento el fichero. > - ¿Existe alguna variable interna de Python que guarde los errores, como > hace $! en Perl? No existe algo así de global y general. Los errores en python se encapsulan en excepciones para procesarlos sin peligro de que sean machacados por futuros errores. Si quieres saber el número de error, lo tienes en la propiedad '.errno' de la excepción. Si quieres saber el nombre del error, usa el módulo 'errno' from errno import errorcode print errorcode[e.errno] > - ¿La forma más sencilla de recorre un fichero de texto línea a línea es > usando el módulo fileinput y haciendo? > > for linea in fileinput.input(): > print linea Lo más sencillo: for linea in file("MiFichero"): print linea El fileinput es un módulo de ayuda con el que se puede procesar un listado de ficheros dado en la línea de comandos. > - ¿Dónde puedo leer algo acerca de interpolación de variables en cadenas y > demás? Mira el operador de formateo "%". El resto de métodos de las cadenas de caracteres también pueden serte útiles: a='mundo' print "hola, %s" % a #imprime: "hola, mundo" a=[ "mundo", 2004, 1] print "hola %s" % a #imprime: "hola ['mundo', 2004, 1]" print "hola %s - año %d:%02d" % tuple(a) #imprime: "hola mundo - año 2004:01" print ",".join([str(x).upper() for x in a]) #imprime: MUNDO,2004,0 #éste ejemplo usaba la comprensión de listas. a={"nombre":"Pepe", "tel":1234} print "Nombre: %(nombre)s - Tel: %(tel)06d" % a #imprime: "Nombre: Pepe - Tel: 00123" ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gari en eibar.org Tue Jun 1 15:41:36 2004 From: gari en eibar.org (Gari Araolaza) Date: Tue, 01 Jun 2004 15:41:36 +0200 Subject: =?ISO-8859-1?Q?Presentaci=F3n_y_cargando_u?= =?ISO-8859-1?Q?n_archivo_en_un_diccionario=2E?= In-Reply-To: <200406011249.54599.vitojph@gmx.net> References: <200406011249.54599.vitojph@gmx.net> Message-ID: <40BC8790.9060802@eibar.org> Al script ya te ha contestado otro compañero, o sea que voy al resto: >- ¿Existe alguna variable interna de Python que guarde los errores, como hace >$! en Perl? > > Yo tampoco sé nada de Perl, pero no sé si te refieres a detectar los errores que pudiera haber. Para ello se utiliza try/except y raise: try: f = open(filename,'r') except IOError: print "No se ha podido abrir el fichero #Aquí pones lo que quieres que se ejecute si no se puede abrir el fichero. Con un raise IOError dentro de except harías que el error subiera hacia "arriba", al script desde donde se le llamó a este. >- ¿La forma más sencilla de recorre un fichero de texto línea a línea es >usando el módulo fileinput y haciendo? > Lo más fácil es utilizar la función readlines(), que devuelve una lista de líneas: for linea in f.readlines(): print linea >- ¿Dónde puedo leer algo acerca de interpolación de variables en cadenas y >demás? > > Lo habitual es hacerlo con esto: http://diveintopython.org/native_data_types/formatting_strings.html http://www.python.org/doc/current/lib/typesseq-strings.html Saludos y ánimos Gari From pepe en diselpro.com Tue Jun 1 17:49:01 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 1 Jun 2004 17:49:01 +0200 Subject: =?iso-8859-1?q?Concatenaci=F3n?= lenta. In-Reply-To: <200406011330.34726.pepe@diselpro.com> References: <200406011330.34726.pepe@diselpro.com> Message-ID: <200406011749.01239.pepe@diselpro.com> Hola. Gracias a todos por contestarme. Despues de haber estudiado la info. que me habéis enviado, he decidido utilizar el modulo cStringIO, que es el que mejor se adapta a mi necesidad en concreto. En cuanto a psyco, es una lástima que solo corra sobre i386, ya que seguramente mi aplicación deberá correr también sobre powerPC. Gracias. El Martes, 1 de Junio de 2004 13:30, Pepe Aracil escribió: > Hola. > > Tengo un problemilla con la velocidad de concatenación. > > Por Ej. > --- > buffer = "" > for x in xrange(65535): > buffer+="FF" > --- > > Esto es lentiiiiisimo. Supongo que es porque al ser un objeto inmutable, > necesita crearlo cada vez. > > He probado con el join de esta manera > > ----- > buffer="" > ls=[] > for x in xrange(65535): > ls.append("FF") > buffer="".join(ls) > ----- > > Este segundo ejemplo es mucho más rápido, pero ¿Es la forma más rápida de > componer una cadena a partir de cadenas más pequeñas? > > Necesito saber el método más rápido porque tengo que transformar ficheros > relativamente grandes a cadenas con su contenido en hexadecimal. > > > Gracias. > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From jcea en argo.es Tue Jun 1 21:48:15 2004 From: jcea en argo.es (Jesus Cea Avion) Date: Tue, 01 Jun 2004 21:48:15 +0200 Subject: =?iso-8859-1?Q?Concatenaci=F3n?= lenta. References: <200406011330.34726.pepe@diselpro.com> <200406011749.01239.pepe@diselpro.com> Message-ID: <40BCDD7F.D48FD4E2@argo.es> > En cuanto a psyco, es una lástima que solo corra sobre i386, ya que > seguramente mi aplicación deberá correr también sobre powerPC. El autor está trabajando en una máquina virtual "universal", pero: a) No será probablemente tan eficiente como x86 nativo. b) Lleva más de año y medio con este tema, y no hay nada que se pueda probar aún... -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz From vitojph en gmx.net Tue Jun 1 22:12:18 2004 From: vitojph en gmx.net (=?iso-8859-1?q?V=EDctor_Peinado?=) Date: Tue, 1 Jun 2004 22:12:18 +0200 Subject: =?iso-8859-1?q?Presentaci=F3n_y_cargando_un_archivo_en_un?= diccionario. In-Reply-To: <40BC6C42.3060206@arrakis.es> References: <200406011249.54599.vitojph@gmx.net> <40BC6C42.3060206@arrakis.es> Message-ID: <200406012212.32514.vitojph@gmx.net> El Martes, 1 de Junio de 2004 13:45, maese Marcos Sánchez Provencio tuvo la osadía de escribir: | Si hay una palabra por línea y el fichero no es enorme, puedes hacer esto: | | def cargaStopWords(stopwordsFile): | """ Carga el archivo de stopwords en un diccionario. """ | return dict.fromkeys(file(stopwordsFile).read().split()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :-O Vaya, peaso de sintaxis. Gracias, pero por ahora voy a ser un poco más explícito, al menos hasta que me encuentre más cómodo. Tomo nota de tu receta, de todas formas ;-) -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ldelannoy en minpublico.cl Tue Jun 1 22:11:09 2004 From: ldelannoy en minpublico.cl (Luis Delannoy Iversen) Date: Tue, 1 Jun 2004 16:11:09 -0400 Subject: Desarrollo Web al estilo de PHP Message-ID: <847C3C121499804C8C9F63DCEED32CB5A69F8A@EXCHANGE.minpublico.cl> Hola a todos, quisiera saber si alguien ha tenido que desarrollar apliciones web con python, utilizando un desarrollo parecido a PHP. He leido que se está desarrollando algo como PSP (mod_python) Lo que necesito es una alternativa a PHP /Postgress. Gracias de antemano. From vitojph en gmx.net Tue Jun 1 22:21:59 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 1 Jun 2004 22:21:59 +0200 Subject: =?iso-8859-15?q?Presentaci=F3n_y_cargando_un_archivo_en_un?= diccionario. In-Reply-To: <200406011529.31588.py@ch3m4.org> References: <200406011249.54599.vitojph@gmx.net> <200406011529.31588.py@ch3m4.org> Message-ID: <200406012221.59771.vitojph@gmx.net> El Martes, 1 de Junio de 2004 15:29, maese Chema Cortés tuvo la osadía de escribir: | Si llegara a producirse un error, saltaría una excepción si posibilidad de | comprobar el valor que retorna. Hay que tener presente que los errores en | python producen "excepciones", y que sólo se deben procesar aquellas | excepciones de las que se sepa recuperarse. Ok, esa parte me la he mirado por encima. Leeré con atención. | > - ¿Es necesario cerrar el archivo por defecto se cierra cuando abra otro | > o cuando termine el script? | | No, pero sería recomendable. Cuando ningún quede ningún objeto que | referencie al archivo abierto, el recolector de basura (gc) eliminará de | memoria la referencia al objeto, cerrándose en ese momento el fichero. Entiendo. | > - ¿Existe alguna variable interna de Python que guarde los errores, como | > hace $! en Perl? | | No existe algo así de global y general. Los errores en python se encapsulan | en excepciones para procesarlos sin peligro de que sean machacados por | futuros errores. Si quieres saber el número de error, lo tienes en la | propiedad '.errno' de la excepción. | | Si quieres saber el nombre del error, usa el módulo 'errno' | | from errno import errorcode | print errorcode[e.errno] Tomo nota. Más para leer. | El fileinput es un módulo de ayuda con el que se puede procesar un listado | de ficheros dado en la línea de comandos. Eso es. Así lo había utilizado. Especificando los archivos de entrada como argumentos. Muy útil. Gracias a todos por las respuestas. Saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From visualnex en tutopia.com Wed Jun 2 00:23:08 2004 From: visualnex en tutopia.com (marcelo ametller) Date: Tue, 1 Jun 2004 19:23:08 -0300 Subject: Acceder a Base mdb desde linux con python Message-ID: <20040601192308.00004601@pc12> Hola: Tengo en mi PC, (linux, debian testing, python2.3 y demas) , copiada una base de datos de access2000 en formato mdb. Hay alguna forma de acceder a sus registros, aunque sea para leerlos desde Linux, via python? ojo! no "conectarme" a una base que corre en Windows, sino leer los registros desde Linux en la copia que tengo en mi computadora.(ordenador...) Saludos maram ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From tjavier en usuarios.retecal.es Wed Jun 2 10:02:01 2004 From: tjavier en usuarios.retecal.es (T. Javier Robles Prado) Date: Wed, 2 Jun 2004 10:02:01 +0200 Subject: Acceder a Base mdb desde linux con python In-Reply-To: <20040601192308.00004601@pc12> References: <20040601192308.00004601@pc12> Message-ID: <200406021002.01408.tjavier@usuarios.retecal.es> El Miércoles, 2 de Junio de 2004 00:23, marcelo ametller escribió: > Hola: > Tengo en mi PC, (linux, debian testing, python2.3 y demas) , copiada una > base de datos de access2000 en formato mdb. Hay alguna forma de acceder a > sus registros, aunque sea para leerlos desde Linux, via python? ojo! no > "conectarme" a una base que corre en Windows, sino leer los registros desde > Linux en la copia que tengo en mi computadora.(ordenador...) > > Saludos > maram Según mi experiencia, para acceder a una base de datos Access necesitas las extensiones de Mark Hammond para windows (que evidentemente no están en Linux) -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Wed Jun 2 09:54:06 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Wed, 2 Jun 2004 09:54:06 +0200 Subject: Desarrollo Web al estilo de PHP In-Reply-To: <847C3C121499804C8C9F63DCEED32CB5A69F8A@EXCHANGE.minpublico.cl> References: <847C3C121499804C8C9F63DCEED32CB5A69F8A@EXCHANGE.minpublico.cl> Message-ID: <200406020954.06282.py@ch3m4.org> El Martes, 1 de Junio de 2004 22:11, Luis Delannoy Iversen escribió: > Hola a todos, quisiera saber si alguien ha tenido que desarrollar > apliciones web con python, utilizando un desarrollo parecido a PHP. He > leido que se está desarrollando algo como PSP (mod_python) > > Lo que necesito es una alternativa a PHP /Postgress. Perdona que no me extienda mucho, pero es que esta pregunta la tienes muchas veces respondida en el archivo de mensajes de esta lista. Para desarrollo web con python (incluyen ejemplos): http://www.ypsolog.com/docs/comp/other/pythonweb.html Más exhaustivo: http://www.python.org/cgi-bin/moinmoin/WebProgramming Mi preferido es cherrypy: http://www.cherrypy.org From py en ch3m4.org Wed Jun 2 10:12:44 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Wed, 2 Jun 2004 10:12:44 +0200 Subject: Acceder a Base mdb desde linux con python In-Reply-To: <20040601192308.00004601@pc12> References: <20040601192308.00004601@pc12> Message-ID: <200406021012.44193.py@ch3m4.org> El Miércoles, 2 de Junio de 2004 00:23, marcelo ametller escribió: > Tengo en mi PC, (linux, debian testing, python2.3 y demas) , copiada una > base de datos de access2000 en formato mdb. Hay alguna forma de acceder a > sus registros, aunque sea para leerlos desde Linux, via python? ojo! no > "conectarme" a una base que corre en Windows, sino leer los registros desde > Linux en la copia que tengo en mi computadora.(ordenador...) Yo también voy buscando formas de trabajar con mdbs desde linux, aunque en mi caso no necesariamente con las mdbs físicamente en la máquina linux. Aunque quisiera experimentar algo más con ello, una forma de acceder a las mdbs desde python/linux consistiría en usar unixODBC con lo siguiente: - unixODBC [1]: gestor ODBC - mdbtools [2]: manipulador de mdbs que incluye driver ODBC para unixODBC - mxODBC [3]: módulo python para ODBC Con el interface gráfico del mdbtools puedes exportar la estructura de un mdb a otros gestores. [1] http://www.unixodbc.org/ [2] http://mdbtools.sourceforge.net/ [3] http://www.egenix.com/files/python/mxODBC.html ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From josu en ubera.net Wed Jun 2 10:04:44 2004 From: josu en ubera.net (Josu Oyanguren) Date: Wed, 02 Jun 2004 10:04:44 +0200 Subject: Acceder a Base mdb desde linux con python In-Reply-To: <200406021002.01408.tjavier@usuarios.retecal.es> References: <20040601192308.00004601@pc12> <200406021002.01408.tjavier@usuarios.retecal.es> Message-ID: <40BD8A1C.9090307@ubera.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 T. Javier Robles Prado escribió: | El Miércoles, 2 de Junio de 2004 00:23, marcelo ametller escribió: | |>Hola: |>Tengo en mi PC, (linux, debian testing, python2.3 y demas) , copiada una |>base de datos de access2000 en formato mdb. Hay alguna forma de acceder a |>sus registros, aunque sea para leerlos desde Linux, via python? ojo! no |>"conectarme" a una base que corre en Windows, sino leer los registros desde |>Linux en la copia que tengo en mi computadora.(ordenador...) |> |>Saludos |>maram | | | Según mi experiencia, para acceder a una base de datos Access necesitas las | extensiones de Mark Hammond para windows (que evidentemente no están en | Linux) | | | | ------------------------------------------------------------------------ | | _______________________________________________ | Python-es mailing list | Python-es en aditel.org | http://listas.aditel.org/listinfo/python-es Yo he utilizado las MDB Tools http://mdbtools.sourceforge.net - -- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAvYob5ju4HVxhuqQRAmVJAKDMrSu6s8aKY12j0wnX+14dIhhLXwCgvpUL fDi88FMYe1qEd0ItH9Mm4V4= =okE7 -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From soulkiller en teleline.es Wed Jun 2 16:06:09 2004 From: soulkiller en teleline.es (soul) Date: Wed, 02 Jun 2004 16:06:09 +0200 Subject: wxGlade vs Boa Constructor ( busco tutoriales ) Message-ID: <1086185169.4771.5.camel@Zeus> He estado jugando un poco con estos dos editores para wxPython y me han gustado bastante. wxGlade lo encuentro de una facilidad de uso enorme (mas adecuado para pequeños desarrollos ) pero el Boa lo encuentro con mas madurez y posibilidades ( mejor para proyectos de desarrollo de aplicaciones grandes). Como en todo las cosas , el problema es siempre empezar. Si alguien tiene algún tutorial de alguno de estos programa que lo postee ( sobretodo me interesan de Boa ). Python roolz!!!! Soul From tjavier en usuarios.retecal.es Wed Jun 2 18:33:07 2004 From: tjavier en usuarios.retecal.es (T. Javier Robles Prado) Date: Wed, 2 Jun 2004 18:33:07 +0200 Subject: wxGlade vs Boa Constructor ( busco tutoriales ) In-Reply-To: <1086185169.4771.5.camel@Zeus> References: <1086185169.4771.5.camel@Zeus> Message-ID: <200406021833.07901.tjavier@usuarios.retecal.es> El Miércoles, 2 de Junio de 2004 16:06, soul escribió: > He estado jugando un poco con estos dos editores para wxPython y me han > gustado bastante. wxGlade lo encuentro de una facilidad de uso enorme > (mas adecuado para pequeños desarrollos ) pero el Boa lo encuentro con > mas madurez y posibilidades ( mejor para proyectos de desarrollo de > aplicaciones grandes). Como en todo las cosas , el problema es siempre > empezar. Si alguien tiene algún tutorial de alguno de estos programa que > lo postee ( sobretodo me interesan de Boa ). > Sobre wxGlade. Ojo con la versión de wxPyhton ya que wxGlade tiene problemas con la 2.5 (aunque a mí no me los ha dado). El tutorial está basado en la 2.4 http://milugar.homeip.net:8080/mi_lugar/trabajos/wxglade-tutorial/ -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org From pan_python en yahoo.com.ar Wed Jun 2 20:11:42 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Wed, 02 Jun 2004 15:11:42 -0300 Subject: Controlar errores de Mysql Message-ID: <40BE185E.5030609@yahoo.com.ar> Hola... Como todos saben estoy haciendo el programa para convertir dbfs a mysql... Lo que quiero hacer es controlar los errores que da mysql como ser registros duplicados o registros que por algun motivo no se graben en mysql Se que se hace con try except pero quisiera saber como sacar el nro de error y el nombre del error usando MySqldb, entonces despues de hacer el db.execute ver si hay algun error el Nro del error y saber que hacer si informar o seguir, en fin, la clasica rutina de error para verificar lo que se hizo... Necesitaria saber como me vuelve este error desde el modulo mysqldb y si se puede alguna dir donde poder sacar los errores para armarme la rutina... Desde ya, GRACIAS Ariel ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Wed Jun 2 21:14:25 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Wed, 02 Jun 2004 21:14:25 +0200 Subject: Controlar errores de Mysql In-Reply-To: <40BE185E.5030609@yahoo.com.ar> References: <40BE185E.5030609@yahoo.com.ar> Message-ID: <1086203663.4023.14.camel@renata.macondo.pri> Capturas la excepción. Por ejemplo: import MySQLdb as db try: db.connect() except db.MySQLError, e: print e print e.args >python -u xx.py 2002 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) >Exit code: 0 Lo he sacado jugando en el modo interactivo y mirando el código fuente. Además, puedes afinar qué excepciones capturas usando los nombres estándar de la API http://www.python.org/peps/pep-0249.html El mié, 02-06-2004 a las 20:11, Ariel Nardelli escribió: > Hola... > > Como todos saben estoy haciendo el programa para convertir dbfs a mysql... > > Lo que quiero hacer es controlar los errores que da mysql como ser > registros duplicados o registros que por algun motivo no se graben en mysql > > Se que se hace con try except pero quisiera saber como sacar el nro de > error y el nombre del error usando MySqldb, entonces despues de hacer el > db.execute ver si hay algun error el Nro del error y saber que hacer si > informar o seguir, en fin, la clasica rutina de error para verificar lo > que se hizo... > > Necesitaria saber como me vuelve este error desde el modulo mysqldb y si > se puede alguna dir donde poder sacar los errores para armarme la rutina... > > Desde ya, GRACIAS > > Ariel > > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmx.net Wed Jun 2 21:24:36 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Wed, 2 Jun 2004 21:24:36 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n_de_s=EDmbolos=2E?= Message-ID: <200406022124.46774.vitojph@gmx.net> ¡Hola a todos! Tratando de convertir a minúsculas cadenas, he descubierto que los métodos s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde ni la eñe, por ejemplo. Así que estoy utilizando s.replace() para cada par de símbolos, tal que: s.replace("Á", "á") s.replace("É", "é") .... Funciona, sí, pero ¿hay alguna forma de hacerlo todo de un tirón, al estilo del tr/// perlero? ¿Quizá algún módulo? He estado viendo string y StringIO pero no he encontrado nada. Estoy trabajando con iso-8859-15 en Debian. ¿Alguna idea? Gracias de antemano. Saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pan_python en yahoo.com.ar Wed Jun 2 22:21:27 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Wed, 02 Jun 2004 17:21:27 -0300 Subject: Controlar errores de Mysql In-Reply-To: <1086203663.4023.14.camel@renata.macondo.pri> References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> Message-ID: <40BE36C7.6080206@yahoo.com.ar> Gracias Marcos anda perfectamente tal cual queria e incluso separo el nro por un lado y la leyenda por otro para poder controlar por Nro de error... Lo que si a mi los mensajes me salen en castellano por que tengo puesta en la cfg del mysql que use el lenguaje spanish y asi directamnete podes poner el mensaje en pantalla sin necesidad de "traducirlo". Para hacer esto en el my.cfg tenes que cambiar donde dice lenguaje que ahora apunta a ingles poner spanish y reiniciar el mysql. Ariel Marcos Sánchez Provencio wrote: >Capturas la excepción. Por ejemplo: > >import MySQLdb as db >try: > db.connect() >except db.MySQLError, e: > print e > print e.args > > > >>python -u xx.py >> >> >2002 >Can't connect to local MySQL server through socket >'/var/run/mysqld/mysqld.sock' (2) > > >>Exit code: 0 >> >> > > >Lo he sacado jugando en el modo interactivo y mirando el código fuente. >Además, puedes afinar qué excepciones capturas usando los nombres >estándar de la API http://www.python.org/peps/pep-0249.html > > >El mié, 02-06-2004 a las 20:11, Ariel Nardelli escribió: > > >>Hola... >> >>Como todos saben estoy haciendo el programa para convertir dbfs a mysql... >> >>Lo que quiero hacer es controlar los errores que da mysql como ser >>registros duplicados o registros que por algun motivo no se graben en mysql >> >>Se que se hace con try except pero quisiera saber como sacar el nro de >>error y el nombre del error usando MySqldb, entonces despues de hacer el >>db.execute ver si hay algun error el Nro del error y saber que hacer si >>informar o seguir, en fin, la clasica rutina de error para verificar lo >>que se hizo... >> >>Necesitaria saber como me vuelve este error desde el modulo mysqldb y si >>se puede alguna dir donde poder sacar los errores para armarme la rutina... >> >>Desde ya, GRACIAS >> >>Ariel >> >> >>______________________________________________________________________ >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Wed Jun 2 22:22:36 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Wed, 02 Jun 2004 22:22:36 +0200 Subject: =?ISO-8859-1?Q?Transliteraci=F3n?= de =?ISO-8859-1?Q?s=EDmbolos=2E?= In-Reply-To: <200406022124.46774.vitojph@gmx.net> References: <200406022124.46774.vitojph@gmx.net> Message-ID: <1086207755.4023.18.camel@renata.macondo.pri> Mira esto: import locale as l l.setlocale(l.LC_ALL,'es_ES') print 'ñ'.upper() El mié, 02-06-2004 a las 21:24, Víctor Peinado escribió: > --Boundary-02=_+livAxTH5O+NY3b > Content-Type: text/plain; > charset="iso-8859-15" > Content-Transfer-Encoding: quoted-printable > Content-Disposition: inline > > =A1Hola a todos! > > Tratando de convertir a min=FAsculas cadenas, he descubierto que los m=E9to= > dos=20 > s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde ni = > la=20 > e=F1e, por ejemplo. As=ED que estoy utilizando s.replace() para cada par de= > =20 > s=EDmbolos, tal que: > > s.replace("=C1", "=E1") > s.replace("=C9", "=E9") > =2E... > > =46unciona, s=ED, pero =BFhay alguna forma de hacerlo todo de un tir=F3n, a= > l estilo=20 > del tr/// perlero? =BFQuiz=E1 alg=FAn m=F3dulo? He estado viendo string y S= > tringIO=20 > pero no he encontrado nada. Estoy trabajando con iso-8859-15 en Debian.=20 > =BFAlguna idea?=20 > > Gracias de antemano. Saludos. > > =2D-=20 > Res publica non dominetur. > > V=EDctor Peinado || vitojph gmx net || http://vitojph.yoll.net > Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA > JID: vitojph jabber dk || > > --Boundary-02=_+livAxTH5O+NY3b-- > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From morillas en posta.unizar.es Wed Jun 2 22:38:13 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Wed, 2 Jun 2004 22:38:13 +0200 Subject: =?iso-8859-1?Q?Translitera?= =?iso-8859-1?Q?ci=F3n_de_s=EDmbolos=2E?= In-Reply-To: <200406022124.46774.vitojph@gmx.net> References: <200406022124.46774.vitojph@gmx.net> Message-ID: <20040602203813.GA1314@marmota> Asunto: [Python-es] Transliteración de símbolos. Fecha: mié, jun 02, 2004 at 09:24:36 +0200 Citando a Víctor Peinado (vitojph en gmx.net): > ¡Hola a todos! > > Tratando de convertir a minúsculas cadenas, he descubierto que los métodos > s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde ni la > eñe, por ejemplo. Así que estoy utilizando s.replace() para cada par de > símbolos, tal que: Yo no tengo problema. >>> print 'á'.upper() Á >>> print 'ñ'.upper() Ñ >>> print 'ñ'.swapcase() Ñ ¿Qué te devuelven las funciones? También uso Debian. > > s.replace("Á", "á") > s.replace("É", "é") > .... > > Funciona, sí, pero ¿hay alguna forma de hacerlo todo de un tirón, al estilo > del tr/// perlero? ¿Quizá algún módulo? He estado viendo string y StringIO > pero no he encontrado nada. Estoy trabajando con iso-8859-15 en Debian. > ¿Alguna idea? > > Gracias de antemano. Saludos. > > -- > Res publica non dominetur. > > Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net > Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA > JID: vitojph jabber dk || > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From impar en gmx.net Thu Jun 3 00:23:54 2004 From: impar en gmx.net (David Sotelo) Date: Thu, 3 Jun 2004 00:23:54 +0200 Subject: =?iso-8859-1?Q?Transliteraci=F3n_de_s=EDmbolos=2E?= In-Reply-To: <200406022124.46774.vitojph@gmx.net> References: <200406022124.46774.vitojph@gmx.net> Message-ID: <20040602222354.GA9147@bifrost.gotdns.org> On Wed, 02/Jun/2004 21:24 (+0200), Víctor Peinado wrote: > Tratando de convertir a minúsculas cadenas, he descubierto que los métodos > s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde ni la > eñe, por ejemplo. Así que estoy utilizando s.replace() para cada par de > símbolos, tal que: > > s.replace("Á", "á") > s.replace("É", "é") > .... Como ya te han comentado, puedes usar el módulo 'locale'. > Funciona, sí, pero ¿hay alguna forma de hacerlo todo de un tirón, al estilo > del tr/// perlero? ¿Quizá algún módulo? He estado viendo string y StringIO > pero no he encontrado nada. Estoy trabajando con iso-8859-15 en Debian. > ¿Alguna idea? >>> import string >>> trans = string.maketrans("abcde", "edcba") >>> "bebe cafe".translate(trans) 'dada cefa' > Gracias de antemano. Saludos. Saludos. -- David Sotelo / aktinos But this is HDTV. It's got better resolution than the real world! -- Fry From vitojph en gmx.net Thu Jun 3 00:34:46 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Thu, 3 Jun 2004 00:34:46 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n_de?= =?iso-8859-15?q?_s=EDmbolos=2E?= In-Reply-To: <1086207755.4023.18.camel@renata.macondo.pri> References: <200406022124.46774.vitojph@gmx.net> <1086207755.4023.18.camel@renata.macondo.pri> Message-ID: <200406030035.00348.vitojph@gmx.net> El Miércoles, 2 de Junio de 2004 22:22, maese Marcos Sánchez Provencio tuvo la osadía de escribir: | Mira esto: | | import locale as l | l.setlocale(l.LC_ALL,'es_ES') | print 'ñ'.upper() Python 2.3.3 (#2, Feb 24 2004, 09:29:20) [GCC 3.3.3 (Debian)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import locale as l >>> l.setlocale(l.LC_ALL,'es_ES') 'es_ES' >>> print 'ñ'.upper() Ñ >>> print "éÁñÑ".swapcase() ÉáÑñ Así sí funciona. ¿Es necesario que establezca esa varable local al inicio de cada script? Mira, desde fuera del intérprete, uso latin1+EURO, es decir, iso-8859-15: vitojph en canakkale:~$ locale LANG=es_ES en euro LC_CTYPE="es_ES en euro" LC_NUMERIC="es_ES en euro" LC_TIME="es_ES en euro" LC_COLLATE="es_ES en euro" LC_MONETARY="es_ES en euro" LC_MESSAGES="es_ES en euro" LC_PAPER="es_ES en euro" LC_NAME="es_ES en euro" LC_ADDRESS="es_ES en euro" LC_TELEPHONE="es_ES en euro" LC_MEASUREMENT="es_ES en euro" LC_IDENTIFICATION="es_ES en euro" LC_ALL= -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmx.net Thu Jun 3 00:38:15 2004 From: vitojph en gmx.net (=?iso-8859-1?q?V=EDctor_Peinado?=) Date: Thu, 3 Jun 2004 00:38:15 +0200 Subject: =?iso-8859-1?q?Transliteraci=F3n_de?= =?iso-8859-1?q?_s=EDmbolos=2E?= In-Reply-To: <20040602203813.GA1314@marmota> References: <200406022124.46774.vitojph@gmx.net> <20040602203813.GA1314@marmota> Message-ID: <200406030038.16447.vitojph@gmx.net> El Miércoles, 2 de Junio de 2004 22:38, maese luis miguel morillas tuvo la osadía de escribir: | >>> print 'á'.upper() | | Á | | >>> print 'ñ'.upper() | | Ñ | | >>> print 'ñ'.swapcase() | | Ñ | | ¿Qué te devuelven las funciones? También uso Debian. No sé si te refieres a esto. Sólo cuando hago el print explícitamente, se imprimen las vocales con tildes: >>> a = "áé Üùô Ñ" >>> a '\xe1\xe9 \xdc\xf9\xf4 \xd1' >>> print a áé Üùô Ñ >>> a.swapcase() '\xe1\xe9 \xdc\xf9\xf4 \xd1' >>> print a.swapcase() áé Üùô Ñ ¿Alguna idea de cómo solucionar esto? Soy todo ojos y oídos. Gracias por las respuestas. Saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gari en eibar.org Thu Jun 3 08:42:39 2004 From: gari en eibar.org (Gari Araolaza) Date: Thu, 03 Jun 2004 08:42:39 +0200 Subject: =?ISO-8859-1?Q?Transliteraci=F3n_de_s=EDmbol?= =?ISO-8859-1?Q?os=2E?= In-Reply-To: <200406030035.00348.vitojph@gmx.net> References: <200406022124.46774.vitojph@gmx.net> <1086207755.4023.18.camel@renata.macondo.pri> <200406030035.00348.vitojph@gmx.net> Message-ID: <40BEC85F.1040601@eibar.org> Víctor Peinado(e)k dio: >Así sí funciona. ¿Es necesario que establezca esa varable local al inicio de >cada script? Mira, desde fuera del intérprete, uso latin1+EURO, es decir, >iso-8859-15: > > Esto de las locales a veces da bastante guerra. Con Zope yo lo soluciono (pero creo que es una solución para Python) creando un script llamado sitecustomize.py y poniendolo en el path de Python con este contenido import sys, locale sys.setdefaultencoding('iso-8859-1') locale.setlocale(locale.LC_ALL, '') (o la locale que te interese...) Saludos Gari From pepe en diselpro.com Thu Jun 3 09:36:15 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 3 Jun 2004 09:36:15 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n=20de?= =?iso-8859-15?q?=20s=EDmbolos=2E?= In-Reply-To: <200406022124.46774.vitojph@gmx.net> References: <200406022124.46774.vitojph@gmx.net> Message-ID: <200406030936.15321.pepe@diselpro.com> Hola. A mi también me dio bastante lata, y lo solucioné pasando las cadenas a unicode. Ej. |>>> print "ñ".upper() |ñ |>>>print U"ñ".upper() |Ñ Saludos. El Miércoles, 2 de Junio de 2004 21:24, Víctor Peinado escribió: > ¡Hola a todos! > > Tratando de convertir a minúsculas cadenas, he descubierto que los métodos > s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde ni > la eñe, por ejemplo. Así que estoy utilizando s.replace() para cada par de > símbolos, tal que: > > s.replace("Á", "á") > s.replace("É", "é") > .... > > Funciona, sí, pero ¿hay alguna forma de hacerlo todo de un tirón, al estilo > del tr/// perlero? ¿Quizá algún módulo? He estado viendo string y StringIO > pero no he encontrado nada. Estoy trabajando con iso-8859-15 en Debian. > ¿Alguna idea? > > Gracias de antemano. Saludos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Thu Jun 3 10:03:07 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Thu, 3 Jun 2004 10:03:07 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n?= =?iso-8859-15?q?=20de=09s=EDmbolos=2E?= In-Reply-To: <1086207755.4023.18.camel@renata.macondo.pri> References: <200406022124.46774.vitojph@gmx.net> <1086207755.4023.18.camel@renata.macondo.pri> Message-ID: <200406031003.07290.pepe@diselpro.com> Hola Si haces un l.setlocale(l.LC_ALL,'') te carga por defecto lo que hay en la variable de entorno LANG. Por lo visto, debería ser una buena práctica ejecutar esta función al principio de cada programa ¿No?. Saludos. El Miércoles, 2 de Junio de 2004 22:22, Marcos Sánchez Provencio escribió: > Mira esto: > > import locale as l > l.setlocale(l.LC_ALL,'es_ES') > print 'ñ'.upper() > > El mié, 02-06-2004 a las 21:24, Víctor Peinado escribió: > > --Boundary-02=_+livAxTH5O+NY3b > > Content-Type: text/plain; > > charset="iso-8859-15" > > Content-Transfer-Encoding: quoted-printable > > Content-Disposition: inline > > > > =A1Hola a todos! > > > > Tratando de convertir a min=FAsculas cadenas, he descubierto que los > > m=E9to= dos=20 > > s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde > > ni = la=20 > > e=F1e, por ejemplo. As=ED que estoy utilizando s.replace() para cada par > > de= =20 > > s=EDmbolos, tal que: > > > > s.replace("=C1", "=E1") > > s.replace("=C9", "=E9") > > =2E... > > > > =46unciona, s=ED, pero =BFhay alguna forma de hacerlo todo de un tir=F3n, > > a= l estilo=20 > > del tr/// perlero? =BFQuiz=E1 alg=FAn m=F3dulo? He estado viendo string y > > S= tringIO=20 > > pero no he encontrado nada. Estoy trabajando con iso-8859-15 en > > Debian.=20 =BFAlguna idea?=20 > > > > Gracias de antemano. Saludos. > > > > =2D-=20 > > Res publica non dominetur. > > > > V=EDctor Peinado || vitojph gmx net || http://vitojph.yoll.net > > Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA > > JID: vitojph jabber dk || > > > > --Boundary-02=_+livAxTH5O+NY3b-- > > > > ______________________________________________________________________ > > _______________________________________________ > > 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 py en ch3m4.org Thu Jun 3 10:58:31 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 3 Jun 2004 10:58:31 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n_de?= =?iso-8859-15?q?_s=EDmbolos=2E?= In-Reply-To: <200406022124.46774.vitojph@gmx.net> References: <200406022124.46774.vitojph@gmx.net> Message-ID: <200406031058.32254.py@ch3m4.org> El Miércoles, 2 de Junio de 2004 21:24, Víctor Peinado escribió: > Tratando de convertir a minúsculas cadenas, he descubierto que los métodos > s.upper(), s.lower() y s.swapcase() no convierten las vocales con tilde ni > la eñe, por ejemplo. Si no quieres tocar los locales, trabaja siempre con unicode. Además te vale para todas las lenguas, incluso puedes trabajar con el nominativo de carácter si no sabes cómo se obtiene con el teclado: >>> a=u"\N{GREEK CAPITAL LETTER OMEGA}" #Letra Omega en mayúsculas >>> a.isupper() True >>> import unicodedata >>> print unicodedata.name(a.lower()) 'GREEK SMALL LETTER OMEGA' > ¿hay alguna forma de hacerlo todo de un tirón, al estilo > del tr/// perlero? El equivalente es .translate() ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmx.net Thu Jun 3 11:33:11 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Thu, 3 Jun 2004 11:33:11 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n_de?= =?iso-8859-15?q?_s=EDmbolos=2E?= In-Reply-To: <200406031058.32254.py@ch3m4.org> References: <200406022124.46774.vitojph@gmx.net> <200406031058.32254.py@ch3m4.org> Message-ID: <200406031133.22181.vitojph@gmx.net> El Jueves, 3 de Jun-io de 2004 10:58, maese Chema Cortés tuvo la osadía de decir: | Si no quieres tocar los locales, trabaja siempre con unicode. Además te | vale para todas las lenguas, incluso puedes trabajar con el nominativo de | carácter Vale, de todas las soluciones ésta me parece la más práctica y sencilla. No sé cuándo migraré todo a unicode, pero es un primer paso. Mi duda ahora es si esto no me dará más problemas, por ejemplo, al buscar expresiones regulares compiladas en unicode en ficheros que sigan codificados en iso-8859-15. ¡Qué jaleo! ;-) | > ¿hay alguna forma de hacerlo todo de un tirón, al estilo | > del tr/// perlero? | | El equivalente es .translate() Gracias. Encontré un método .translate() aquí [1] ayer, pero no estaba seguro de si era exactamente lo mismo. Por cierto, ¿he podido leer en algún sitio que el módulo string está "deprecated" o lo he soñado? Saludos. [1] http://www.python.org/doc/current/lib/module-string.html -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ 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 Jun 3 12:03:43 2004 From: hernan en orgmf.com.ar (=?iso-8859-15?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Thu, 3 Jun 2004 12:03:43 +0200 Subject: =?iso-8859-15?Q?RE:_=5BPython-es=5D_Transliteraci=F3n_de_s=EDmbolos.?= In-Reply-To: <200406031133.22181.vitojph@gmx.net> References: <200406031133.22181.vitojph@gmx.net> Message-ID: Víctor Peinado escribio: > Gracias. Encontré un método .translate() aquí [1] ayer, pero no > estaba seguro de si era exactamente lo mismo. Por cierto, ¿he podido > leer en algún sitio que el módulo string está "deprecated" o lo he > soñado? No, no lo has soñado. Tanto el modulo string como el types están en el punto de mira desde hace tiempo. La idea es que sus funciones se reemplacen por los métodos sobre tipos. El problema es que el tipo str no cubre todo lo que hay en el modulo string y todavía no se decidio como se va a resolver eso. En todo caso, por el procedimiento a seguir en Python para remover funcionalidad, el modulo todavia estará coleando por un buen rato. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Thu Jun 3 13:29:00 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 03 Jun 2004 13:29:00 +0200 Subject: =?ISO-8859-1?Q?Transliteraci=F3n_de_s=EDmbol?= =?ISO-8859-1?Q?os=2E?= In-Reply-To: <40BEC85F.1040601@eibar.org> References: <200406022124.46774.vitojph@gmx.net> <1086207755.4023.18.camel@renata.macondo.pri> <200406030035.00348.vitojph@gmx.net> <40BEC85F.1040601@eibar.org> Message-ID: <40BF0B7C.5060805@sicem.biz> Por la compatibilidad.....: en Windows: >>> import locale >>> locale.setlocale(locale.LC_ALL,'es_ES') Traceback (most recent call last): File "", line 1, in ? File "C:\prg\python23\Lib\locale.py", line 381, in setlocale return _setlocale(category, locale) Error: unsupported locale setting >>> locale.setlocale(locale.LC_ALL,'es') 'Estonian_Estonia.1257' # jajajajaaaaaa >>> locale.setlocale(locale.LC_ALL,'sp') 'Spanish_Spain.1252' Sólo por curiosidad... Erny > Esto de las locales a veces da bastante guerra. > > Con Zope yo lo soluciono (pero creo que es una solución para Python) > creando un script llamado sitecustomize.py y poniendolo en el path de > Python con este contenido > > import sys, locale > sys.setdefaultencoding('iso-8859-1') > locale.setlocale(locale.LC_ALL, '') > > (o la locale que te interese...) > > Saludos > > Gari > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From py en ch3m4.org Thu Jun 3 13:41:49 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 3 Jun 2004 13:41:49 +0200 Subject: =?iso-8859-15?q?Transliteraci=F3n_de?= =?iso-8859-15?q?_s=EDmbolos=2E?= Message-ID: <200406031341.49374.py@ch3m4.org> El Jueves, 3 de Junio de 2004 11:33, Víctor Peinado escribió: > Mi duda ahora es si esto no me dará más problemas, por ejemplo, al buscar > expresiones regulares compiladas en unicode en ficheros que sigan > codificados en iso-8859-15. Tienes funciones de conversión entre una codificación y otra: >>> a=unicode("?","iso-8859-15") #unicode a partir de iso-8859-15 >>> a u'\u20ac' >>> a.encode("iso-8859-15") #iso-8859-15 a partir de unicode '\xa4' >>> print _ ? y si aún quieres más puedes utilizar el módulo 'codecs': >>> import codecs >>> f=codecs.open("MiFichero.txt","r","iso-8859-15") #fichero en iso-8859-15 >>> type(f.read()) ------------ 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 Jun 3 15:00:31 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Thu, 3 Jun 2004 15:00:31 +0200 Subject: Python Bug Day Message-ID: <200406031500.31897.py@ch3m4.org> Está previsto sacar para el 1 de julio la versión de python 2.4 Con tal motivo se ha organizado un "Python Bug Day" para el 5 de junio, de 1PM a 1AM GMT (de 15 a 3 en horario peninsular español) Para quien pueda estar interesado: http://www.python.org/cgi-bin/moinmoin/PythonBugDay From rglm en montevideo.com.uy Fri Jun 4 20:47:20 2004 From: rglm en montevideo.com.uy (Raul Lopez) Date: Fri, 4 Jun 2004 15:47:20 -0300 Subject: problema con locales Message-ID: <200406041547.20702.rglm@montevideo.com.uy> Hola compañeros, por favor si me pueden dar una mano con este pequeño ejemplo, que se resiste a salir en español. Desde ya muchas gracias. -- Raul Lopez Moffa ICQ #288495059 Debian GNU/Linux Usuario Linux #315991 From rglm en montevideo.com.uy Fri Jun 4 20:49:16 2004 From: rglm en montevideo.com.uy (Raul Lopez) Date: Fri, 4 Jun 2004 15:49:16 -0300 Subject: problema con locales In-Reply-To: <200406041547.20702.rglm@montevideo.com.uy> References: <200406041547.20702.rglm@montevideo.com.uy> Message-ID: <200406041549.16386.rglm@montevideo.com.uy> El Vie 04 Jun 2004 15:47, escribió: > Hola compañeros, por favor si me pueden dar una mano con este pequeño > ejemplo, que se resiste a salir en español. > > setlocale(LC_TIME,"lc_ES"); > $fecha=str_replace("De","de",ucwords(strftime("%A %d de %B de %Y - > %H:%M"))); echo $fecha; > ?> > > Desde ya muchas gracias. Upppps. Mis disculpas, me equivoque al seleccionar la lista. Saludos -- Raul Lopez Moffa ICQ #288495059 Debian GNU/Linux Usuario Linux #315991 From pepe en diselpro.com Sat Jun 5 00:28:10 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Sat, 5 Jun 2004 00:28:10 +0200 Subject: Sintaxis =?iso-8859-1?q?pr=E1ctica=2E?= Message-ID: <200406050028.10050.pepe@diselpro.com> Hola. Como adivinareis, llevo poco tiempo con python ( 4 ó 5 meses). Vengo de programar en object pascal (delphi) y hay veces que dudo si podría sacar mas partido a la "plasticidad" de python. Por Ej. if a > b : c = 25 else: c = 50 se podría substituir por: c=(50,25)[a>b] otro Ej. if a == 25 or a == 50 or a ==75 : pass se podría substituir por: if a in (25,50,75): pass Lo que para los programadores experimentados en python puede resultar obvio, los que empezamos y venimos de otros lenguajes de más bajo nivel, no lo es tanto. ¿Sabéis más casos prácticos en los que se pueda extraer más jugo a la sintaxis de python? Gracias. From erny en sicem.biz Sat Jun 5 02:19:04 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Sat, 05 Jun 2004 02:19:04 +0200 Subject: Sintaxis =?ISO-8859-1?Q?pr=E1ctica=2E?= In-Reply-To: <200406050028.10050.pepe@diselpro.com> References: <200406050028.10050.pepe@diselpro.com> Message-ID: <40C11178.5080300@sicem.biz> Hola, Pepe Aracil escribió: >Hola. > >Como adivinareis, llevo poco tiempo con python ( 4 ó 5 meses). Vengo de >programar en object pascal (delphi) y hay veces que dudo si podría sacar mas >partido a la "plasticidad" de python. > >Por Ej. > >if a > b : > c = 25 >else: > c = 50 > >se podría substituir por: > >c=(50,25)[a>b] > > > Esto me parece bastante poco legible. Durante un tiempo se hablaba de introducir un nuevo operador ternario en Python, que funciona como en C: c = a>b ? 25 : 50 pero al final creo que no se pusieron de acuerdo en la sintaxis. >otro Ej. > >if a == 25 or a == 50 or a ==75 : > pass > >se podría substituir por: > >if a in (25,50,75): > pass > > >Lo que para los programadores experimentados en python puede resultar obvio, >los que empezamos y venimos de otros lenguajes de más bajo nivel, no lo es >tanto. > >¿Sabéis más casos prácticos en los que se pueda extraer más jugo a la sintaxis >de python? > > > Supongo que hay cientos de cosas: if a> 10 and a< 20: .... -> if 10 < a < 20: .... muy matemático, pero pocos programadores de Python lo saben. Valores por defecto: supon que hay una variable que puede contener un valor (!= 0) o None: valor = variable or valorPorDefecto (atención, no distingue 0 te None) a += 1 # incremento por uno a++ no existe, eso es C. una de mis expresiones favoritas son las comprehension list: [a*a for a in range(100) if a % 2 == 0] Los cuadrados de todos los númeres pares del conjunto [0,100) La versión explícita es la siguiente: res=[] for a in range(100): if a % 2 == 0: res.append(a*a) así que son 4 líneas en una. si trabajas con diccionarios for clave in diccionario: .... o: for clave, valor in diccionario.items() algunas veces, en concreto en la programación con bases de datos, tienes por una parte los nombres de los campos y por otra los valores y te hace falta convertirlo en un diccionario o mapping de tuplas: cur.description # lista de campos fila = res[0] # recupera primera fila dicc = dict( zip( [descrCampo[0] for descrCampo in cur.description], fila)) la comprehension list sacar el primer elemento de la tupla de la descripción de cada campo, es decir, el nombre. zip convierte dos listas separadas en una lista de tuplas: [ (a1, b1), (a2, b2), (a3, b3), ... ] y así miles de cosas. From pepe en diselpro.com Sat Jun 5 16:33:08 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Sat, 5 Jun 2004 16:33:08 +0200 Subject: Sintaxis =?iso-8859-1?q?pr=E1ctica=2E?= In-Reply-To: <40C11178.5080300@sicem.biz> References: <200406050028.10050.pepe@diselpro.com> <40C11178.5080300@sicem.biz> Message-ID: <200406051633.08952.pepe@diselpro.com> El Sábado, 5 de Junio de 2004 02:19, Ernesto Revilla escribió: > Hola, > > Pepe Aracil escribió: > >Hola. > > > >Como adivinareis, llevo poco tiempo con python ( 4 ó 5 meses). Vengo de > >programar en object pascal (delphi) y hay veces que dudo si podría sacar > > mas partido a la "plasticidad" de python. > > > >Por Ej. > > > >if a > b : > > c = 25 > >else: > > c = 50 > > > >se podría substituir por: > > > >c=(50,25)[a>b] > > Esto me parece bastante poco legible. Durante un tiempo se hablaba de > introducir un nuevo operador ternario en Python, que funciona como en > C: c = a>b ? 25 : 50 pero al final creo que no se pusieron de > acuerdo en la sintaxis. Un booleano que indexa una tupla, no es que sea el colmo de la legibilidad, pero se entiende. Se ofusca un poco mas cuando la tupla contiene funciones. def verdadero(): print "Verdadero" def falso(): print "Falso" (falso,verdadero)[True]() ¡¡ Uff !! esto ya empieza a parecer Perl :) > > >otro Ej. > > > >if a == 25 or a == 50 or a ==75 : > > pass > > > >se podría substituir por: > > > >if a in (25,50,75): > > pass > > > > > >Lo que para los programadores experimentados en python puede resultar > > obvio, los que empezamos y venimos de otros lenguajes de más bajo nivel, > > no lo es tanto. > > > >¿Sabéis más casos prácticos en los que se pueda extraer más jugo a la > > sintaxis de python? > > Supongo que hay cientos de cosas: > > if a> 10 and a< 20: .... -> if 10 < a < 20: .... > > muy matemático, pero pocos programadores de Python lo saben. > Ok, tomo nota. ;) > Valores por defecto: > supon que hay una variable que puede contener un valor (!= 0) o None: > valor = variable or valorPorDefecto (atención, no distingue 0 te None) Si, este es muy bueno :D supongo que querrías decir variable = valor or valorPorDefecto. > una de mis expresiones favoritas son las comprehension list: > > [a*a for a in range(100) if a % 2 == 0] > > Los cuadrados de todos los númeres pares del conjunto [0,100) > > La versión explícita es la siguiente: > res=[] > for a in range(100): > if a % 2 == 0: > res.append(a*a) > > así que son 4 líneas en una. > > si trabajas con diccionarios > > for clave in diccionario: .... > > o: > > for clave, valor in diccionario.items() > > algunas veces, en concreto en la programación con bases de datos, tienes > por una parte los nombres de los campos y por otra los valores y te hace > falta convertirlo en un diccionario o mapping de tuplas: > cur.description # lista de campos > fila = res[0] # recupera primera fila > dicc = dict( zip( [descrCampo[0] for descrCampo in cur.description], fila)) > > la comprehension list sacar el primer elemento de la tupla de la > descripción de cada campo, es decir, el nombre. zip convierte dos listas > separadas en una lista de tuplas: [ (a1, b1), (a2, b2), (a3, b3), ... ] > > y así miles de cosas. > > Tomo buena nota y Gracias. From se05216 en salleURL.edu Sat Jun 5 16:40:55 2004 From: se05216 en salleURL.edu (Christal Berengena Moreno) Date: Sat, 5 Jun 2004 16:40:55 +0200 (CEST) Subject: Ejecutar una aplicacion "dentro de python-Tkinter" In-Reply-To: <40BE36C7.6080206@yahoo.com.ar> References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> Message-ID: Hola a todos, Tengo una aplicacion, una interfaz realizada en python y Tkinter a pantalla completa. Mi intencion es abrir una aplicacion que no es de python cuando pulse a un boton de mi interfaz. Esto no es ningun problema.., ya que lo he conseguido hacer con un mini ejemplo. Mi problema viene cuando tengo la interfaz que os he comentado al inicio. Ya que al hacer el mismo proceso que en el mini ejemplo., la aplicacion se abre pero DETRAS de la interfaz (pantalla completa). No se como hacer para traerla al frente (trabajo bajo linux-Mandrake 9.1). Hay alguna forma de traer al frente una aplicacion linux (no es propia de python, es la aplicacion dosbox - EMULADOR MSDOS)? Otra idea que se me ocurrio, pero que tampoco se coo realizarla, es la de hacer que dentro de un toplevel creado en Tkinter estubiera la ejecucion de mi aplicacion DOSBOX. Entendeis? Como lo que se hace en alguns webs donde dentro de la pagina html hay un recuadro donde se ejecuta el reproductor de videos tipico.... Espero que alguien pueda orientarme un poco.., gracias! Christal B. M ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From mhostos en inen.sld.pe Sat Jun 5 17:18:38 2004 From: mhostos en inen.sld.pe (Marco Hostos) Date: Sat, 5 Jun 2004 10:18:38 -0500 Subject: nuevo en programacion python Message-ID: <003901c44b10$60dc8080$1546a8c0@computo12> Hola amigos, escribo desde Lima - Peru. hace una semana que recien empeze a practicar en python y me parece una buena alternativa de programacion. No soy nuevo en esto, de hecho programo en varios lenguajes. Andaba probando las bondades del Plone, como portal es bastante amigable y totalmente configurable. tenia 2 preguntas 1 - ¿trabajar con el portal plone es pesado?. Me refiero a que puedo tener 200 clientes en linea al mismo tiempo y no se vuelve lento el acceso? 2- Estuve instalando una conexion a zoracle, un producto gratuito de conexion directa a Oracle, que se encuentra en el portal de plone, veo la documentacion y sigo los pasos tal como se me indica, pero al momento de generar los precompilados me da error de version..., el portal no da la solucion a este problema. ¿puedo compilar con una version antigua de python o debo actualizar los objetos a la nueva version de python?. el producto esta en python 1.5 y yo tengo instalada la version 2.3 De antemano gracias por sus respuestas Marco. From ch3m4 en ch3m4.org Sun Jun 6 04:09:05 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Sat, 5 Jun 2004 19:09:05 -0700 Subject: Sintaxis =?iso-8859-1?b?cHLhY3RpY2Eu?= In-Reply-To: <40C11178.5080300@sicem.biz> References: <200406050028.10050.pepe@diselpro.com> <40C11178.5080300@sicem.biz> Message-ID: <1086487745.40c27cc1c843a@ch3m4.org> Mensaje citado por Ernesto Revilla : >Durante un tiempo se hablaba de > introducir un nuevo operador ternario en Python, que funciona como en > C: c = a>b ? 25 : 50 pero al final creo que no se pusieron de > acuerdo en la sintaxis. Hubo una votación, pero en python no hay "democracia" y todas las decisiones las toma siempre el BOFL (Benevolent Dictator For Life). La sintáxis preferida por el BOFL (==Guido van Rossum) es: (if : else: ) y puede que algún día se incluya de tapadillo en alguna nueva versión de python. > if a> 10 and a< 20: .... -> if 10 < a < 20: .... > > muy matemático, pero pocos programadores de Python lo saben. Sí que se conoce ésta expresión, pero tiene mala fama. Por ejemplo, la siguiente expresión es válida en C y python: -1 < 0 < 1 En python es true, en C es false. Existe cierto temos psicológico entre los programadores de C (y lenguajes con sintáxis similares) a no utilizar este tipo de expresiones. > a += 1 # incremento por uno a++ no existe, eso es C. Curiosamente, en python la expresión ++a es válida, pero sin ningún significado. > una de mis expresiones favoritas son las comprehension list: > > [a*a for a in range(100) if a % 2 == 0] La compresión de listas es ESENCIAL en python, es casi un signo distintivo frente a otros lenguajes de programación. > for clave in diccionario: .... > > o: > > for clave, valor in diccionario.items() Yo añadiría aquí la enumeración (enumerate), que simplifica los bucles en los que hacía falta llevar la cuenta en una variable de control para enumerar los elementos de una lista: for i, value in enumerate(Lista): print "Elemento número %d -> %s" %(i,value) Por nombrar algunas cosas más: - Paso en número variable de argumentos posicionales y por nombre - Operador de formato % - El .join() - Rebanados de secuencias con intercalado - "internalizar" cadenas de caracteres en la tabla de símbolos - Métodos estáticos, de clase, etc - Metaclases - Generadores e Iteradores From rapto en arrakis.es Sun Jun 6 11:17:25 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 06 Jun 2004 11:17:25 +0200 Subject: nuevo en programacion python In-Reply-To: <003901c44b10$60dc8080$1546a8c0@computo12> References: <003901c44b10$60dc8080$1546a8c0@computo12> Message-ID: <1086513445.2769.4.camel@renata.macondo.pri> El sáb, 05-06-2004 a las 17:18, Marco Hostos escribió: > Hola amigos, escribo desde Lima - Peru. > > hace una semana que recien empeze a practicar en python y me parece una > buena alternativa de programacion. No soy nuevo en esto, de hecho programo > en varios lenguajes. Si programas en otros te darás cuenta de las ventajas de Python sin que te las tengamos que contar, aunque hay que ver código de otros para ver algunas de las ventajas. > > Andaba probando las bondades del Plone, como portal es bastante amigable y > totalmente configurable. tenia 2 preguntas > > 1 - ¿trabajar con el portal plone es pesado?. Me refiero a que puedo tener > 200 clientes en linea al mismo tiempo y no se vuelve lento el acceso? Depende muchísimo de lo que hagas y de lo optimizados que sean los accesos a datos, cachés y simiilares. Con 200 va a ir más lento que con uno solo, eso te lo aseguro ;-) > > 2- Estuve instalando una conexion a zoracle, un producto gratuito de > conexion directa a Oracle, que se encuentra en el portal de plone, veo la > documentacion y sigo los pasos tal como se me indica, pero al momento de > generar los precompilados me da error de version..., el portal no da la > solucion a este problema. ¿puedo compilar con una version antigua de python > o debo actualizar los objetos a la nueva version de python?. el producto > esta en python 1.5 y yo tengo instalada la version 2.3 Todos los módulos binarios (C compilado) se han de compilar con la misma versión que los va a usar luego. Creo que tienen que coincidir el compilador y los dos primeros dígitos de versión de Python, aunque no estoy seguro de esto último. > > De antemano gracias por sus respuestas > > Marco. Un nombre muy noble :-) PS Para temas de Zope, hay otra lista en http://listas.aditel.org/listinfo/zope-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sun Jun 6 11:54:06 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 06 Jun 2004 11:54:06 +0200 Subject: Ejecutar una aplicacion "dentro de python-Tkinter" In-Reply-To: References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> Message-ID: <1086515646.2769.15.camel@renata.macondo.pri> Hay una serie de módulos para ejecutar programas externos: Commands, popen2, etc., pero no sé si las aplicaciones de dosbox funcionan con stdin, stdout... Desde luego, las aplicaciones gráficas (que supongo usan emulación vga o algo así) seguro que no. Otra cosa será hacer trucos con los manejadores de ventana para que la ventana se pinte en otra. De este modo, supongo que es mínimo el control sobre la aplicación incrustada. Busca tksteal, a ver si sacas algo, aunque parece que no hay nada en tkinter para usar tksteal. El sáb, 05-06-2004 a las 16:40, Christal Berengena Moreno escribió: > Hola a todos, > > Tengo una aplicacion, una interfaz realizada en python y Tkinter a > pantalla completa. Mi intencion es abrir una aplicacion que no es de > python cuando pulse a un boton de mi interfaz. Esto no es ningun > problema.., ya que lo he conseguido hacer con un mini ejemplo. > Mi problema viene cuando tengo la interfaz que os he comentado al inicio. > Ya que al hacer el mismo proceso que en el mini ejemplo., la aplicacion se > abre pero DETRAS de la interfaz (pantalla completa). No se como hacer para > traerla al frente (trabajo bajo linux-Mandrake 9.1). Hay alguna forma de > traer al frente una aplicacion linux (no es propia de python, es la > aplicacion dosbox - EMULADOR MSDOS)? > > Otra idea que se me ocurrio, pero que tampoco se coo realizarla, es la de > hacer que dentro de un toplevel creado en Tkinter estubiera la ejecucion > de mi aplicacion DOSBOX. Entendeis? Como lo que se hace en alguns webs > donde dentro de la pagina html hay un recuadro donde se ejecuta el > reproductor de videos tipico.... > > Espero que alguien pueda orientarme un poco.., gracias! > Christal B. M > > > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From danielgj en wanadoo.es Mon Jun 7 11:25:27 2004 From: danielgj en wanadoo.es (danielgj en wanadoo.es) Date: Mon, 7 Jun 2004 11:25:27 +0200 Subject: Algo similar a os.system Message-ID: Hola a todos! Tengo un pequeño problema que no se como resolver. Quiza me podais ayudar. En un programa python con gtk, necesito que cada vez que se pulse un boton se haga una llamada a sistema, concretamente ejecutar un script de un lenguaje llamado webl, que se llama invocando a un script shell, que puede admitir argumentos y entrada estandar, y que saca cosas por pantalla (Salida estandar y stderror). El caso es que necesito poder leer la salida estandar y de error para mostrarlo en mi apicacion gtk. con sys puedo redirigir sys.stdin sys.stdout y sys.stderr a un objeto que yo quiera, pero dentro de sys no hay nada parecido a os.system (lo que utilizo ahora) que no termina la ejecucion del GUI cuando acaba de ejecutarse el script de shell. ¿Que tendria que hacer? Usar algun thread? Si alguien me puede orientar le estare agradecido. Saludos. Daniel García Jones From pepe en diselpro.com Mon Jun 7 11:42:46 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Mon, 7 Jun 2004 11:42:46 +0200 Subject: Algo similar a os.system In-Reply-To: References: Message-ID: <200406071142.46188.pepe@diselpro.com> ¿ Has probado utilizar os.popen("/bin/bash /mi_path/mi_script") en vez de os.system() ? si no te funciona, prueba a sustituir "/bin/bash" por "/bin/interprete_de_webl" Saludos. El Lunes, 7 de Junio de 2004 11:25, danielgj en wanadoo.es escribió: > Hola a todos! > > > > Tengo un pequeño problema que no se como resolver. Quiza me podais ayudar. > > > > En un programa python con gtk, necesito que cada vez que se pulse un boton > se haga una llamada a sistema, concretamente ejecutar un script de un > lenguaje llamado webl, que se llama invocando a un script shell, que puede > admitir argumentos y entrada estandar, y que saca cosas por pantalla > (Salida estandar y stderror). > > > > El caso es que necesito poder leer la salida estandar y de error para > mostrarlo en mi apicacion gtk. > > > > con sys puedo redirigir sys.stdin sys.stdout y sys.stderr a un objeto que > yo quiera, pero dentro de sys no hay nada parecido a os.system (lo que > utilizo ahora) que no termina la ejecucion del GUI cuando acaba de > ejecutarse el script de shell. > > > > ¿Que tendria que hacer? Usar algun thread? > > > > Si alguien me puede orientar le estare agradecido. > > > > Saludos. > > > > Daniel García Jones > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Mon Jun 7 11:48:27 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 07 Jun 2004 11:48:27 +0200 Subject: Algo similar a os.system In-Reply-To: References: Message-ID: <40C439EB.4030808@sicem.biz> Hola, mira la función os.popen3 de la librería. Saludos, Erny danielgj en wanadoo.es escribió: >Hola a todos! > > > >Tengo un pequeño problema que no se como resolver. Quiza me podais ayudar. > > > >En un programa python con gtk, necesito que cada vez que se pulse un boton se haga una llamada a sistema, concretamente ejecutar un script de un lenguaje llamado webl, que se llama invocando a un script shell, que puede admitir argumentos y entrada estandar, y que saca cosas por pantalla (Salida estandar y stderror). > > > >El caso es que necesito poder leer la salida estandar y de error para mostrarlo en mi apicacion gtk. > > > >con sys puedo redirigir sys.stdin sys.stdout y sys.stderr a un objeto que yo quiera, pero dentro de sys no hay nada parecido a os.system (lo que utilizo ahora) que no termina la ejecucion del GUI cuando acaba de ejecutarse el script de shell. > > > >¿Que tendria que hacer? Usar algun thread? > > > >Si alguien me puede orientar le estare agradecido. > > > >Saludos. > > > >Daniel García Jones >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From erny en sicem.biz Mon Jun 7 11:46:43 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 07 Jun 2004 11:46:43 +0200 Subject: Ejecutar una aplicacion "dentro de python-Tkinter" In-Reply-To: References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> Message-ID: <40C43983.90602@sicem.biz> Hola, no sé cómo puedes meter una aplicación DOSBOX dentro de una ventana. Creo que puede ser una tarea imposible. Lo que sí puedes hacer es leer las salidas de tu aplicación y visualizarlar en una ventana, y mandar esas entradas (entrada estándar a la aplicación. Creo que es: entrada, salida = os.popen2('') y podrás mandar entradas con entrada.write('lo que sea') y leer cosas con salida.read() Saludos, Erny Christal Berengena Moreno escribió: >Hola a todos, > >Tengo una aplicacion, una interfaz realizada en python y Tkinter a >pantalla completa. Mi intencion es abrir una aplicacion que no es de >python cuando pulse a un boton de mi interfaz. Esto no es ningun >problema.., ya que lo he conseguido hacer con un mini ejemplo. >Mi problema viene cuando tengo la interfaz que os he comentado al inicio. >Ya que al hacer el mismo proceso que en el mini ejemplo., la aplicacion se >abre pero DETRAS de la interfaz (pantalla completa). No se como hacer para >traerla al frente (trabajo bajo linux-Mandrake 9.1). Hay alguna forma de >traer al frente una aplicacion linux (no es propia de python, es la >aplicacion dosbox - EMULADOR MSDOS)? > >Otra idea que se me ocurrio, pero que tampoco se coo realizarla, es la de >hacer que dentro de un toplevel creado en Tkinter estubiera la ejecucion >de mi aplicacion DOSBOX. Entendeis? Como lo que se hace en alguns webs >donde dentro de la pagina html hay un recuadro donde se ejecuta el >reproductor de videos tipico.... > >Espero que alguien pueda orientarme un poco.., gracias! >Christal B. M > > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From dlopez en aditel.org Mon Jun 7 12:02:29 2004 From: dlopez en aditel.org (Darío López Llueca) Date: Mon, 7 Jun 2004 12:02:29 +0200 Subject: enviar datos a la entrada =?iso-8859-1?q?est=E1ndar?= Message-ID: <20040607100229.GA28798@aditel.org> Hola a tod en s! Alguien sabría decirme como podría hacer el equivalente a la siguiente orden unix en python? echo "lalalalalal" > /dev/stdin Es que no sé como hacerlo :( From erny en sicem.biz Mon Jun 7 12:15:31 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 07 Jun 2004 12:15:31 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_enviar_datos_a_la?= =?ISO-8859-1?Q?_entrada_est=E1ndar?= In-Reply-To: <20040607100229.GA28798@aditel.org> References: <20040607100229.GA28798@aditel.org> Message-ID: <40C44043.5090503@sicem.biz> Hola import sys sys.stdin.write("lalalalala") Erny Darío López Llueca escribió: >Hola a tod en s! > >Alguien sabría decirme como podría hacer el equivalente a la siguiente >orden unix en python? > >echo "lalalalalal" > /dev/stdin > >Es que no sé como hacerlo :( >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From dlopez en aditel.org Mon Jun 7 12:20:58 2004 From: dlopez en aditel.org (Darío López Llueca) Date: Mon, 7 Jun 2004 12:20:58 +0200 Subject: enviar =?iso-8859-1?Q?dato?= =?iso-8859-1?Q?s_a_la_entrada_est=E1ndar?= In-Reply-To: <40C44043.5090503@sicem.biz> References: <20040607100229.GA28798@aditel.org> <40C44043.5090503@sicem.biz> Message-ID: <20040607102058.GA340@aditel.org> On Mon, Jun 07, 2004 at 12:15:31PM +0200, Ernesto Revilla wrote: > Hola > > import sys > sys.stdin.write("lalalalala") > nombre=&apellidos= <--- esto es el contenido de lista[-1] :) Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap self.run() File "webserver.py", line 30, in run resp = RespuestaHTTP(peti,defecto,self.cs) File "webserver.py", line 131, in __init__ peticion.__parser_post__(respuesta) File "webserver.py", line 71, in __parser_post__ sys.stdin.write(lista[-1]) IOError: [Errno 9] Bad file descriptor > > Erny > > Darío López Llueca escribió: > > >Hola a tod en s! > > > >Alguien sabría decirme como podría hacer el equivalente a la siguiente > >orden unix en python? > > > >echo "lalalalalal" > /dev/stdin > > > >Es que no sé como hacerlo :( > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Mon Jun 7 12:42:13 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 7 Jun 2004 12:42:13 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_enviar_datos_a_la_entrada_est=E1ndar?= In-Reply-To: <20040607100229.GA28798@aditel.org> References: <20040607100229.GA28798@aditel.org> Message-ID: Darío López Llueca escribio: > Alguien sabría decirme como podría hacer el equivalente a la siguiente > orden unix en python? > > echo "lalalalalal" > /dev/stdin Ernie te dio una respuesta pero el problema está en la pregunta. ¿Realmente quieres (y puedes) escribir en el dispositivo de entrada estandar? Si el comando echo que escribiste realmente te funciona haz algo como: >>> f = file("/dev/stdin", "w") >>> f.write("lalalalala\n") >>> Saludos, -H. From ripolles en aditel.org Mon Jun 7 12:45:11 2004 From: ripolles en aditel.org (Daniel Ripolles (Eru)) Date: Mon, 07 Jun 2004 12:45:11 +0200 Subject: enviar datos a la entrada =?ISO-8859-1?Q?est=E1ndar?= In-Reply-To: <40C44043.5090503@sicem.biz> References: <20040607100229.GA28798@aditel.org> <40C44043.5090503@sicem.biz> Message-ID: <1086605110.1217.2.camel@andros> El lun, 07-06-2004 a las 12:15, Ernesto Revilla escribió: > Hola > > import sys > sys.stdin.write("lalalalala") > >>> import sys >>> sys.stdin ', mode 'r' at 0x401e5020> >>> Parece que está abierto como solo lectura (esto es lo lógico, al fin y al cabo es stdin). Así no podrá. No sé si hay alguna forma de "reabrirlo" para escritura o algo así, pero me suena a hack de los chungos. De todas formas, pregunta para Darío: Para qué necesitas escribir en stdin? (Puede que nos encontremos con un caso de YAGNI: You ain't gonna need it :P ) > > Erny > > Darío López Llueca escribió: > > >Hola a tod en s! > > > >Alguien sabría decirme como podría hacer el equivalente a la siguiente > >orden unix en python? > > > >echo "lalalalalal" > /dev/stdin > > > >Es que no sé como hacerlo :( > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > > > -- Daniel Ripolles ( Eru ) # Last nonzero cipher of n! : str(reduce(lambda x,y:x*y,range(1,n+1))).strip('0')[-1] ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dlopez en aditel.org Mon Jun 7 12:49:09 2004 From: dlopez en aditel.org (Darío López Llueca) Date: Mon, 7 Jun 2004 12:49:09 +0200 Subject: enviar =?iso-8859-1?Q?dato?= =?iso-8859-1?Q?s_a_la_entrada_est=E1ndar?= In-Reply-To: References: <20040607100229.GA28798@aditel.org> Message-ID: <20040607104909.GA7488@aditel.org> On Mon, Jun 07, 2004 at 12:42:13PM +0200, Hernán Martínez Foffani wrote: > Darío López Llueca escribio: > > Alguien sabría decirme como podría hacer el equivalente a la siguiente > > orden unix en python? > > > > echo "lalalalalal" > /dev/stdin > > Ernie te dio una respuesta pero el problema está en la pregunta. > ¿Realmente quieres (y puedes) escribir en el dispositivo de entrada > estandar? > Si el comando echo que escribiste realmente te funciona haz algo > como: > >>> f = file("/dev/stdin", "w") > >>> f.write("lalalalala\n") > >>> Si que funciona, pero la verdad es que no estoy muy seguro de que sea el resutlado que quiero :), pq me imprime por pantalla el mensaje y no se si debiera de hacer eso. De todas formas, yo quiero hacer algo más universal. Con esto quiero decir, que funcione tanto en linux como en windows. Y la solución que me planteas, solo funciona en Linux :( > > Saludos, > -H. > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From dlopez en aditel.org Mon Jun 7 12:56:06 2004 From: dlopez en aditel.org (Darío López Llueca) Date: Mon, 7 Jun 2004 12:56:06 +0200 Subject: enviar =?iso-8859-1?Q?dato?= =?iso-8859-1?Q?s_a_la_entrada_est=E1ndar?= In-Reply-To: <20040607104909.GA7488@aditel.org> References: <20040607100229.GA28798@aditel.org> <20040607104909.GA7488@aditel.org> Message-ID: <20040607105606.GA8390@aditel.org> On Mon, Jun 07, 2004 at 12:49:09PM +0200, Darío López Llueca wrote: > On Mon, Jun 07, 2004 at 12:42:13PM +0200, Hernán Martínez Foffani wrote: > > Darío López Llueca escribio: > > > Alguien sabría decirme como podría hacer el equivalente a la siguiente > > > orden unix en python? > > > > > > echo "lalalalalal" > /dev/stdin > > > > Ernie te dio una respuesta pero el problema está en la pregunta. > > ¿Realmente quieres (y puedes) escribir en el dispositivo de entrada > > estandar? > > Si el comando echo que escribiste realmente te funciona haz algo > > como: > > >>> f = file("/dev/stdin", "w") > > >>> f.write("lalalalala\n") > > >>> > Si que funciona, pero la verdad es que no estoy muy seguro de que sea > el resutlado que quiero :), pq me imprime por pantalla el mensaje y no > se si debiera de hacer eso. > De todas formas, yo quiero hacer algo más universal. Con esto quiero > decir, que funcione tanto en linux como en windows. Y la solución que me > planteas, solo funciona en Linux :( Me respondo a mí mismo: NO funciona :D de todas formas... os planteo la siguiente cuestión.. esto haciendo un servidor web en python, porque me lo piden para una asignatura. La cuestión es que al recibir un POST, debería enviar al STDIN lo que recibo de un post, para que luego, mediante un CGI, escrito en python mismamente, poder hacer algo del tipo: #!/usr/bin/env python print "Content-type: text/html\n" print print "lalalal" + raw_input() + "" Espero que con esto se entienda mejor lo que quiero hacer. > > > > Saludos, > > -H. > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ripolles en aditel.org Mon Jun 7 13:00:55 2004 From: ripolles en aditel.org (Daniel Ripolles (Eru)) Date: Mon, 07 Jun 2004 13:00:55 +0200 Subject: enviar datos a la entrada =?ISO-8859-1?Q?est=E1ndar?= In-Reply-To: <20040607105606.GA8390@aditel.org> References: <20040607100229.GA28798@aditel.org> <20040607104909.GA7488@aditel.org> <20040607105606.GA8390@aditel.org> Message-ID: <1086606052.1292.2.camel@andros> El lun, 07-06-2004 a las 12:56, Darío López Llueca escribió: > On Mon, Jun 07, 2004 at 12:49:09PM +0200, Darío López Llueca wrote: > > On Mon, Jun 07, 2004 at 12:42:13PM +0200, Hernán Martínez Foffani wrote: > > > Darío López Llueca escribio: > > > > Alguien sabría decirme como podría hacer el equivalente a la siguiente > > > > orden unix en python? > > > > > > > > echo "lalalalalal" > /dev/stdin > > > > > > Ernie te dio una respuesta pero el problema está en la pregunta. > > > ¿Realmente quieres (y puedes) escribir en el dispositivo de entrada > > > estandar? > > > Si el comando echo que escribiste realmente te funciona haz algo > > > como: > > > >>> f = file("/dev/stdin", "w") > > > >>> f.write("lalalalala\n") > > > >>> > > Si que funciona, pero la verdad es que no estoy muy seguro de que sea > > el resutlado que quiero :), pq me imprime por pantalla el mensaje y no > > se si debiera de hacer eso. > > De todas formas, yo quiero hacer algo más universal. Con esto quiero > > decir, que funcione tanto en linux como en windows. Y la solución que me > > planteas, solo funciona en Linux :( > Me respondo a mí mismo: NO funciona :D > de todas formas... os planteo la siguiente cuestión.. > esto haciendo un servidor web en python, porque me lo piden para una > asignatura. La cuestión es que al recibir un POST, debería enviar al > STDIN lo que recibo de un post, para que luego, mediante un CGI, escrito > en python mismamente, poder hacer algo del tipo: > > #!/usr/bin/env python > print "Content-type: text/html\n" > print > print "lalalal" + raw_input() + > "" > > Espero que con esto se entienda mejor lo que quiero hacer. Se entiende :) Si fuera C, te diría que lo que necesitas es una tubería y un fork() con su exec() correspondiente. En Python no tengo tan claro como se pueden hacer ese tipo de cosas, pero puede que alguna de las funciones amigas de os.popen() pueda hacer algo asi. Alguien tiene una sugerencia? > > > > > > > Saludos, > > > -H. > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Daniel Ripolles ( Eru ) Python up Your Linux !! ------------ 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 Mon Jun 7 12:52:42 2004 From: morillas en posta.unizar.es (Luis Miguel Morillas) Date: Mon, 7 Jun 2004 12:52:42 +0200 Subject: enviar datos a la entra=?ISO-8859-1?B?ZGEgZXN04W5kYXI=?= In-Reply-To: <20040607102058.GA340@aditel.org> References: <20040607100229.GA28798@aditel.org> <40C44043.5090503@sicem.biz> <20040607102058.GA340@aditel.org> Message-ID: <1086605562.40c448fab62f5@webmail.unizar.es> Mensaje citado por Darío López Llueca : > On Mon, Jun 07, 2004 at 12:15:31PM +0200, Ernesto Revilla wrote: > > Hola > > > > import sys > > sys.stdin.write("lalalalala") > > > > nombre=&apellidos= <--- esto es el contenido de lista[-1] :) > Exception in thread Thread-1: > Traceback (most recent call last): > File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap > self.run() > File "webserver.py", line 30, in run > resp = RespuestaHTTP(peti,defecto,self.cs) > File "webserver.py", line 131, in __init__ > peticion.__parser_post__(respuesta) > File "webserver.py", line 71, in __parser_post__ > sys.stdin.write(lista[-1]) > IOError: [Errno 9] Bad file descriptor > > > > Erny > > > > Darío López Llueca escribió: > > > > >Hola a tod en s! > > > > > >Alguien sabría decirme como podría hacer el equivalente a la siguiente > > >orden unix en python? > > > > > >echo "lalalalalal" > /dev/stdin > > > > > >Es que no sé como hacerlo :( No sé muy bien para qué quieres escribir en la entrada estándar. Como ves sólo está abierta para lectura. Se me ocurre algo así: import os os.popen('cat', 'w').write('lalala') -- Luis Miguel From py en ch3m4.org Mon Jun 7 13:21:34 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 7 Jun 2004 13:21:34 +0200 Subject: enviar datos a la entrada =?iso-8859-1?q?est=E1ndar?= In-Reply-To: <20040607105606.GA8390@aditel.org> References: <20040607100229.GA28798@aditel.org> <20040607104909.GA7488@aditel.org> <20040607105606.GA8390@aditel.org> Message-ID: <200406071321.34732.py@ch3m4.org> El Lunes, 7 de Junio de 2004 12:56, Darío López Llueca escribió: > La cuestión es que al recibir un POST, debería enviar al > STDIN lo que recibo de un post, para que luego, mediante un CGI, escrito > en python mismamente, poder hacer algo del tipo: > > #!/usr/bin/env python > print "Content-type: text/html\n" > print > print "lalalal" + raw_input() + > "" No está muy claro si estás hablando de uno o dos scripts, pero cuando escribes algo siempre se hace en el stdout/stderr. El stdin es de sólo lectura (casi siempre). Si el CGI recibe información por POST, basta con leerlo con sys.stdin.read(). El raw_input() es más para interaccionar con el usuario, inadecuado totalmente en un CGI. From hernan en orgmf.com.ar Mon Jun 7 13:26:04 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Mon, 7 Jun 2004 13:26:04 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_enviar_datos_a_la_entrada_est=E1ndar?= In-Reply-To: <20040607105606.GA8390@aditel.org> References: <20040607105606.GA8390@aditel.org> Message-ID: Darío López Llueca escribio: >>>> Alguien sabría decirme como podría hacer el equivalente a la >>>> siguiente orden unix en python? >>>> >>>> echo "lalalalalal" > /dev/stdin >>> >>> Ernie te dio una respuesta pero el problema está en la pregunta. >>> ¿Realmente quieres (y puedes) escribir en el dispositivo de entrada >>> estandar? Si el comando echo que escribiste realmente te funciona >>> haz algo como: >>> f = file("/dev/stdin", "w") >>> >>> f.write("lalalalala\n") >>> >>> >> Si que funciona, pero la verdad es que no estoy muy seguro de que sea >> el resutlado que quiero :), pq me imprime por pantalla el mensaje y >> no se si debiera de hacer eso. De todas formas, yo quiero hacer algo >> más universal. Con esto quiero decir, que funcione tanto en linux >> como en windows. Y la solución que me planteas, solo funciona en >> Linux :( >> Me respondo a mí mismo: NO funciona :D Te habíamos respondido a tu pregunta ;-) No me extraña que no funcione a todos nos había parecido algo rara tu pregunta. /dev/stdin representa al disposito de entrada estandar y no está disponible en Windows. En un entorno CGI como pretendes para tu asignatura tu aplicación debe usar los *descriptores* stdin/stdout y no los *dispositivos*. > de todas formas... os planteo la siguiente cuestión.. > esto haciendo un servidor web en python, porque me lo piden para una > asignatura. La cuestión es que al recibir un POST, debería enviar al > STDIN lo que recibo de un post, para que luego, mediante un CGI, > escrito en python mismamente, poder hacer algo del tipo: > > #!/usr/bin/env python > print "Content-type: text/html\n" > print > print "lalalal" + raw_input() > + "" > > Espero que con esto se entienda mejor lo que quiero hacer. Ahora si. Prueba como dijo Chema, con sys.stdin.read() -H. From mnunyez en cenoclap.es Mon Jun 7 16:01:18 2004 From: mnunyez en cenoclap.es (Marcos =?iso-8859-1?q?N=FA=F1ez?=) Date: Mon, 7 Jun 2004 16:01:18 +0200 Subject: Desarrollo Web al estilo de PHP In-Reply-To: <200406020954.06282.py@ch3m4.org> References: <847C3C121499804C8C9F63DCEED32CB5A69F8A@EXCHANGE.minpublico.cl> <200406020954.06282.py@ch3m4.org> Message-ID: <200406071601.18823.mnunyez@cenoclap.es> El Miércoles, 2 de Junio de 2004 09:54, Chema Cortés escribió: > El Martes, 1 de Junio de 2004 22:11, Luis Delannoy Iversen escribió: > > Hola a todos, quisiera saber si alguien ha tenido que desarrollar > > apliciones web con python, utilizando un desarrollo parecido a PHP. He > > leido que se está desarrollando algo como PSP (mod_python) > > > > Lo que necesito es una alternativa a PHP /Postgress. > > Perdona que no me extienda mucho, pero es que esta pregunta la tienes > muchas veces respondida en el archivo de mensajes de esta lista. > > Para desarrollo web con python (incluyen ejemplos): > http://www.ypsolog.com/docs/comp/other/pythonweb.html > > Más exhaustivo: > http://www.python.org/cgi-bin/moinmoin/WebProgramming > > Mi preferido es cherrypy: http://www.cherrypy.org > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es A lo mejor te puede interesar esto: http://karrigell.sourceforge.net/ Por lo que he visto en la documentacion (no lo he probado ni usado todavia), en los codigos fuente es muy parecida la forma de trabajar a la de PHP y te puede ser menos "traumatico" el cambio. Att. Marcos Nuñez Clemente Técnico Informático Cenoclap S.A. From jdavid en itaapy.com Mon Jun 7 20:23:25 2004 From: jdavid en itaapy.com (=?ISO-8859-1?Q?=22J=2E_David_Ib=E1=F1ez=22?=) Date: Mon, 07 Jun 2004 20:23:25 +0200 Subject: itools 0.4.1 y =?iso-8859-1?q?documentaci=F3n?= Message-ID: <40C4B29D.2000107@itaapy.com> Buenas, Os escribo para anunciar la publicación de la versión 0.4.1 de itools. La gran novedaz es la disponibilidad, finalmente, de documentación (en inglés). Podéis descargar ambas cosas, software y documentación, desde http://www.ikaaro.org itools es un paquete Python que contiene: * itools.uri -- una API para trabajar con URIs. * itools.resources -- una capa de abstracción sobre recursos, donde quiera que se encuentren (file, http, etc.) * itools.handlers -- un handler es un objeto no persistente que gestiona un recurso. Varios handlers incluidos, "out of the box". * itools.xml -- handlers para gestionar documentos XML. Incluye "the Simple Template Language". * itools.i18n -- utiles para negociación de idioma y segmentación de texto. * itools.workflow -- un motor de workflow. * itools.lucene -- un motor de indexación y búsqueda, compatible con Lucene (bueno, todavía no). Chao, -- J. David Ibáñez Itaapy Tel +33 (0)1 42 23 67 45 9 rue Darwin, 75018 Paris Fax +33 (0)1 53 28 27 88 From lcatalin en siadv.com Tue Jun 8 10:47:00 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Tue, 8 Jun 2004 10:47:00 +0200 Subject: wxPython 2.5.1.5 Message-ID: <010101c44d35$2a8bb1a0$d900a8c0@catalin> Hola, Sabéis por que al instalar esta versión de wx el Boa ya no arranca. Se queda en "running main..." y me dice que no puede importar wx. Tengo el Boa 0.2.8 pero lo he probado también con 0.2.3, el Python 2.3.3 y 2.3.4. Gracias de antemano, Catalin www.siadv.com From oziko en fusiondementes.com Wed Jun 9 00:18:02 2004 From: oziko en fusiondementes.com (oziko) Date: Tue, 08 Jun 2004 17:18:02 -0500 Subject: dudas con popen3 Message-ID: <40C63B1A.9070805@fusiondementes.com> no logro entender bien el como manejar las salidas de los programas. quiero correo ogg123, y capturar la salida del porcentaje que lleva reproducido y luego representarlo con una barra de progreso ahora si hago algo como >>>a,b,c = os.popen3("ogg123 cancion.ogg") empieza a reproducirlo y segundos despues se corta la cancion luego veo >>>c.read() y vuelve a reproducir cancelo con ctrl-c y deja de repoducir, si despues de esto vuelo a >>>c.read ahora me da la salida que quiero >>> c.read() '\r \rTime: 00:16.56 [04:22.28] of 04:38.83 (181.7 kbps) Output Buffer 100.0% \r\r \r\nDone.\n' he revisado los demas mensajes de la lista que se refieren a popen pero no logro hacer lo que quiero, pueden darme porfavor algunas sugerencias? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ripolles en aditel.org Wed Jun 9 00:31:07 2004 From: ripolles en aditel.org (Daniel Ripolles (Eru)) Date: Wed, 09 Jun 2004 00:31:07 +0200 Subject: dudas con popen3 In-Reply-To: <40C63B1A.9070805@fusiondementes.com> References: <40C63B1A.9070805@fusiondementes.com> Message-ID: <1086733863.4811.4.camel@andros> El mié, 09-06-2004 a las 00:18, oziko escribió: > no logro entender bien el como manejar las salidas de los programas. > > quiero correo ogg123, y capturar la salida del porcentaje que lleva > reproducido y luego representarlo con una barra de progreso > > ahora si hago algo como > > >>>a,b,c = os.popen3("ogg123 cancion.ogg") > empieza a reproducirlo y segundos despues se corta la cancion > > luego veo > >>>c.read() y vuelve a reproducir > cancelo con ctrl-c y deja de repoducir, > si despues de esto vuelo a > >>>c.read > ahora me da la salida que quiero > >>> c.read() > '\r > \rTime: 00:16.56 [04:22.28] of 04:38.83 (181.7 kbps) Output > Buffer 100.0% \r\r \r\nDone.\n' > > he revisado los demas mensajes de la lista que se refieren a popen pero > no logro hacer lo que quiero, pueden darme porfavor algunas sugerencias? Si no recuerdo mal, y viendo el problema que te da, creo que lo que pasa es que ogg123 va sacando la barra de progreso en stderr (y no en stdout, como la mayoría podría pensar). Por eso cuando lees de c (stderr), suena un trocito más de canción. Conociendo el problema, tu verás que solución le das (redirección, leer stderr, no sé, depende de para qué lo quieras) > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Daniel Ripolles ( Eru ) Python up Your Linux !! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From clp en opencanarias.com Wed Jun 9 14:12:44 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Wed, 09 Jun 2004 13:12:44 +0100 Subject: Locale wxPython Message-ID: <1086783164.26410.25.camel@IMAGINE> Hola Tengo un problema. Quiero utilizar wxWizard pero los botones salen como Next y Prev, en vez de siguiente, previo... Alguien a conseguido utilizar los controles wxWidgets nativos en nuestro locale (español). Ejemplos: wxCalendar wxWizard ... He intentado seguir la wiki, pero no entiendo los ejemplos. ¿Cómo se cambian las locale de wx? Salu2 de clp ;) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jdjg en ya.com Thu Jun 10 19:48:48 2004 From: jdjg en ya.com (jdjg) Date: Thu, 10 Jun 2004 19:48:48 +0200 Subject: Compatibilidad de Boa Constructor y wxpython Message-ID: <40C89F00.3070905@ya.com> He intalado wxpython 2.5.1 y Boa Constructor 0.2.3 y recibo el error "Global name wx is not defined" ¿Alguien puede ayudarme a hacer funcionar Boa? Gracias From danielgj en wanadoo.es Thu Jun 10 20:34:11 2004 From: danielgj en wanadoo.es (Daniel Garcia Jones) Date: 10 Jun 2004 20:34:11 +0200 Subject: Algo similar a os.system In-Reply-To: <40C439EB.4030808@sicem.biz> References: <40C439EB.4030808@sicem.biz> Message-ID: <1086892457.299.10.camel@cesarius> On Mon, 2004-06-07 at 11:48, Ernesto Revilla wrote: > Hola, > > mira la función os.popen3 de la librería. > > Saludos, Erny Efectivamente, esa era la solucion. Ya solo me queda que me escriba en mi GUI al tiempo que escribiria en la pantalla, pero sera pegarme con los flush() de los distintos descriptores, me imagino... Muchas gracias! -- ------------------------------------------------ Daniel García Jones danielgj en wanadoo.es | dgarcia en it.uc3m.es http://montoya.aig.uc3m.es/~jones ------------------------------------------------ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pedro.carrasco en iver.es Fri Jun 11 07:38:30 2004 From: pedro.carrasco en iver.es (Pedro A. Carrasco) Date: Fri, 11 Jun 2004 07:38:30 +0200 Subject: Compatibilidad de Boa Constructor y wxpython In-Reply-To: <40C89F00.3070905@ya.com> References: <40C89F00.3070905@ya.com> Message-ID: <40C94556.3030701@iver.es> jdjg escribió: > He intalado wxpython 2.5.1 y Boa Constructor 0.2.3 y recibo el error > "Global name wx is not defined" > > ¿Alguien puede ayudarme a hacer funcionar Boa? Yo para ustilizar el Boa tuve que instalar también las wxPython 2.4.x Salu2 -- Pedro From clp en opencanarias.com Fri Jun 11 09:19:25 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Fri, 11 Jun 2004 08:19:25 +0100 Subject: Compatibilidad de Boa Constructor y wxpython In-Reply-To: <40C89F00.3070905@ya.com> References: <40C89F00.3070905@ya.com> Message-ID: <1086938363.2778.3.camel@IMAGINE> Intenta descargarte el boa del CVS. Van por la versión 0.2.8, tienen muchas más funcionalidades La cadena de CVS es (también lo puedes mirar en la página de boa) :pserver:anonymous en cvs.sourceforge.net:/cvsroot/boa-constructor El jue, 10-06-2004 a las 18:48, jdjg escribió: > He intalado wxpython 2.5.1 y Boa Constructor 0.2.3 y recibo el error > "Global name wx is not defined" > > ¿Alguien puede ayudarme a hacer funcionar Boa? > > Gracias > _______________________________________________ > 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 lcatalin en siadv.com Fri Jun 11 09:58:15 2004 From: lcatalin en siadv.com (Catalin Lungu) Date: Fri, 11 Jun 2004 09:58:15 +0200 Subject: Compatibilidad de Boa Constructor y wxpython References: <40C89F00.3070905@ya.com> <1086938363.2778.3.camel@IMAGINE> Message-ID: <001a01c44f89$e95cbf60$c801a8c0@catalin> Anteriormente he postado un mensaje con el mismo problema. Parece que no funciona tampoco con la versión 0.2.8. Si tenéis alguna novedad por favor avisadme. Por cierto no hay algún foro de WX o de BOA. Catalin, www.siadv.com ----- Original Message ----- From: "Carlos Lopez Perez" To: "La lista de python en castellano" Sent: Friday, June 11, 2004 9:19 AM Subject: Re: [Python-es] Compatibilidad de Boa Constructor y wxpython > Intenta descargarte el boa del CVS. Van por la versión 0.2.8, tienen > muchas más funcionalidades > > La cadena de CVS es (también lo puedes mirar en la página de boa) > > :pserver:anonymous en cvs.sourceforge.net:/cvsroot/boa-constructor > > El jue, 10-06-2004 a las 18:48, jdjg escribió: > > He intalado wxpython 2.5.1 y Boa Constructor 0.2.3 y recibo el error > > "Global name wx is not defined" > > > > ¿Alguien puede ayudarme a hacer funcionar Boa? > > > > Gracias > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Fri Jun 11 10:25:04 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 11 Jun 2004 10:25:04 +0200 Subject: Compatibilidad de Boa Constructor y wxpython In-Reply-To: <40C89F00.3070905@ya.com> References: <40C89F00.3070905@ya.com> Message-ID: <200406111025.09321.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Jueves, 10 de Junio de 2004 19:48, jdjg escribió: > He intalado wxpython 2.5.1 y Boa Constructor 0.2.3 y recibo el error > "Global name wx is not defined" > > ¿Alguien puede ayudarme a hacer funcionar Boa? Boa Constructor todavía no está preparado para la versión 2.5 de wxpython, por lo que hay que bajarse de versión a la 2.4.2.4. Aún así, la última versión del Boa Constructor es la 0.2.8, sólo disponible desde el CVS. No habrá versión final hasta que se haya acabado el soporte de "sizers" y, por añadiduría, sea compatible con wxpython 2.5 Si no te aclaras con el CVS: http://boa-constructor.sourceforge.net/files/boa-constructor-0.2.8-snapshot.tgz Para saber los cambios introducidos en el wxpython, échale un vistazo a la guía de migración: http://www.wxpython.org/migrationguide.php -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAyWxlHLTQrABk8H0RAgvIAJ4nj4hcLwAZmiRhOB7opBZl9WmGsQCfT/L0 Bq089u+s96fbAPTZ0ReypH8= =K0Ht -----END PGP SIGNATURE----- From pylorca en yahoo.com.ar Sat Jun 12 21:59:28 2004 From: pylorca en yahoo.com.ar (lorca) Date: Sat, 12 Jun 2004 16:59:28 -0300 Subject: lib sintax-higlight Message-ID: <40CB60A0.2090108@yahoo.com.ar> Hola a todos, hace tiempo me metí con python, me gustó mucho, pero por estudio y laburo no tuve mas tiempo para dedicarle... bueno ahora los fin de semanas quiero darle bola, y me picó la idea de hacer un editor de textos con pygtk y quiero que este tenga sintax-higlight para varios lenguajes... alguien conoce alguna lib para facilitarme esto? ya que si me lo pongo a programar yo perderia mucho tiempo y para no reinventar la rueda... saludos! -- l o r c a Homepage: http://www.pylorca.com.ar plasma: http://lorca.homelinux.com/plasma From pepe en diselpro.com Sun Jun 13 01:27:01 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Sun, 13 Jun 2004 01:27:01 +0200 Subject: lib sintax-higlight In-Reply-To: <40CB60A0.2090108@yahoo.com.ar> References: <40CB60A0.2090108@yahoo.com.ar> Message-ID: <40CB9145.6010404@diselpro.com> Hola Echale un vistazo al pyscintilla2 http://sra.itc.it/people/cavada/PyScintilla2.html Saludos. lorca escribió: > Hola a todos, hace tiempo me metí con python, me gustó mucho, pero por > estudio y laburo no tuve mas tiempo para dedicarle... > > bueno ahora los fin de semanas quiero darle bola, y me picó la idea de > hacer un editor de textos con pygtk y quiero que este tenga > sintax-higlight para varios lenguajes... alguien conoce alguna lib > para facilitarme esto? ya que si me lo pongo a programar yo perderia > mucho tiempo y para no reinventar la rueda... > > saludos! > From soulkiller en teleline.es Mon Jun 14 07:12:09 2004 From: soulkiller en teleline.es (soul) Date: Mon, 14 Jun 2004 07:12:09 +0200 Subject: lib sintax-higlight In-Reply-To: <40CB9145.6010404@diselpro.com> References: <40CB60A0.2090108@yahoo.com.ar> <40CB9145.6010404@diselpro.com> Message-ID: <1087189929.2647.2.camel@Zeus> Conocéis algo parecido pero para wxPython ??? De hecho en la demo aparece un editor con resaltado de sintaxis muy bueno. Soul From tjavier en usuarios.retecal.es Mon Jun 14 08:40:38 2004 From: tjavier en usuarios.retecal.es (T. Javier Robles Prado) Date: Mon, 14 Jun 2004 08:40:38 +0200 Subject: lib sintax-higlight In-Reply-To: <1087189929.2647.2.camel@Zeus> References: <40CB60A0.2090108@yahoo.com.ar> <40CB9145.6010404@diselpro.com> <1087189929.2647.2.camel@Zeus> Message-ID: <200406140840.38811.tjavier@usuarios.retecal.es> El Lunes, 14 de Junio de 2004 07:12, soul escribió: > Conocéis algo parecido pero para wxPython ??? De hecho en la demo > aparece un editor con resaltado de sintaxis muy bueno. > wxPython utiliza scintilla -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org From py en ch3m4.org Mon Jun 14 13:06:06 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 14 Jun 2004 13:06:06 +0200 Subject: lib sintax-higlight In-Reply-To: <1087189929.2647.2.camel@Zeus> References: <40CB60A0.2090108@yahoo.com.ar> <40CB9145.6010404@diselpro.com> <1087189929.2647.2.camel@Zeus> Message-ID: <200406141306.11215.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Lunes, 14 de Junio de 2004 07:12, soul escribió: > Conocéis algo parecido pero para wxPython ??? De hecho en la demo > aparece un editor con resaltado de sintaxis muy bueno. Si lo has visto en la demo, bien podrías haberte molestado en ver cómo lo hace. :-P Míra el 'wxStyledTextCtrl' (wxSTC) o su versión en PythonCard más fácil de usar: 'CodeEditor'. Y por si álguien más lo pensaba preguntar, para tkinter se podría emplear directamente el idle, o sea, la librería 'idlelib'. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAzYaiHLTQrABk8H0RAmSCAKCZTg+UqeV5JDTmBiTiLrOgrDVOzACeONhe hFLFe10Na6FUK9QgzyEOKUk= =ihNM -----END PGP SIGNATURE----- From dvilla en gmx.net Mon Jun 14 20:05:40 2004 From: dvilla en gmx.net (dvilla) Date: Mon, 14 Jun 2004 20:05:40 +0200 Subject: Sintaxis =?ISO-8859-1?Q?pr=E1ctica=2E?= In-Reply-To: <1086487745.40c27cc1c843a@ch3m4.org> References: <200406050028.10050.pepe@diselpro.com> <40C11178.5080300@sicem.biz> <1086487745.40c27cc1c843a@ch3m4.org> Message-ID: <1087236340.12619.15.camel@amy> El dom, 06-06-2004 a las 04:09, Chema Cortés escribió: > Por nombrar algunas cosas más: > - Paso en número variable de argumentos posicionales y por nombre > - Operador de formato % > - El .join() > - Rebanados de secuencias con intercalado > - "internalizar" cadenas de caracteres en la tabla de símbolos > - Métodos estáticos, de clase, etc > - Metaclases > - Generadores e Iteradores Puedes explicar qué es eso de "internalizar" cadenas en la tabla de símbolos. Otra cosa, ¿alguien sabe si van a cambiar por fin la sintaxis para los métodos de clase? lo del "classmethod" me parece horrible (y no soy el único[1]). Saludos [1] http://mail.python.org/pipermail/python-list/2003-June/166411.html From hernan en orgmf.com.ar Mon Jun 14 23:17:50 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Mon, 14 Jun 2004 23:17:50 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Sintaxis_pr=E1ctica.?= In-Reply-To: <1087236340.12619.15.camel@amy> References: <1087236340.12619.15.camel@amy> Message-ID: <001f01c45255$0d0f70b0$0302a8c0@orgmf.com.ar> > ..... Otra cosa, ¿alguien sabe si van a cambiar > por fin la sintaxis para los métodos de clase? lo del > "classmethod" me parece horrible (y no soy el único[1]). > > Saludos > > [1] http://mail.python.org/pipermail/python-list/2003-June/166411.html Entonces con Guido sois por lo menos tres. ;-) El problema es que las sintaxis alternativas son peores (desde el punto de vista estetico y compatibilidad hacia atrás) Ya hay una propuesta concreta (los llamados "decorators") que la puedes ver en http://www.python.org/peps/pep-0318.html (la que prefiere Guido es la que usa C#) -H. From py en ch3m4.org Tue Jun 15 15:11:50 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 15 Jun 2004 15:11:50 +0200 Subject: Sintaxis =?iso-8859-1?q?pr=E1ctica=2E?= In-Reply-To: <1087236340.12619.15.camel@amy> References: <200406050028.10050.pepe@diselpro.com> <1086487745.40c27cc1c843a@ch3m4.org> <1087236340.12619.15.camel@amy> Message-ID: <200406151511.53278.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Lunes, 14 de Junio de 2004 20:05, dvilla escribió: > Puedes explicar qué es eso de "internalizar" cadenas en la tabla de > símbolos. Otra cosa, ¿alguien sabe si van a cambiar por fin la sintaxis > para los métodos de clase? lo del "classmethod" me parece horrible (y no > soy el único[1]). Olvida lo de la "internalización"; no tiene relación con la sintáxis. No sé porqué lo puse, supongo que porque estaba en esos momentos trasteando con ello. (La "internalización" es una técnica para ahorrar memoria introduciendo las cadenas de caracteres de uso frecuente en la tabla de símbolos del intérprete (véase función intern)). En cuanto la sintaxis de los métodos de clase, estáticos, propiedades,... puede parecer horrible, sobre todo por lo que tiene de "hack", pero python destaca justamente por ser "explícito" en todo lo que hace, exponiendo abiertamente toda su implementación interna. Tanta "explicitación" hace difícil tener una visión global del programa, pero la idea es verlo también como una ventaja. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAzvWZHLTQrABk8H0RAsh3AJ9mUPFLOn3/I4nFMMg5LsiXp1mLoACeNAZ8 rSHpophau5oTb6S2kegmiLM= =2T0i -----END PGP SIGNATURE----- From py en ch3m4.org Tue Jun 15 17:34:48 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 15 Jun 2004 17:34:48 +0200 Subject: Sintaxis =?iso-8859-1?q?pr=E1ctica=2E?= In-Reply-To: <001f01c45255$0d0f70b0$0302a8c0@orgmf.com.ar> References: <001f01c45255$0d0f70b0$0302a8c0@orgmf.com.ar> Message-ID: <200406151734.52510.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Lunes, 14 de Junio de 2004 23:17, Hernan Martínez Foffani escribió: > Ya hay una propuesta concreta (los llamados "decorators") > que la puedes ver en http://www.python.org/peps/pep-0318.html > (la que prefiere Guido es la que usa C#) Pues tal como lo veo, todo el tema de los "decoradores" quedaría más simple si existiera un verdadero operador de "composición" de funciones, algo por lo que yo deliraba hace un año: http://listas.aditel.org/archivos/python-es/2003-March/001918.html Claro que antes sería preciso que "function" fuera un verdadero tipo de datos. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAzxccHLTQrABk8H0RAp5sAKC0xlb+gMzqU94qrQsIxy8E/Gr5CwCfd6Mk 3cV0XejBHAofDt9DDP48uYk= =uLht -----END PGP SIGNATURE----- From hernan en orgmf.com.ar Tue Jun 15 18:20:17 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 15 Jun 2004 18:20:17 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Sintaxis_pr=E1ctica.?= In-Reply-To: <200406151734.52510.py@ch3m4.org> References: <200406151734.52510.py@ch3m4.org> Message-ID: >> Ya hay una propuesta concreta (los llamados "decorators") >> que la puedes ver en http://www.python.org/peps/pep-0318.html >> (la que prefiere Guido es la que usa C#) > > Pues tal como lo veo, todo el tema de los "decoradores" quedaría más > simple si existiera un verdadero operador de "composición" de > funciones, algo por lo que yo deliraba hace un año: > http://listas.aditel.org/archivos/python-es/2003-March/001918.html > Claro que antes sería preciso que "function" fuera un verdadero tipo > de datos. No estoy seguro que el operador composicion (de existir) sea equivalente o sirva como alternativa a los decoradores. En composicion, F o G (x) == F(G(x)) donde la Imagen de G es el Dominio de F. Pero el decorador es una transformacion de la propia funcion donde el Dominio es la propia funcion, no la Imagen de ella. Me parece que eso es conceptualmente diferente. Usando la composicion como alternativa a los decoradores class Pepe(object): def square(x): return x*x square = staticmethod(square) sería class Pepe(object): def square(x): return x*x square = staticmethod . square manteniendo `assert staticmethod(4) == Pepe.square(2)` Y esto ultimo es imposible. -H. From py en ch3m4.org Tue Jun 15 20:55:54 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Tue, 15 Jun 2004 20:55:54 +0200 Subject: Sintaxis =?iso-8859-1?q?pr=E1ctica=2E?= In-Reply-To: References: Message-ID: <200406152055.58467.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Martes, 15 de Junio de 2004 18:20, Hernán Martínez Foffani escribió: > No estoy seguro que el operador composicion (de existir) sea > equivalente o sirva como alternativa a los decoradores. > En composicion, F o G (x) == F(G(x)) donde la Imagen de G es > el Dominio de F. Pero el decorador es una transformacion > de la propia funcion donde el Dominio es la propia funcion, > no la Imagen de ella. Me parece que eso es conceptualmente > diferente. Conceptualmente, deberían ser diferentes. Pero en el uso de decoradores para convertir métodos y propiedades realmente se están transformando los dominios de las funciones. > Usando la composicion como alternativa a los decoradores > > class Pepe(object): > def square(x): > return x*x > square = staticmethod(square) > > sería > > class Pepe(object): > def square(x): > return x*x > square = staticmethod . square > > manteniendo `assert staticmethod(4) == Pepe.square(2)` > Y esto ultimo es imposible. No entiendo bien lo que quieres decir con este assert, aunque yo hubiera cambiado el orden de la composición, ya que staticmethod es el que tiene que adaptar las llamadas (wrapper): square = square * staticmethod # me gusta más usar '*' como operador también square *= staticmethod Se debería establecer una jerarquía así: type --> function --> staticmethod con lo que podría ser: class Pepe(object): class square(staticmethod): def __call__(x): return x*x Se estaría usando Pepe.square como un objeto en lugar de una clase, pero podría dar más juego para hacer otras muchas cosas (añadir atributos como "decoradores", currificar funciones, programación por contrato, etc) PD: tendría que pensarlo mejor, pero es que en este preciso momento comienzo una cortas vacaciones :-P Mis disculpas adelantadas porque no voy a responder mensajes en un tiempo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFAz0Y+HLTQrABk8H0RAk36AKCbmPGKkSQT6T9nh8T8BIXYwzqCaQCfTCKi u6WCns0YTH7TnIcFw576nYk= =UwAb -----END PGP SIGNATURE----- From visualnex en tutopia.com Wed Jun 16 16:36:29 2004 From: visualnex en tutopia.com (marcelo) Date: Wed, 16 Jun 2004 11:36:29 -0300 Subject: PythonPath en SCite Message-ID: <20040616113629.00007860@pc10> Hola: Estoy comenzando a usar SCite como idle para python2.3 Como hago para que Scite me lea la variable PYTHONPATH. Ya que en la consola en modo grafico esta disponible,pero en Scite no. Tambien me gustaria que si alguien tiene "quejas" de este editor me las comente... maram debian sarge ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From javier.quintana en telsur.net Wed Jun 16 18:54:49 2004 From: javier.quintana en telsur.net (javier.quintana en telsur.net) Date: Wed, 16 Jun 2004 12:54:49 -0400 Subject: Correo subject y adjunto Message-ID: Agradeceré me indiquen un ejemplo de como incluir el subject y adjunar archivos paa enviar por correo desde Python usando servidor.sendmail Gracias Javier Quintana W. I From FBatista en uniFON.com.ar Wed Jun 16 19:18:08 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Wed, 16 Jun 2004 14:18:08 -0300 Subject: ANUNCIO: SiGeFi v0.1 Message-ID: Estamos orgullosos de anunciar la versión 0.1 de SiGeFi, la cual pueden encontrar en: http://sourceforge.net/projects/sigefi ¿Qué es SiGeFi? --------------- SiGeFi es un Sistema de Gestión Financiera pensado principalmente para el hogar y las finanzas personales. Siempre manteniendo la simpleza de uso y de conceptos, SiGeFi posee características de un Sistema de Gestión complejo: - Cumple con los conceptos de Contabilidad por Partida Doble - Posee un esquema de Distribución en base a Presupuestos - Permite realizar Préstamos entre cuentas (con costos financieros asociados) Y por supuesto, está completamente escrito en Python; todavía no nos decidimos por la GUI. ¿Qué hay en esta versión? ------------------------- Hemos terminado todos los casos de prueba, lo que fija en gran parte la interfaz del sistema. ¿Qué puedo esperar para la próxima versión? ------------------------------------------- Que terminemos de escribir y corregir el código propiamente dicho para que cumpla con los casos de prueba. También actualizaremos toda la documentación, ya que la actual no corresponde exactamente con los casos de prueba. ¿Cómo puedo ayudar? ------------------- De mil maneras, hay muchas cosas para hacer todavía: documentación, corregir código, armar la página web, etc... Si quiere participar, ¡envíenos un mail! (todavía no configuramos la lista de correo, :) Muchas gracias. . Facundo From javier.quintana en telsur.net Wed Jun 16 23:31:56 2004 From: javier.quintana en telsur.net (javier.quintana en telsur.net) Date: Wed, 16 Jun 2004 17:31:56 -0400 Subject: clase record Message-ID: Alguien me puede ayudar donde conseguir la clase record a la que hace mención el tutorial pythonG Gracias Javier Q From ripolles en aditel.org Thu Jun 17 00:05:34 2004 From: ripolles en aditel.org (Daniel Ripolles (Eru)) Date: Thu, 17 Jun 2004 00:05:34 +0200 Subject: clase record In-Reply-To: References: Message-ID: <1087423531.1654.14.camel@andros> El mié, 16-06-2004 a las 23:31, javier.quintana en telsur.net escribió: > Alguien me puede ayudar donde conseguir la clase record a la que hace > mención el tutorial pythonG Bajándote el PythonG http://www3.uji.es/~dllorens/PythonG/ Ten en cuenta que aunque el módulo record esté en el tutorial, su utilidad es puramente didáctica. La idea es implementar "estructuras" sin meterse con nada de clases. Osea, que el consejo es que si quieres probar el modulo para ver como va y tal pues bien, pero que avances tan rápido como puedas hacia las clases, que es "la manera Python de hacer las cosas" :) > Gracias > > Javier Q > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Daniel Ripolles ( Eru ) Python up Your Linux !! ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Thu Jun 17 12:56:56 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 17 Jun 2004 12:56:56 +0200 Subject: Correo subject y adjunto In-Reply-To: References: Message-ID: <40D178F8.6060605@sicem.biz> Hola, no sé exáctamente qué significa 'usando servidor.sendmail' pero, te mando una receta para enviar correos con anexos general que usa la libería de Python 2.2 smtplib. Receta para mandar correos con anexos: http://www.sicem.biz/personal/erny/python/recetaEnviarMailConAttachments Saludos, erny javier.quintana en telsur.net escribió: >Agradeceré me indiquen un ejemplo de como incluir el subject y adjunar >archivos paa enviar por correo desde Python usando servidor.sendmail > >Gracias > > >Javier Quintana W. >I > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From Andres.Marzal en lsi.uji.es Thu Jun 17 13:29:38 2004 From: Andres.Marzal en lsi.uji.es (=?ISO-8859-15?Q?Andr=E9s_Marzal?=) Date: Thu, 17 Jun 2004 13:29:38 +0200 Subject: clase record In-Reply-To: <1087423531.1654.14.camel@andros> References: <1087423531.1654.14.camel@andros> Message-ID: <40D180A2.8080703@lsi.uji.es> Daniel Ripolles (Eru) wrote: >El mié, 16-06-2004 a las 23:31, javier.quintana en telsur.net escribió: > > >>Alguien me puede ayudar donde conseguir la clase record a la que hace >>mención el tutorial pythonG >> >> > >Bajándote el PythonG > >http://www3.uji.es/~dllorens/PythonG/ > >Ten en cuenta que aunque el módulo record esté en el tutorial, su >utilidad es puramente didáctica. La idea es implementar "estructuras" >sin meterse con nada de clases. > >Osea, que el consejo es que si quieres probar el modulo para ver como va >y tal pues bien, pero que avances tan rápido como puedas hacia las >clases, que es "la manera Python de hacer las cosas" :) > > > Si. Lo mismo digo. Es probable que una próxima edición del manual (¿septiembre/octubre?) sustituya el tema de registros por una introducción muy liviana a las clases (nada de herencia y eso, pero sí atributos y métodos). Salud. Andrés. ------------ 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 Jun 17 22:20:31 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hernan_Mart=EDnez_Foffani?=) Date: Thu, 17 Jun 2004 22:20:31 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Sintaxis_pr=E1ctica.?= In-Reply-To: <200406152055.58467.py@ch3m4.org> References: <200406152055.58467.py@ch3m4.org> Message-ID: <002401c454a8$8b1f26d0$0302a8c0@orgmf.com.ar> [python-es-bounces en aditel.org] >> Usando la composicion como alternativa a los decoradores >> >> class Pepe(object): >> def square(x): >> return x*x >> square = staticmethod(square) >> >> sería >> >> class Pepe(object): >> def square(x): >> return x*x >> square = staticmethod . square >> >> manteniendo `assert staticmethod(4) == Pepe.square(2)` >> Y esto ultimo es imposible. > > No entiendo bien lo que quieres decir con este assert, aunque yo > hubiera cambiado el orden de la composición, ya que staticmethod es > el que tiene que adaptar las llamadas (wrapper): > > square = square * staticmethod # me gusta más usar '*' como > operador > > también > > square *= staticmethod Lo que quería representar con el assert es que la funcion compuesta es equivalente a aplicar cada una de las funciones al *resultado* de la anterior. Un wrapper no es una composicion. > Se debería establecer una jerarquía así: > > type --> function --> staticmethod > > con lo que podría ser: > > class Pepe(object): > class square(staticmethod): > def __call__(x): > return x*x > > > Se estaría usando Pepe.square como un objeto en lugar de una clase, > pero podría dar más juego para hacer otras muchas cosas (añadir > atributos como "decoradores", currificar funciones, programación por > contrato, etc) Ugh. Ahora el que no entiende soy yo... ;-) > PD: tendría que pensarlo mejor, pero es que en este preciso momento > comienzo una cortas vacaciones :-P Mis disculpas adelantadas porque > no voy a responder mensajes en un tiempo. No importa... ¡Que lo pases bonito! -H. From notfound en notfound.org Fri Jun 18 12:54:27 2004 From: notfound en notfound.org (notfound en notfound.org) Date: Fri, 18 Jun 2004 12:54:27 +0200 Subject: =?iso-8859-1?q?Transliteraci=F3n?= de =?iso-8859-1?q?s=EDmbolos?= II Message-ID: <1087556067.40d2c9e3adaa8@correo.electronico.info> Hola gente, Me he visto en el problema que describíais en este thread http://listas.aditel.org/archivos/python-es/2004-June/004745.html Creo que es un clásico para python esto de parsear un CSV para generar un dump SQL, pues eso estoy haciendo con los consiguientes problemas de codificación. La cosa es que intento seguir vuestros consejos y no tengo problema para el locale pero si para el setdefaultencoding. >>> import sys >>> sys.setdefaultencoding('iso-8859-15') Traceback (most recent call last): File "", line 1, in ? AttributeError: 'module' object has no attribute 'setdefaultencoding' Que me pierdo? From rapto en arrakis.es Fri Jun 18 13:03:26 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Fri, 18 Jun 2004 13:03:26 +0200 Subject: =?ISO-8859-1?Q?Transliteraci=F3n?= de =?ISO-8859-1?Q?s=EDmbolos?= II In-Reply-To: <1087556067.40d2c9e3adaa8@correo.electronico.info> References: <1087556067.40d2c9e3adaa8@correo.electronico.info> Message-ID: <1087556604.6740.2.camel@cynar.proteus> En http://listas.aditel.org/archivos/python-es/2004-June/004752.html no especificaba que en sitecustomize.py es en el único sitio en que esto es posible. Entiendo que es algo muy turbio cambiarlo en medio de la ejecución. sitecustomize se ejecuta antes del código del usuario automáticamente. El vie, 18-06-2004 a las 12:54, notfound en notfound.org escribió: > Hola gente, > Me he visto en el problema que describíais en este thread > http://listas.aditel.org/archivos/python-es/2004-June/004745.html > > Creo que es un clásico para python esto de parsear un CSV para generar un dump > SQL, pues eso estoy haciendo con los consiguientes problemas de codificación. > > La cosa es que intento seguir vuestros consejos y no tengo problema para el > locale pero si para el setdefaultencoding. > > >>> import sys > >>> sys.setdefaultencoding('iso-8859-15') > Traceback (most recent call last): > File "", line 1, in ? > AttributeError: 'module' object has no attribute 'setdefaultencoding' > > Que me pierdo? > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rosendo.martinez en valdisme.com Fri Jun 18 13:09:37 2004 From: rosendo.martinez en valdisme.com (rosendo) Date: Fri, 18 Jun 2004 13:09:37 +0200 Subject: =?iso-8859-1?Q?RE:_=5BPython-es=5D_Transliteraci=F3n_des=EDmbolos_ _II?= In-Reply-To: <1087556067.40d2c9e3adaa8@correo.electronico.info> References: <1087556067.40d2c9e3adaa8@correo.electronico.info> Message-ID: <20040618110628.8ADAA3140B2@marti.uji.es> La verdad que no estoy muy puesto, pero creo que ese método no está accesible más que en el modulo, site. Este modulo se encuentra por defecto el directorio Lib de tu distribución. Dentro de ella encontrarás: if 0: # Enable to switch off string to Unicode coercion and implicit # Unicode to string conversion. encoding = "undefined" if encoding != "ascii": # On Non-Unicode builds this will raise an AttributeError... sys.setdefaultencoding(encoding) # Needs Python Unicode build ! Donde puedes ver que puedes poner el encoding que necesites. UN saludo. Rosendo. PD: No se si te he aclarado algo :-( -----Mensaje original----- De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En nombre de notfound en notfound.org Enviado el: viernes, 18 de junio de 2004 12:54 Para: python-es en aditel.org Asunto: [Python-es] Transliteración desímbolos II Hola gente, Me he visto en el problema que describíais en este thread http://listas.aditel.org/archivos/python-es/2004-June/004745.html Creo que es un clásico para python esto de parsear un CSV para generar un dump SQL, pues eso estoy haciendo con los consiguientes problemas de codificación. La cosa es que intento seguir vuestros consejos y no tengo problema para el locale pero si para el setdefaultencoding. >>> import sys >>> sys.setdefaultencoding('iso-8859-15') Traceback (most recent call last): File "", line 1, in ? AttributeError: 'module' object has no attribute 'setdefaultencoding' Que me pierdo? _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From impar en gmx.net Fri Jun 18 13:16:16 2004 From: impar en gmx.net (David Sotelo) Date: Fri, 18 Jun 2004 13:16:16 +0200 Subject: =?iso-8859-1?Q?Transliteraci=F3n_de_s=EDmbolos?= II In-Reply-To: <1087556067.40d2c9e3adaa8@correo.electronico.info> References: <1087556067.40d2c9e3adaa8@correo.electronico.info> Message-ID: <20040618111616.GA11952@bifrost.gotdns.org> On Fri, 18/Jun/2004 12:54 (+0200), notfound en notfound.org wrote: [...] > La cosa es que intento seguir vuestros consejos y no tengo problema para el > locale pero si para el setdefaultencoding. > > >>> import sys > >>> sys.setdefaultencoding('iso-8859-15') > Traceback (most recent call last): > File "", line 1, in ? > AttributeError: 'module' object has no attribute 'setdefaultencoding' > > Que me pierdo? A mí me pasa lo mismo. Mirando un poco veo en el /etc/python2.3/site.py el siguiente fragmento de código: # Remove sys.setdefaultencoding() so that users cannot change the # encoding after initialization. The test for presence is needed when # this module is run as a script, because this code is executed twice. # if hasattr(sys, "setdefaultencoding"): del sys.setdefaultencoding Comentando ese par de líneas debería de ser suficiente. Por cierto, estoy usando el paquete python2.3 (2.3.4-1) de Debian. Saludos. -- David Sotelo / aktinos Never trust a computer you can't throw out a window. -- Steve Wozniak From ch3m4 en ch3m4.org Fri Jun 18 13:19:48 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Fri, 18 Jun 2004 04:19:48 -0700 Subject: =?iso-8859-1?b?VHJhbnNsaXRlcmFjafNuIA==?= =?iso-8859-1?b?ZGVz7W1ib2xvcw==?= II In-Reply-To: <20040618110628.8ADAA3140B2@marti.uji.es> References: <20040618110628.8ADAA3140B2@marti.uji.es> Message-ID: <1087557588.40d2cfd41d4d4@ch3m4.org> Mensaje citado por rosendo : > La verdad que no estoy muy puesto, pero creo que ese método no está > accesible más que en el modulo, site. > Este modulo se encuentra por defecto el directorio Lib de tu distribución. > Dentro de ella encontrarás: > if 0: > # Enable to switch off string to Unicode coercion and implicit > # Unicode to string conversion. > encoding = "undefined" > > if encoding != "ascii": > # On Non-Unicode builds this will raise an AttributeError... > sys.setdefaultencoding(encoding) # Needs Python Unicode build ! > > > Donde puedes ver que puedes poner el encoding que necesites. No, no cambies el 'site.py'. El sitio adecuado es el 'sitecustomize.py'. Si no existe este fichero, basta con crearlo. Si te fijas hacia el final del 'site.py': try: import sitecustomize except ImportError: pass if hasattr(sys, "setdefaultencoding"): del sys.setdefaultencoding Se intenta importar el "sitecustomize.py" y justo después se elimina el método 'sys.setdefaultencoding'. Por alimentar la curiosidad, el módulo sys queda en memoria así, sin el método 'setdefaultencoding', y será así como se utilize por el resto de módulos. La única opción para volver volver a obtener este método es recargando el módulo sys con reload(), pero resulta totalmente inútil cambiar la codificación una vez inicializado el python. From notfound en notfound.org Fri Jun 18 13:35:50 2004 From: notfound en notfound.org (=?iso-8859-1?Q?C=E9sar?= Duque) Date: Fri, 18 Jun 2004 13:35:50 +0200 Subject: =?iso-8859-1?Q?RE:__Transliteraci=F3n__?= =?iso-8859-1?Q?des=EDmbolos?= II In-Reply-To: <1087557588.40d2cfd41d4d4@ch3m4.org> References: <20040618110628.8ADAA3140B2@marti.uji.es> <1087557588.40d2cfd41d4d4@ch3m4.org> Message-ID: <6.0.1.1.2.20040618133038.03433210@mail.notfound.org> Hola otra vez, Eso he hecho, he metido el sitecustomize.py en /usr/lib/python2.3 >>> import sys >>> print sys.getdefaultencoding() iso-8859-1 La cosa es que al leer del archivo CSV que os comentaba pues parece que nanay. Tiene cosas como Tuber¡a por Tubería etc. Me parece que tendre que ponerme también con el codecs que citabais en el otro thread. Gracias a todos At 13:19 18/06/2004, you wrote: >Mensaje citado por rosendo : > > > La verdad que no estoy muy puesto, pero creo que ese método no está > > accesible más que en el modulo, site. > > Este modulo se encuentra por defecto el directorio Lib de tu distribución. > > Dentro de ella encontrarás: > > if 0: > > # Enable to switch off string to Unicode coercion and implicit > > # Unicode to string conversion. > > encoding = "undefined" > > > > if encoding != "ascii": > > # On Non-Unicode builds this will raise an AttributeError... > > sys.setdefaultencoding(encoding) # Needs Python Unicode build ! > > > > > > Donde puedes ver que puedes poner el encoding que necesites. > >No, no cambies el 'site.py'. El sitio adecuado es el 'sitecustomize.py'. Si no >existe este fichero, basta con crearlo. Si te fijas hacia el final del >'site.py': > >try: > import sitecustomize >except ImportError: > pass > >if hasattr(sys, "setdefaultencoding"): > del sys.setdefaultencoding > > >Se intenta importar el "sitecustomize.py" y justo después se elimina el método >'sys.setdefaultencoding'. > >Por alimentar la curiosidad, el módulo sys queda en memoria así, sin el método >'setdefaultencoding', y será así como se utilize por el resto de módulos. La >única opción para volver volver a obtener este método es recargando el módulo >sys con reload(), pero resulta totalmente inútil cambiar la codificación una >vez inicializado el python. _________________________ # César Duque - error404 # notfound [always at] notfound.org From py en ch3m4.org Fri Jun 18 13:35:50 2004 From: py en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Fri, 18 Jun 2004 04:35:50 -0700 Subject: Sintaxis =?iso-8859-1?b?cHLhY3RpY2Eu?= In-Reply-To: <002401c454a8$8b1f26d0$0302a8c0@orgmf.com.ar> References: <002401c454a8$8b1f26d0$0302a8c0@orgmf.com.ar> Message-ID: <1087558550.40d2d3960754e@ch3m4.org> Mensaje citado por Hernan Martínez Foffani : > Un wrapper no es una composicion. No entiendo porqué no se puede ver así (puede que porque sea físico, y no matemático). > > class Pepe(object): > > class square(staticmethod): > > def __call__(x): > > return x*x > > > > > > Se estaría usando Pepe.square como un objeto en lugar de una clase, > > pero podría dar más juego para hacer otras muchas cosas (añadir > > atributos como "decoradores", currificar funciones, programación por > > contrato, etc) > > Ugh. Ahora el que no entiende soy yo... ;-) Ya dije que lo tenía que pensar más (ahora tengo el cerebro muy vago). Lo que quiero decir es que deseo ver una función como un objeto más, como instancia de un tipo de datos, y emplear los mecanismos estándar de herencia y sobrecarga para crear cualquier tipo de método, implementando a su vez una programación funcional completa. > No importa... ¡Que lo pases bonito! Gracias, lo intentaré ;-) From ch3m4 en ch3m4.org Fri Jun 18 13:54:13 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Fri, 18 Jun 2004 04:54:13 -0700 Subject: =?iso-8859-1?b?VHJhbnNsaXRlcmFjafNuICA=?= =?iso-8859-1?b?ZGVz7W1ib2xvcw==?= II In-Reply-To: <6.0.1.1.2.20040618133038.03433210@mail.notfound.org> References: <20040618110628.8ADAA3140B2@marti.uji.es> <1087557588.40d2cfd41d4d4@ch3m4.org> <6.0.1.1.2.20040618133038.03433210@mail.notfound.org> Message-ID: <1087559653.40d2d7e5e30f5@ch3m4.org> Mensaje citado por César Duque : > Hola otra vez, > Eso he hecho, he metido el sitecustomize.py en /usr/lib/python2.3 > >>> import sys > >>> print sys.getdefaultencoding() > iso-8859-1 > > La cosa es que al leer del archivo CSV que os comentaba pues parece que > nanay. > Tiene cosas como Tuber¡a por Tubería etc. Me parece que tendre que ponerme > también con el codecs que citabais en el otro thread. Creo que aquí hay un problema de concepto. El "defaultencoding" es la codificación que se asumirá por defecto cuando codifiques a unicode. Ésto nada tiene que ver, en un principio, con el cómo codifica los caracteres tu sistema, que es quién se encarga de la entrada y la salida. Si el archivo está codificado en iso-8859-1, tu salida por pantalla debe utilizar también esa codificación para que lo puedas ver correctamente. En caso contrario, necesitarás utilizar una conversión, estando unicode como la codificación universal. From notfound en notfound.org Fri Jun 18 14:01:26 2004 From: notfound en notfound.org (=?iso-8859-1?Q?C=E9sar?= Duque) Date: Fri, 18 Jun 2004 14:01:26 +0200 Subject: =?iso-8859-1?Q?RE:__Transliteraci=F3n___?= =?iso-8859-1?Q?des=EDmbolos?= II In-Reply-To: <1087559653.40d2d7e5e30f5@ch3m4.org> References: <20040618110628.8ADAA3140B2@marti.uji.es> <1087557588.40d2cfd41d4d4@ch3m4.org> <6.0.1.1.2.20040618133038.03433210@mail.notfound.org> <1087559653.40d2d7e5e30f5@ch3m4.org> Message-ID: <6.0.1.1.2.20040618135602.033c7a10@mail.notfound.org> At 13:54 18/06/2004, you wrote: >Mensaje citado por César Duque : > > > Hola otra vez, > > Eso he hecho, he metido el sitecustomize.py en /usr/lib/python2.3 > > >>> import sys > > >>> print sys.getdefaultencoding() > > iso-8859-1 > > > > La cosa es que al leer del archivo CSV que os comentaba pues parece que > > nanay. > > Tiene cosas como Tuber¡a por Tubería etc. Me parece que tendre que ponerme > > también con el codecs que citabais en el otro thread. > >Creo que aquí hay un problema de concepto. Yo tambien > El "defaultencoding" es la codificación que se asumirá por defecto > cuando codifiques a unicode. Ésto nada >tiene que ver, en un principio, con el cómo codifica los caracteres tu >sistema, >que es quién se encarga de la entrada y la salida. > >Si el archivo está codificado en iso-8859-1, tu salida por pantalla debe >utilizar también esa codificación para que lo puedas ver correctamente. En >caso >contrario, necesitarás utilizar una conversión, estando unicode como la >codificación universal. Si, la cosa es que el CSV lo recibo de otra sitio, otra máquina, de otra empresa y con firmas de por medio para asegurar confidencialidad... burocracia Creo que lo más facil es decirles que me lo pasen su csv en alguna codificación que ponga ñ's y acentos y habré solucionado, pero no se si estarán por la labor, de otro modo... 1 2 3 a convertir esta vez. Gracias por la aclaración. _________________________ # César Duque - error404 # notfound [always at] notfound.org From dvilla en gmx.net Fri Jun 18 16:34:01 2004 From: dvilla en gmx.net (dvilla) Date: Fri, 18 Jun 2004 16:34:01 +0200 Subject: Sintaxis =?ISO-8859-1?Q?pr=E1ctica=2E?= In-Reply-To: <1087558550.40d2d3960754e@ch3m4.org> References: <002401c454a8$8b1f26d0$0302a8c0@orgmf.com.ar> <1087558550.40d2d3960754e@ch3m4.org> Message-ID: <1087569241.8283.5.camel@amy> El vie, 18-06-2004 a las 13:35, Chema Cortés escribió: > Ya dije que lo tenía que pensar más (ahora tengo el cerebro muy vago). Lo que > quiero decir es que deseo ver una función como un objeto más, como instancia de > un tipo de datos, y emplear los mecanismos estándar de herencia y sobrecarga > para crear cualquier tipo de método, implementando a su vez una programación > funcional completa. Me parece un concepto muy interesante, aunque el mecanismo de herencia para funciones podría resultar algo confuso; al menos si se hace en los mismos términos que para clases. Felices vacaciones, a los que podáis. From pan_python en yahoo.com.ar Sat Jun 19 07:18:24 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Sat, 19 Jun 2004 02:18:24 -0300 Subject: Correo subject y adjunto In-Reply-To: <40D178F8.6060605@sicem.biz> References: <40D178F8.6060605@sicem.biz> Message-ID: <40D3CCA0.60304@yahoo.com.ar> Hola, Y para mandar mails sin attaches? asi nomas de texto plano? Es para enviar un informe semanal de registros que se sacan de una bd, tengo que leer los registros armar la info y mandarla por mail de texto plano a un destinatario.... Tenes info sobre esto? Ariel Ernesto Revilla wrote: > Hola, > > no sé exáctamente qué significa 'usando servidor.sendmail' pero, te > mando una receta para enviar correos con anexos general que usa la > libería de Python 2.2 smtplib. > > Receta para mandar correos con anexos: > http://www.sicem.biz/personal/erny/python/recetaEnviarMailConAttachments > > > Saludos, erny > > > javier.quintana en telsur.net escribió: > >> Agradeceré me indiquen un ejemplo de como incluir el subject y adjunar >> archivos paa enviar por correo desde Python usando servidor.sendmail >> >> Gracias >> >> >> Javier Quintana W. >> I >> >> _______________________________________________ >> 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-e > s From pan_python en yahoo.com.ar Sat Jun 19 07:23:28 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Sat, 19 Jun 2004 02:23:28 -0300 Subject: restar fechas... Message-ID: <40D3CDD0.70303@yahoo.com.ar> Hola!!! Necesito restar a la fecha actual 7 dias o una semana como quieran :) Pero no se como hacer para obtener la fecha actual del sistema ni menos restar los 7 dias... Me pueden decir por donde puedo buscar esa info? alguna direccion de alguna pagina web nomas que de ahi sigo yo solo haciendo las pruebas... 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 Sun Jun 20 11:40:09 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 20 Jun 2004 11:40:09 +0200 Subject: restar fechas... In-Reply-To: <40D3CDD0.70303@yahoo.com.ar> References: <40D3CDD0.70303@yahoo.com.ar> Message-ID: <1087724409.2408.1.camel@renata.macondo.pri> import datetime print datetime.date.today() print datetime.date.today()-datetime.timedelta(days=7) Todo esto viene en la docu oficial, pero no sé si estará en castellano en alguna parte. El sáb, 19-06-2004 a las 07:23, Ariel Nardelli escribió: > Hola!!! > > Necesito restar a la fecha actual 7 dias o una semana como quieran :) > > Pero no se como hacer para obtener la fecha actual del sistema ni menos > restar los 7 dias... > > Me pueden decir por donde puedo buscar esa info? alguna direccion de > alguna pagina web nomas que de ahi sigo yo solo haciendo las pruebas... > > Gracias > > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sun Jun 20 11:42:05 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Sun, 20 Jun 2004 11:42:05 +0200 Subject: Correo subject y adjunto In-Reply-To: <40D3CCA0.60304@yahoo.com.ar> References: <40D178F8.6060605@sicem.biz> <40D3CCA0.60304@yahoo.com.ar> Message-ID: <1087724524.2408.3.camel@renata.macondo.pri> http://docs.python.org/lib/SMTP-example.html El ejemplo se lía un poco, porque también incluye la parte interactiva de pedir el mensaje al usuario, pero creo que se entiende ferpectamente. El sáb, 19-06-2004 a las 07:18, Ariel Nardelli escribió: > Hola, > > Y para mandar mails sin attaches? asi nomas de texto plano? > > Es para enviar un informe semanal de registros que se sacan de una bd, > tengo que leer los registros armar la info y mandarla por mail de texto > plano a un destinatario.... > > Tenes info sobre esto? > > Ariel > Ernesto Revilla wrote: > > > Hola, > > > > no sé exáctamente qué significa 'usando servidor.sendmail' pero, te > > mando una receta para enviar correos con anexos general que usa la > > libería de Python 2.2 smtplib. > > > > Receta para mandar correos con anexos: > > http://www.sicem.biz/personal/erny/python/recetaEnviarMailConAttachments > > > > > > Saludos, erny > > > > > > javier.quintana en telsur.net escribió: > > > >> Agradeceré me indiquen un ejemplo de como incluir el subject y adjunar > >> archivos paa enviar por correo desde Python usando servidor.sendmail > >> > >> Gracias > >> > >> > >> Javier Quintana W. > >> I > >> > >> _______________________________________________ > >> 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-e > > s > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From carlos.tabasco en uca.es Mon Jun 21 13:48:34 2004 From: carlos.tabasco en uca.es (Carlos Tabasco) Date: Mon, 21 Jun 2004 13:48:34 +0200 Subject: Algo similar a os.system Message-ID: <40D6CB12.7010900@uca.es> ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From carlos.tabasco en uca.es Mon Jun 21 13:58:12 2004 From: carlos.tabasco en uca.es (Carlos Tabasco) Date: Mon, 21 Jun 2004 13:58:12 +0200 Subject: Algo similar a os.system Message-ID: <40D6CD54.20809@uca.es> llamada= '/home/carlos/python/apliacion parametro1 ' + str(parametro2) salida=os.popen(llamada).readlines() return (salida[0])[0:-1] From ctabascog en ono.com Mon Jun 21 13:44:53 2004 From: ctabascog en ono.com (Carlos Tabasco =?ISO-8859-1?Q?Guzm=E1n?=) Date: Mon, 21 Jun 2004 13:44:53 +0200 Subject: enviar fichero por post Message-ID: <1087818292.11016.6.camel@pcsai05> Estoy intentado rehacer el codigo de una aplicación en PERL : my $ua = LWP::UserAgent->new; my $request = POST "$host_remoto/destino", Content_Type => 'form-data', Content => [ ACTION => $parametros{'ACCION'}, OPTION => $parametros{'OPCION'}, TIMESTAMP => $parametros{'TIMESTAMP'}, AUTH => $parametros{'AUTH'}, FILENAME => [$parametros{'ARCHIVO'}]]; $var= [$parametros{'ARCHIVO'}]; print $var; my $response = $ua->request($request); my $content = $response->content (); Simplemente se envia por post varios valores y se inlcuye un fichero en xml , en perl mediante el doble corchete se manda el archivo y no encuentro ninguna forma de hacerlo con python correctamente, el problema es que no funciona si meto el fichero en una variable y lo envio, estoy apunto de la desesperación no puedo avanzar en mi programa :P. Esto es mas o menos lo que he ido haciendo en PYTHON : parametros = urllib.urlencode({'ACTION':accion,'OPTION':opcion,'TIMESTAMP':tiempo, 'AUTH':clave,'FILENAME':{"filename": "alumno.xml"}}) cabeceras={"Content-type":"form-data", "Accept":"text/plain", "Accept":"text/html"} print parametros conn = httplib.HTTPConnection(host) conn.request("POST", "destino",parametros, cabeceras) response = conn.getresponse() ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Mon Jun 21 14:23:44 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 21 Jun 2004 14:23:44 +0200 Subject: Correo subject y adjunto In-Reply-To: <40D3CCA0.60304@yahoo.com.ar> References: <40D178F8.6060605@sicem.biz> <40D3CCA0.60304@yahoo.com.ar> Message-ID: <40D6D350.8040709@sicem.biz> Para mandar mails sin attach, simplemente dejar en blanco el parámetros de los anexos. El correo se manda en principio como texto plano. Erny Ariel Nardelli escribió: > Hola, > > Y para mandar mails sin attaches? asi nomas de texto plano? > > Es para enviar un informe semanal de registros que se sacan de una bd, > tengo que leer los registros armar la info y mandarla por mail de texto > plano a un destinatario.... > > Tenes info sobre esto? > > Ariel > Ernesto Revilla wrote: > >> Hola, >> >> no sé exáctamente qué significa 'usando servidor.sendmail' pero, te >> mando una receta para enviar correos con anexos general que usa la >> libería de Python 2.2 smtplib. >> >> Receta para mandar correos con anexos: >> http://www.sicem.biz/personal/erny/python/recetaEnviarMailConAttachments >> >> >> Saludos, erny >> >> >> javier.quintana en telsur.net escribió: >> >>> Agradeceré me indiquen un ejemplo de como incluir el subject y adjunar >>> archivos paa enviar por correo desde Python usando servidor.sendmail >>> >>> Gracias >>> >>> >>> Javier Quintana W. >>> I >>> >>> _______________________________________________ >>> 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-e >> s > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From erny en sicem.biz Mon Jun 21 14:45:42 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 21 Jun 2004 14:45:42 +0200 Subject: enviar fichero por post In-Reply-To: <1087818292.11016.6.camel@pcsai05> References: <1087818292.11016.6.camel@pcsai05> Message-ID: <40D6D876.6000600@sicem.biz> Acabo de redactar una receta[1] con código sacado de algún proyecto, pero me parece mucho más interesante que uses ClientForm[2], un paquete muy completo y mucho más fácil de usar. En mi receta, mira lo que devuelve HTTPopen que devuelve una tupla con los resultados de la solicitud: (response.status, response.reason, data, responseheaders) [1] http://www.sicem.biz/personal/erny/python/recetaMandarPostAPaginaWeb [2] http://wwwsearch.sourceforge.net Respecto a tu mensaje, creo que las cabeceras no están bien, deberían ser algo como: Content-type: multipart/form-data; boundary=boundary1 y la parte para mandar un archivo es algo como: --boundary1 Content-Disposition: form-data; name=Nombrearchivo.xml Content-Type: text/xml Aquí viene el archivo.... ..... --boundary1-- Erny Carlos Tabasco Guzmán escribió: >Estoy intentado rehacer el codigo de una aplicación en PERL : > > > > my $ua = LWP::UserAgent->new; > my $request = POST "$host_remoto/destino", > Content_Type => 'form-data', > Content => [ ACTION => $parametros{'ACCION'}, > OPTION => $parametros{'OPCION'}, > TIMESTAMP => $parametros{'TIMESTAMP'}, > AUTH => $parametros{'AUTH'}, > FILENAME => [$parametros{'ARCHIVO'}]]; > > > $var= [$parametros{'ARCHIVO'}]; > print $var; > my $response = $ua->request($request); > my $content = $response->content (); > >Simplemente se envia por post varios valores y se inlcuye un fichero en >xml , en perl mediante el doble corchete se manda el archivo y no >encuentro ninguna forma de hacerlo con python correctamente, el problema >es que no funciona si meto el fichero en una variable y lo envio, estoy >apunto de la desesperación no puedo avanzar en mi programa :P. >Esto es mas o menos lo que he ido haciendo en PYTHON : > >parametros = >urllib.urlencode({'ACTION':accion,'OPTION':opcion,'TIMESTAMP':tiempo, > 'AUTH':clave,'FILENAME':{"filename": "alumno.xml"}}) > > cabeceras={"Content-type":"form-data", > "Accept":"text/plain", > "Accept":"text/html"} > > > print parametros > conn = httplib.HTTPConnection(host) > conn.request("POST", "destino",parametros, cabeceras) > > response = conn.getresponse() > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From lneculma en udec.cl Mon Jun 21 20:43:21 2004 From: lneculma en udec.cl (Luis Neculman Lincacura) Date: Mon, 21 Jun 2004 14:43:21 -0400 (CLT) Subject: =?iso-8859-1?q?Informaci=F3n=2E?= Message-ID: <64358.200.112.105.107.1087843401.squirrel@webmail.udec.cl> Hola a todos: Gracias por permitirme se rparticipe de esta lista, soy estudiante y actualmente me estoy iniciando en la progracion, con lenguaje Phyton, les agradecería si me indican de algún tutorial o metodo que me permita adentrarme con machor facilidad en es nuevo lenguaje para mi. Antemano muchas gracias po9r su cooperación Luis From cescd en yahoo.com.mx Tue Jun 22 04:53:52 2004 From: cescd en yahoo.com.mx (=?iso-8859-1?q?Cesar=20Cardenas=20Desales?=) Date: Mon, 21 Jun 2004 21:53:52 -0500 (CDT) Subject: Información. In-Reply-To: <64358.200.112.105.107.1087843401.squirrel@webmail.udec.cl> References: <64358.200.112.105.107.1087843401.squirrel@webmail.udec.cl> Message-ID: <20040622025352.64825.qmail@web50410.mail.yahoo.com> Learning python, "Él libro" para aprender Python http://yhs.superuser.co.kr/data/linux/LearningPython.pdf El tutorial que está en la propia página de python está perfecto http://docs.python.org/tut/tut.html http://www.freenetpages.co.uk/hp/alan.gauld/spanish/ http://users.servicios.retecal.es/tjavier/python/Un_poco_de_Python-2.html --- Luis Neculman Lincacura escribió: > > Hola a todos: > > Gracias por permitirme se rparticipe de esta > lista, soy estudiante y > actualmente me estoy iniciando en la progracion, con > lenguaje Phyton, > les agradecería si me indican de algún tutorial o > metodo que me permita > adentrarme con machor facilidad en es nuevo lenguaje > para mi. > > Antemano muchas gracias po9r su cooperación > > Luis > _______________________________________________ > 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 moralesp en in.tum.de Tue Jun 22 09:37:06 2004 From: moralesp en in.tum.de (Javier Morales Puerta) Date: Tue, 22 Jun 2004 09:37:06 +0200 Subject: InformaciXn. Message-ID: <40D7E1A2.1050304@in.tum.de> Y por si eso es poco y el inglés se te atraganta un poco, tienes el manual de python traducido al castellano en varios sitios de la web. Por ejemplo en: http://programacion.com/tutorial/python Así, que todo ahora depende de tí :) From vitojph en gmx.net Tue Jun 22 15:07:37 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 22 Jun 2004 15:07:37 +0200 Subject: Usos de if-else o try-except. Message-ID: <200406221507.39186.vitojph@gmx.net> ¡Hola lista! Sigo con mis devaneos pythonianos. Vuelvo a tener un par de dudas por seguir pensando en Perl (estoy «traduciendo» un programa de un lenguaje a otro). Os cuento: necesito evaluar si existen o no determinadas claves en un diccionario y para eso estaba usando una secuencia de varios if-elif-else. El problema es que cuando no existe una de las claves salta una excepción y el programa casca. Leyendo varios tutoriales he creído entender que la única manera de hacerlo es usando try-except para capturar las excepciones, cosa en la que no estoy muy ducho todavía. ¿Es eso cierto? Resumiento. Algo así casca: if dicc['clave1'] and not dicc['clave2']: HAZ ALGO elif ... # sigo con la siguiente evaluación ¿Debería hacerlo así? try: dicc['clave1'] try: dicc['clave2'] except KeyError: HAZ ALGO except KeyError: # no hagas nada pass try: # sigo con la siguiente evaluación ... Gracias de antemano y saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jcanto en hispasec.com Tue Jun 22 15:19:24 2004 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 22 Jun 2004 15:19:24 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <200406221507.39186.vitojph@gmx.net> References: <200406221507.39186.vitojph@gmx.net> Message-ID: <40D831DC.3020308@hispasec.com> Víctor Peinado wrote: >¡Hola lista! > >cuento: necesito evaluar si existen o no determinadas claves en un > > [...] Para ver que claves estan o no estan en el diccionario, algo asi rapidito seria algo asi: claves = [lista con las claves a comprobar] estan = [] no_estan = [] for elemento in claves: if elemento in dicc.keys(): estan.append(elemento) else: no_estan.append(elemento) asi tendrias un par de listas con las claves que estan y las que no, para luego obrar en consecuencia... Un saludo, JC From vitojph en gmx.net Tue Jun 22 15:26:38 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 22 Jun 2004 15:26:38 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <40D831DC.3020308@hispasec.com> References: <200406221507.39186.vitojph@gmx.net> <40D831DC.3020308@hispasec.com> Message-ID: <200406221526.42051.vitojph@gmx.net> El Martes, 22 de Junio de 2004 15:19, maese Julio Canto tuvo la osadía de decir: | Para ver que claves estan o no estan en el diccionario, algo asi | rapidito seria algo asi: [snip] | asi tendrias un par de listas con las claves que estan y las que no, | para luego obrar en consecuencia... Mmm, creo que algo así no me sirve. Lo que estoy haciendo es una especie de analizador sintáctico basado en un autómata de estados finitos y necesito evaluar que se den ciertas condiciones en cada estado, no comprobar todo de golpe. Gracias de todos modos ;-) -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ 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 Tue Jun 22 15:33:04 2004 From: hernan en orgmf.com.ar (=?iso-8859-15?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 22 Jun 2004 15:33:04 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <200406221507.39186.vitojph@gmx.net> References: <200406221507.39186.vitojph@gmx.net> Message-ID: > Sigo con mis devaneos pythonianos. Vuelvo a tener un par de dudas por > seguir pensando en Perl (estoy «traduciendo» un programa de un > lenguaje a otro). Os cuento: necesito evaluar si existen o no > determinadas claves en un diccionario y para eso estaba usando una > secuencia de varios if-elif-else. El problema es que cuando no existe > una de las claves salta una excepción y el programa casca. > > Leyendo varios tutoriales he creído entender que la única manera de > hacerlo es usando try-except para capturar las excepciones, cosa en > la que no estoy muy ducho todavía. ¿Es eso cierto? Para capturar excepciones sí hay que usar try-except. Pero para preguntar si una clave existe en un diccionario tambien tienes el metodo has_key(..) En tu ejemplo sería if dicc.has_key('clave1'): ..etc.. Usar el if-else o el try-except puede ser una cuestion de estilo de programación. Algo como "pido-permiso-y-luego-avanzo" y "avanzo-y-luego-pido-disculpas". -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From vitojph en gmx.net Tue Jun 22 15:42:50 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 22 Jun 2004 15:42:50 +0200 Subject: Usos de if-else o try-except. In-Reply-To: References: Message-ID: <200406221542.52249.vitojph@gmx.net> El Martes, 22 de Junio de 2004 15:33, maese Hernán Martínez Foffani tuvo la osadía de decir: | Pero para preguntar si una clave existe en un diccionario tambien | tienes el metodo has_key(..) Pues tienes razón y yo no había caído. Muchas gracias, éste es el comportamiento que estaba buscando. Peaso de RTFM que me acabo de comer ;-) | Usar el if-else o el try-except puede ser una cuestion de estilo de | programación. Sí, sí, eso lo tengo claro. En lo que estaba confundido era en dar con una forma de evaluar si existe una clave en un diccionario sin recibir una excepción. Y el método has_key() es lo que necesitaba. Saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gari en eibar.org Tue Jun 22 15:55:27 2004 From: gari en eibar.org (Gari Araolaza) Date: Tue, 22 Jun 2004 15:55:27 +0200 Subject: Usos de if-else o try-except. In-Reply-To: References: Message-ID: <40D83A4F.20703@eibar.org> Hernán Martínez Foffani(e)k dio: >Para capturar excepciones sí hay que usar try-except. >Pero para preguntar si una clave existe en un diccionario tambien >tienes el metodo has_key(..) >En tu ejemplo sería > if dicc.has_key('clave1'): > ..etc.. > Para mi suele ser mucho más útil el método get(), al que se le puede añadir un valor por defecto para el caso en el que esa clave no esté definida en el diccionario: valor = dicc.get('clave1', valor_por_defecto) Saludos Gari ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From gari en eibar.org Tue Jun 22 15:56:04 2004 From: gari en eibar.org (Gari Araolaza) Date: Tue, 22 Jun 2004 15:56:04 +0200 Subject: Usos de if-else o try-except. In-Reply-To: References: Message-ID: <40D83A74.6070204@eibar.org> Hernán Martínez Foffani(e)k dio: >Para capturar excepciones sí hay que usar try-except. >Pero para preguntar si una clave existe en un diccionario tambien >tienes el metodo has_key(..) >En tu ejemplo sería > if dicc.has_key('clave1'): > ..etc.. > Para mi suele ser mucho más útil el método get(), al que se le puede añadir un valor por defecto para el caso en el que esa clave no esté definida en el diccionario: valor = dicc.get('clave1', valor_por_defecto) Saludos Gari ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pepe en diselpro.com Tue Jun 22 17:21:53 2004 From: pepe en diselpro.com (Pepe Aracil) Date: Tue, 22 Jun 2004 17:21:53 +0200 Subject: Usos de if-else o try-except. In-Reply-To: References: Message-ID: <40D84E91.4000301@diselpro.com> No se que será mas pythoniano si el método has_key o el operador in. ¿Alguna sugerencia al respecto? ¿Es cuestión de gustos? if "clavel" in dicc : ..... Saludos. Hernán Martínez Foffani escribió: >>Sigo con mis devaneos pythonianos. Vuelvo a tener un par de dudas por >>seguir pensando en Perl (estoy «traduciendo» un programa de un >>lenguaje a otro). Os cuento: necesito evaluar si existen o no >>determinadas claves en un diccionario y para eso estaba usando una >>secuencia de varios if-elif-else. El problema es que cuando no existe >>una de las claves salta una excepción y el programa casca. >> >>Leyendo varios tutoriales he creído entender que la única manera de >>hacerlo es usando try-except para capturar las excepciones, cosa en >>la que no estoy muy ducho todavía. ¿Es eso cierto? >> >> > >Para capturar excepciones sí hay que usar try-except. >Pero para preguntar si una clave existe en un diccionario tambien >tienes el metodo has_key(..) >En tu ejemplo sería > if dicc.has_key('clave1'): > ..etc.. > >Usar el if-else o el try-except puede ser una cuestion de estilo de >programación. Algo como "pido-permiso-y-luego-avanzo" y >"avanzo-y-luego-pido-disculpas". > >-H. > > > >------------------------------------------------------------------------ > >_______________________________________________ >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 vitojph en gmx.net Tue Jun 22 17:46:22 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 22 Jun 2004 17:46:22 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <40D84E91.4000301@diselpro.com> References: <40D84E91.4000301@diselpro.com> Message-ID: <200406221746.25832.vitojph@gmx.net> El Martes, 22 de Junio de 2004 17:21, maese Pepe Aracil tuvo la osadía de decir: | No se que será mas pythoniano si el método has_key o el operador in. | ¿Alguna sugerencia al respecto? ¿Es cuestión de gustos? | | if "clavel" in dicc : | ..... El has_key() parece algo javero, ¿verdad? ¿Algún gurú se anima a sacar estadísticas de eficiencia entre una forma de hacerlo y otra? XD Saludos. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From xavi en code4net.com Tue Jun 22 18:52:42 2004 From: xavi en code4net.com (Xavi Beumala) Date: Tue, 22 Jun 2004 18:52:42 +0200 Subject: wxMozilla Message-ID: <000001c45879$571f9070$0300a8c0@smith> Hola a todos! Estoy empezando a hacer cosas con Python y la verdad es que me está gustando mucho. He instalado el wxMozilla para embeder el navegador dentro de una aplicación pero no consigo que funcione ni la aplicación de ejemplo :( El error que me da es el siguiente: Traceback (most recent call last): File "C:\ARCHIV~1\Python23\Lib\site-packages\pythonwin\pywin\framework\script utils.py", line 310, in RunScript exec codeObject in __main__.__dict__ File "C:\wxMozilla\demo\wxMozilla.py", line 4, in ? from wxPython.mozilla import * File "C:\ARCHIV~1\Python23\lib\site-packages\wxPython\mozilla.py", line 2, in ? import mozillac ImportError: DLL load failed: No se puede encontrar el módulo especificado. He hecho una búsqueda para ver si tenía el módulo mozillac y en la carpeta C:\ARCHIV~1\Python23\lib\site-packages\wxPython\ hay un archivo mozillac.pyd Alguien me puede dar una pista sobre lo que puede estar pasando? Estoy probándolo desde PythonWin con la versión 2.3 de Python y la 0.5.3 de wxMozilla Muchísimas gracias de antemano! Xavi Beumala http://www.5dms.com http://www.code4net.com From capis2001418027 en netscape.net Tue Jun 22 20:21:39 2004 From: capis2001418027 en netscape.net (Jesus Capistran) Date: Tue, 22 Jun 2004 13:21:39 -0500 Subject: =?ISO-8859-1?Q?Informaci=F3n=2E?= In-Reply-To: <64358.200.112.105.107.1087843401.squirrel@webmail.udec.cl> References: <64358.200.112.105.107.1087843401.squirrel@webmail.udec.cl> Message-ID: <40D878B3.1000309@netscape.net> Hola , a todos los que empiezan como yo. al igual que tu LUIS yo estoy comenzando y Python creo que es un buen comienzo. de echo en la pagina de pyhton.org enconraras los documentos. Y por cierto si hay en Español. Esta es una lista de lo que encontrado. http://pyspanishdoc.sourceforge.net/ Este es la docuementacion en español. http://rinconprog.metropoliglobal.com/CursosProg/LengProg/Python/index.php?cap=1 Python instantaneo. Muy buena referencia. http://es.diveintopython.org/toc.html Inmercion en Python. Saludos espero aver ayudado en algo. Jesus Capistran From pan_python en yahoo.com.ar Tue Jun 22 20:25:45 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Tue, 22 Jun 2004 15:25:45 -0300 Subject: restar fechas... In-Reply-To: <1087724409.2408.1.camel@renata.macondo.pri> References: <40D3CDD0.70303@yahoo.com.ar> <1087724409.2408.1.camel@renata.macondo.pri> Message-ID: <40D879A9.8000008@yahoo.com.ar> Cha gracias don, ahora estoy buscando mas info para hacer otras cosas como convertir de segundos a horas, pero ya mas o menos me voy encaminando con este dato que me diste... Saludos, Ariel Marcos Sánchez Provencio wrote: >import datetime > >print datetime.date.today() >print datetime.date.today()-datetime.timedelta(days=7) > >Todo esto viene en la docu oficial, pero no sé si estará en castellano >en alguna parte. > >El sáb, 19-06-2004 a las 07:23, Ariel Nardelli escribió: > > >>Hola!!! >> >>Necesito restar a la fecha actual 7 dias o una semana como quieran :) >> >>Pero no se como hacer para obtener la fecha actual del sistema ni menos >>restar los 7 dias... >> >>Me pueden decir por donde puedo buscar esa info? alguna direccion de >>alguna pagina web nomas que de ahi sigo yo solo haciendo las pruebas... >> >>Gracias >> >> >>______________________________________________________________________ >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pan_python en yahoo.com.ar Tue Jun 22 20:26:21 2004 From: pan_python en yahoo.com.ar (Ariel Nardelli) Date: Tue, 22 Jun 2004 15:26:21 -0300 Subject: Correo subject y adjunto In-Reply-To: <1087724524.2408.3.camel@renata.macondo.pri> References: <40D178F8.6060605@sicem.biz> <40D3CCA0.60304@yahoo.com.ar> <1087724524.2408.3.camel@renata.macondo.pri> Message-ID: <40D879CD.8080602@yahoo.com.ar> Gracias por la info Marcos... Ahora me pongo a ver que puedo lograr con esto.. Ariel Marcos Sánchez Provencio wrote: >http://docs.python.org/lib/SMTP-example.html > >El ejemplo se lía un poco, porque también incluye la parte interactiva >de pedir el mensaje al usuario, pero creo que se entiende ferpectamente. > >El sáb, 19-06-2004 a las 07:18, Ariel Nardelli escribió: > > >>Hola, >> >>Y para mandar mails sin attaches? asi nomas de texto plano? >> >>Es para enviar un informe semanal de registros que se sacan de una bd, >>tengo que leer los registros armar la info y mandarla por mail de texto >>plano a un destinatario.... >> >>Tenes info sobre esto? >> >>Ariel >>Ernesto Revilla wrote: >> >> >> >>>Hola, >>> >>>no sé exáctamente qué significa 'usando servidor.sendmail' pero, te >>>mando una receta para enviar correos con anexos general que usa la >>>libería de Python 2.2 smtplib. >>> >>>Receta para mandar correos con anexos: >>>http://www.sicem.biz/personal/erny/python/recetaEnviarMailConAttachments >>> >>> >>>Saludos, erny >>> >>> >>>javier.quintana en telsur.net escribió: >>> >>> >>> >>>>Agradeceré me indiquen un ejemplo de como incluir el subject y adjunar >>>>archivos paa enviar por correo desde Python usando servidor.sendmail >>>> >>>>Gracias >>>> >>>> >>>>Javier Quintana W. >>>>I >>>> >>>>_______________________________________________ >>>>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-e >>>s >>> >>> >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Tue Jun 22 21:21:50 2004 From: hernan en orgmf.com.ar (=?ISO-8859-15?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Tue, 22 Jun 2004 21:21:50 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <200406221746.25832.vitojph@gmx.net> References: <200406221746.25832.vitojph@gmx.net> Message-ID: >> No se que será mas pythoniano si el método has_key o el operador in. >> ¿Alguna sugerencia al respecto? ¿Es cuestión de gustos? >> >> if "clavel" in dicc : >> ..... > > El has_key() parece algo javero, ¿verdad? ¿Algún gurú se anima a sacar > estadísticas de eficiencia entre una forma de hacerlo y otra? XD ¿Por qué "javero"? "has_key" viene con los dict de nacimiento (en CVS desde 1993), "key in dict" aparecio por el 2001. En cuanto a eficiencia dudo que difieran mucho, pero aqui lo unico que cuenta es el resultado de la medicion. Quizás "key in dict" sea mas pitonico tomando como criterio lo de "seudocodigo ejectuable"... -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From victor en lsi.uned.es Tue Jun 22 15:06:54 2004 From: victor en lsi.uned.es (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Tue, 22 Jun 2004 15:06:54 +0200 Subject: Usos de if-else o try-except. Message-ID: <200406221506.56055.victor@lsi.uned.es> ¡Hola lista! Sigo con mis devaneos pythonianos. Vuelvo a tener un par de dudas por seguir pensando en Perl (estoy «traduciendo» un programa de un lenguaje a otro). Os cuento: necesito evaluar si existen o no determinadas claves en un diccionario y para eso estaba usando una secuencia de varios if-elif-else. El problema es que cuando no existe una de las claves salta una excepción y el programa casca. Leyendo varios tutoriales he creído entender que la única manera de hacerlo es usando try-except para capturar las excepciones, cosa en la que no estoy muy ducho todavía. ¿Es eso cierto? Resumiento. Algo así casca: if dicc['clave1'] and not dicc['clave2']: HAZ ALGO elif ... # sigo con la siguiente evaluación ¿Debería hacerlo así? try: dicc['clave1'] try: dicc['clave2'] except KeyError: HAZ ALGO except KeyError: # no hagas nada pass try: # sigo con la siguiente evaluación ... Gracias de antemano y saludos. -- Res publica non dominetur. Víctor Peinado || NLP Group - UNED || http://nlp.uned.es Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Andres.Marzal en lsi.uji.es Tue Jun 22 11:22:02 2004 From: Andres.Marzal en lsi.uji.es (=?ISO-8859-1?Q?Andr=E9s_Marzal?=) Date: Tue, 22 Jun 2004 11:22:02 +0200 Subject: =?ISO-8859-1?Q?Informaci=F3n=2E?= In-Reply-To: <20040622025352.64825.qmail@web50410.mail.yahoo.com> References: <20040622025352.64825.qmail@web50410.mail.yahoo.com> Message-ID: <40D7FA3A.4050504@lsi.uji.es> Cesar Cardenas Desales wrote: >Learning python, "Él libro" para aprender Python >http://yhs.superuser.co.kr/data/linux/LearningPython.pdf > >El tutorial que está en la propia página de python >está perfecto >http://docs.python.org/tut/tut.html > >http://www.freenetpages.co.uk/hp/alan.gauld/spanish/ >http://users.servicios.retecal.es/tjavier/python/Un_poco_de_Python-2.html > > >--- Luis Neculman Lincacura >escribió: > > > >> Hola a todos: >> >> Gracias por permitirme se rparticipe de esta >>lista, soy estudiante y >>actualmente me estoy iniciando en la progracion, con >>lenguaje Phyton, >>les agradecería si me indican de algún tutorial o >>metodo que me permita >>adentrarme con machor facilidad en es nuevo lenguaje >>para mi. >> >> Antemano muchas gracias po9r su cooperación >> >> Luis >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> Si no saber programas, hemos escrito un librillo de iniciación a la programación con Python. Está en http://marmota.act.uji.es/IG04 Espero que lo encuentres útil. Salud. From javi en scouts-es.org Wed Jun 23 11:11:38 2004 From: javi en scouts-es.org (Javier Palanc=?ISO-8859-1?Q?a_C=E1mara?=) Date: Wed, 23 Jun 2004 11:11:38 +0200 (CEST) Subject: Usos de if-else o try-except. In-Reply-To: <200406221506.56055.victor@lsi.uned.es> References: <200406221506.56055.victor@lsi.uned.es> Message-ID: <1087981898.40d9494a6912d@correo.scouts-es.org> yo te recomiendo un: if midict.has_key('mikey'): do_something Para estas dudas help(dict) en el terminal de python :) eso de que sea interactivo es muy util para hacer pruebas rapidas un abrazo Mensaje citado por: Víctor Peinado : > Sigo con mis devaneos pythonianos. Vuelvo a tener un par de dudas por > seguir > pensando en Perl (estoy «traduciendo» un programa de un lenguaje a > otro). Os > cuento: necesito evaluar si existen o no determinadas claves en un > diccionario y para eso estaba usando una secuencia de varios > if-elif-else. El > problema es que cuando no existe una de las claves salta una excepción y > el > programa casca. From o.merchan en bussitel.es Wed Jun 23 12:53:55 2004 From: o.merchan en bussitel.es (Oscar Merchan) Date: Wed, 23 Jun 2004 12:53:55 +0200 Subject: PyGames Message-ID: <20040623125355.4483c160.o.merchan@bussitel.es> Buenas a todos/as. Alguien conoce algun tutorial decente o manual de PyGames, me gustaria pasar un programa que hice hara 6 meses a un entorno grafico, y sobre todo para que utilice el Framebuffer de las maquinas, ya que cuando se ejecuta se hace al final del arranque de una maquina ( en linux ), para que haga unas cosas e interactue con el usuario, por eso queria hacerle un entrono mas agradable cara al usuario. Gracias de antemano. Saludos, Oscar Merchan. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Wed Jun 23 15:33:46 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Wed, 23 Jun 2004 15:33:46 +0200 Subject: toprettyxml() Message-ID: <1087997625.3496.16.camel@localhost.localdomain> Hola, queria preguntaros si alguno de vosotros ha tenido el siguiente problema: Python 2.3.3 (#1, May 7 2004, 10:31:40) [GCC 3.3.3 20040412 (Red Hat Linux 3.3.3-7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> data = """ ... valores ... """ >>> import xml.dom.minidom >>> document = xml.dom.minidom.parseString(data) >>> print document.toprettyxml() valores Como veis, lo que esta devolviendo document.toprettyxml() es diferente a lo que valia data en el sentido que el nodo XML de texto ('valores') contiene mas texto (tabuladores y un \n) del que yo he especificado. Esto quiere decir que la herramienta que va a parsear este XML debe tener esto en cuenta, y si como en mi caso, no se controla esa herramienta tenemos un problema. Mas de uno me dira que pruebe lo siguiente: >>> print document.toprettyxml(indent='', newl='') valores Pero esto no vale, porque estamos perdiendo la poca inteligibilidad que tiene un documento XML. En este ejemplo parece muy bonito pero cuando tenemos un arbol DOM bastante profundo, el hecho de no meter retornos de carro o tabuladores nos genera un trozo de texto muy grande (un chorizon solia decir mi profe de matematicas). Resumiento, el problema es que el toprettyxml() no distingue entre nodos de texto y nodos normales. Alguien sabe como solucionarlo? gracias y un saludo Lorenzo ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From clp en opencanarias.com Wed Jun 23 15:52:23 2004 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Wed, 23 Jun 2004 14:52:23 +0100 Subject: wxMozilla In-Reply-To: <000001c45879$571f9070$0300a8c0@smith> References: <000001c45879$571f9070$0300a8c0@smith> Message-ID: <1087998742.5036.5.camel@IMAGINE> Hola! Intenta ejecutarlo en modo consola. Puede que el pythonwin tenga variables de path diferentes, o necesites modificar las variable de path de pythonwin. Espero haberte sido de utilidad.... Salu2 de clp ;) El mar, 22-06-2004 a las 17:52, Xavi Beumala escribió: > Hola a todos! > Estoy empezando a hacer cosas con Python y la verdad es que me está > gustando mucho. He instalado el wxMozilla para embeder el navegador > dentro de una aplicación pero no consigo que funcione ni la aplicación > de ejemplo :( > > El error que me da es el siguiente: > > Traceback (most recent call last): > File > "C:\ARCHIV~1\Python23\Lib\site-packages\pythonwin\pywin\framework\script > utils.py", line 310, in RunScript > exec codeObject in __main__.__dict__ > File "C:\wxMozilla\demo\wxMozilla.py", line 4, in ? > from wxPython.mozilla import * > File "C:\ARCHIV~1\Python23\lib\site-packages\wxPython\mozilla.py", > line 2, in ? > import mozillac > ImportError: DLL load failed: No se puede encontrar el módulo > especificado. > > > He hecho una búsqueda para ver si tenía el módulo mozillac y en la > carpeta C:\ARCHIV~1\Python23\lib\site-packages\wxPython\ hay un archivo > mozillac.pyd > > Alguien me puede dar una pista sobre lo que puede estar pasando? > > Estoy probándolo desde PythonWin con la versión 2.3 de Python y la 0.5.3 > de wxMozilla > > Muchísimas gracias de antemano! > Xavi Beumala > http://www.5dms.com > http://www.code4net.com > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From morillas en posta.unizar.es Thu Jun 24 02:29:10 2004 From: morillas en posta.unizar.es (luis miguel morillas) Date: Thu, 24 Jun 2004 02:29:10 +0200 Subject: toprettyxml() In-Reply-To: <1087997625.3496.16.camel@localhost.localdomain> References: <1087997625.3496.16.camel@localhost.localdomain> Message-ID: <20040624002910.GA1950@marmota> Asunto: [Python-es] toprettyxml() Fecha: mié, jun 23, 2004 at 03:33:46 +0200 Citando a Lorenzo Gil Sanchez (lgs en sicem.biz): > Hola, > > queria preguntaros si alguno de vosotros ha tenido el siguiente > problema: > Yo no entiendo el problema. Si lo que quieres es mostrar el doc tal como lo tienes, usa >>> print document.toxml() Si lo que quieres es verlo bonito (alineado y con saltos entre etiquetas y texto), usa >>> print document.toprettyxml() > Python 2.3.3 (#1, May 7 2004, 10:31:40) > [GCC 3.3.3 20040412 (Red Hat Linux 3.3.3-7)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> data = """ > ... valores > ... """ > >>> import xml.dom.minidom > >>> document = xml.dom.minidom.parseString(data) > >>> print document.toprettyxml() > > > valores > > > > Como veis, lo que esta devolviendo document.toprettyxml() es diferente a > lo que valia data en el sentido que el nodo XML de texto ('valores') > contiene mas texto (tabuladores y un \n) del que yo he especificado. > > Esto quiere decir que la herramienta que va a parsear este XML debe > tener esto en cuenta, y si como en mi caso, no se controla esa > herramienta tenemos un problema. > > Mas de uno me dira que pruebe lo siguiente: > > >>> print document.toprettyxml(indent='', newl='') > > valores > > Pero esto no vale, porque estamos perdiendo la poca inteligibilidad que > tiene un documento XML. En este ejemplo parece muy bonito pero cuando > tenemos un arbol DOM bastante profundo, el hecho de no meter retornos de > carro o tabuladores nos genera un trozo de texto muy grande (un chorizon > solia decir mi profe de matematicas). > > Resumiento, el problema es que el toprettyxml() no distingue entre nodos > de texto y nodos normales. Alguien sabe como solucionarlo? > > gracias y un saludo > > Lorenzo > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Luis Miguel No a las patentes de software en Europa EuropeSwPatentFree http://EuropeSwPatentFree.hispalinux.es From svazquez en sadiel.es Thu Jun 24 10:51:20 2004 From: svazquez en sadiel.es (=?iso-8859-1?Q?V=E1zquez_Cascales=2C_Sebasti=E1n?=) Date: Thu, 24 Jun 2004 10:51:20 +0200 Subject: equivalente de reportlab en java Message-ID: <618FF4C21278E44BB35BD24B86C27796036735F5@CORREO.sadiel.es> Hola a todos. He usado reportlab en python y estoy bastante satisfecho con él. Me preguntaba si alguien conoce alguna biblioteca de funciones similares para java. Gracias por adelantado. Sebastián Vázquez Cascales SADIEL, S.A. Pabellón de Portugal Isaac Newton s/n Isla de la Cartuja 41092 SEVILLA Tel. 955 04 36 00 Fax: 955 04 36 01 http://www.sadiel.es/ e-mail: svazquez en sadiel.es From lgs en sicem.biz Thu Jun 24 11:30:44 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Thu, 24 Jun 2004 11:30:44 +0200 Subject: toprettyxml() In-Reply-To: <20040624002910.GA1950@marmota> References: <1087997625.3496.16.camel@localhost.localdomain> <20040624002910.GA1950@marmota> Message-ID: <1088069443.2242.12.camel@localhost.localdomain> Creo que no me he explicado del todo bien. Veamos otro ejemplo: >>> import xml.dom.minidom >>> doc = xml.dom.getDOMImplementation().createDocument(None, None, None) >>> e1 = doc.createElement('raiz') >>> doc.appendChild(e1) >>> e2 = doc.createElement('nombre') >>> e1.appendChild(e2) >>> e3 = doc.createTextNode('Pepito') >>> e2.appendChild(e3) >>> e4 = doc.createElement('apellidos') >>> e1.appendChild(e4) >>> e5 = doc.createTextNode('Perez') >>> e4.appendChild(e5) >>> print doc.toxml() PepitoPerez >>> print doc.toprettyxml() Pepito Perez >>> En este ejemplo, creo el arbol DOM programaticamente, pero en realidad da igual. Cuando hacemos doc.toxml() efectivamente la cadena qeu genera es correcta, pero muy poco legible (pensad en documentos de tamanio medio). Si usamos el doc.toprettyxml() es mas legible pero no vale porque ese xml no es igual al que yo he generado. Vamos que la cuestion es de que me sirve usar xml si el fichero se va a quedar tan legible como un fichero binario (exagerando claro). Como dije en el primer correo todo se reduce a que el toprettyxml() sea capaz de distinguir los nodos de texto de los demas. Ahora viene lo mejor: >>> data = """ ... ... Pepito ... Perez ... ... """ >>> doc = xml.dom.minidom.parseString(data) >>> print doc.toxml() Pepito Perez En esta ocasion, el toxml() ha hecho justo lo que yo queria!!, sin embargo si ese mismo documento se genera programaticamente el resultado del toxml() es diferente. Poco consistente cuando el arbol DOM es el mismo, no? Espero que ahora se entienda mejor. El jue, 24-06-2004 a las 02:29, luis miguel morillas escribió: > Asunto: [Python-es] toprettyxml() > Fecha: mié, jun 23, 2004 at 03:33:46 +0200 > > > Citando a Lorenzo Gil Sanchez (lgs en sicem.biz): > > Hola, > > > > queria preguntaros si alguno de vosotros ha tenido el siguiente > > problema: > > > Yo no entiendo el problema. Si lo que quieres es mostrar el doc tal como > lo tienes, usa > > >>> print document.toxml() > > Si lo que quieres es verlo bonito (alineado y con saltos entre etiquetas y texto), > usa > >>> print document.toprettyxml() > > > Python 2.3.3 (#1, May 7 2004, 10:31:40) > > [GCC 3.3.3 20040412 (Red Hat Linux 3.3.3-7)] on linux2 > > Type "help", "copyright", "credits" or "license" for more information. > > >>> data = """ > > ... valores > > ... """ > > >>> import xml.dom.minidom > > >>> document = xml.dom.minidom.parseString(data) > > >>> print document.toprettyxml() > > > > > > valores > > > > > > > > Como veis, lo que esta devolviendo document.toprettyxml() es diferente a > > lo que valia data en el sentido que el nodo XML de texto ('valores') > > contiene mas texto (tabuladores y un \n) del que yo he especificado. > > > > Esto quiere decir que la herramienta que va a parsear este XML debe > > tener esto en cuenta, y si como en mi caso, no se controla esa > > herramienta tenemos un problema. > > > > Mas de uno me dira que pruebe lo siguiente: > > > > >>> print document.toprettyxml(indent='', newl='') > > > > valores > > > > Pero esto no vale, porque estamos perdiendo la poca inteligibilidad que > > tiene un documento XML. En este ejemplo parece muy bonito pero cuando > > tenemos un arbol DOM bastante profundo, el hecho de no meter retornos de > > carro o tabuladores nos genera un trozo de texto muy grande (un chorizon > > solia decir mi profe de matematicas). > > > > Resumiento, el problema es que el toprettyxml() no distingue entre nodos > > de texto y nodos normales. Alguien sabe como solucionarlo? > > > > gracias y un saludo > > > > Lorenzo > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > From svazquez en sadiel.es Thu Jun 24 11:55:34 2004 From: svazquez en sadiel.es (=?iso-8859-1?Q?V=E1zquez_Cascales=2C_Sebasti=E1n?=) Date: Thu, 24 Jun 2004 11:55:34 +0200 Subject: equivalente de reportlab en java Message-ID: <618FF4C21278E44BB35BD24B86C27796036735F7@CORREO.sadiel.es> Probaremos. A ver qué tal. Gracias. > -----Mensaje original----- > De: Hernán Martínez Foffani [mailto:hernan en orgmf.com.ar] > Enviado el: jueves, 24 de junio de 2004 11:50 > Para: Vázquez Cascales, Sebastián > Asunto: RE: [Python-es] equivalente de reportlab en java > > > > He usado reportlab en python y estoy bastante > satisfecho con él. Me > > preguntaba si alguien conoce alguna biblioteca de funciones > similares > > para java. > > http://c2.com/cgi/wiki?ReportWritersForJava > (google muestra varios mas) > > -H. > > From py en ch3m4.org Thu Jun 24 13:35:12 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 24 Jun 2004 13:35:12 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <200406221526.42051.vitojph@gmx.net> References: <200406221507.39186.vitojph@gmx.net> <40D831DC.3020308@hispasec.com> <200406221526.42051.vitojph@gmx.net> Message-ID: <200406241335.15463.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 22 June 2004 15:26, Víctor Peinado wrote: > Mmm, creo que algo así no me sirve. Lo que estoy haciendo es una especie de > analizador sintáctico basado en un autómata de estados finitos y necesito > evaluar que se den ciertas condiciones en cada estado, no comprobar todo de > golpe. Gracias de todos modos ;-) ¿Has probado con los conjuntos (módulo 'sets')? from sets import Set sTrigger=Set(2,4,5) sStatus=Set(2,3,5,6) if sStatus >= sTrigger: #trigger launched Si es preciso, puedes inicializar los conjuntos con los diccionarios que tienes. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA2rxzHLTQrABk8H0RAnUUAJ9HA+xcbrYmM6ZpliEteOyZ6Azm/gCfRxes KGpffB/RuAypB+quPBS7Dfk= =F+l9 -----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 Jun 24 13:21:19 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Thu, 24 Jun 2004 13:21:19 +0200 Subject: Usos de if-else o try-except. In-Reply-To: <200406221746.25832.vitojph@gmx.net> References: <40D84E91.4000301@diselpro.com> <200406221746.25832.vitojph@gmx.net> Message-ID: <200406241321.25015.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 22 June 2004 17:46, Víctor Peinado wrote: > | No se que será mas pythoniano si el método has_key o el operador in. > | ¿Alguna sugerencia al respecto? ¿Es cuestión de gustos? > | > | if "clavel" in dicc : > | ..... > > El has_key() parece algo javero, ¿verdad? ¿Algún gurú se anima a sacar > estadísticas de eficiencia entre una forma de hacerlo y otra? XD No es sólo por estilo. El 'in' facilita la construcción de "patrones" sin importar que luego sea aplicado a diccionarios, tuplas, listas ó cadenas de caracteres. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA2rk1HLTQrABk8H0RAix0AJwN0dDka7/X9FyrzUxxZ7TDN5cjowCgk87H IA3/tgAA+7GGmlIONPjchXo= =R0+Q -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From christian.perez en entelchile.net Thu Jun 24 18:25:42 2004 From: christian.perez en entelchile.net (=?iso-8859-15?Q?Christian_P=E9rez_Sontag?=) Date: Thu, 24 Jun 2004 12:25:42 -0400 Subject: Error al usar Access Message-ID: Hola. Estoy haciendo un programa que use Access como base de datos, pero al hacer una prueba para conectar la base me sale el siguiente error: >>> import win32com.client >>> import win32com.client.util >>> engine = win32com.client.Dispatch("DAO.DBEngine.35") >>> db = engine.OpenDatabase(r"C:\Python23\Proyectos\Bases\bd1.mdb") Traceback (most recent call last): File "", line 1, in -toplevel- db = engine.OpenDatabase(r"C:\Python23\Proyectos\Bases\bd1.mdb") File "", line 2, in OpenDatabase com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, 'DAO.Workspace', "Unrecognized database format 'C:\\Python23\\Proyectos\\Bases\\bd1.mdb'.", 'jeterr35.hlp', 5003343, -2146824945), None) >>> Alguien tiene alguna idea de lo que sucede? CPS ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Thu Jun 24 19:09:38 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Thu, 24 Jun 2004 19:09:38 +0200 Subject: Error al usar Access In-Reply-To: References: Message-ID: <40DB0AD2.8010007@sicem.biz> Hola, la base de datos que estás leyendo, tiene formato de Access 2000 pero la DB.Engine.35 está intentando abrir una base de formato Access 97. Intenta usar DB.Engine.36, a ver si te funciona. En todo caso, te recomendaría adodbapi[1] que es un producto estupendo. Erny [1] http://adodbapi.sourceforge.net/ Christian Pérez Sontag escribió: > Hola. > > Estoy haciendo un programa que use Access como base de datos, pero > al hacer una prueba para conectar la base me sale el siguiente error: > >>>> import win32com.client >>>> import win32com.client.util >>>> engine = win32com.client.Dispatch("DAO.DBEngine.35") >>>> db = engine.OpenDatabase(r"C:\Python23\Proyectos\Bases\bd1.mdb") >>> > > Traceback (most recent call last): > File "", line 1, in -toplevel- > db = engine.OpenDatabase(r"C:\Python23\Proyectos\Bases\bd1.mdb") > File "", line 2, in OpenDatabase > com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, > 'DAO.Workspace', "Unrecognized database format > 'C:\\Python23\\Proyectos\\Bases\\bd1.mdb'.", 'jeterr35.hlp', 5003343, > -2146824945), None) > >>>> > > Alguien tiene alguna idea de lo que sucede? > > CPS > >------------------------------------------------------------------------ > >_______________________________________________ >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 christian.perez en entelchile.net Thu Jun 24 19:33:57 2004 From: christian.perez en entelchile.net (=?iso-8859-15?Q?Christian_P=E9rez_Sontag?=) Date: Thu, 24 Jun 2004 13:33:57 -0400 Subject: Error en PythonWin Message-ID: Hola a todos. Siguiendo con mis problemas para conectar Python con MS Access, leí que había que utilizar el PythonWin para generar algunas cosas. Específicamente la opción "COM Makepy Utility", pero cuando selecciono esa opción, me sale el siguiente mensaje de error: PythonWin 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32. Portions Copyright 1994-2004 Mark Hammond (mhammond en skippinet.com.au) - see 'Help/About PythonWin' for further copyright information. >>> Failed to execute command: from win32com.client import makepy;makepy.main() Traceback (most recent call last): File "C:\Python23\Lib\site-packages\pythonwin\pywin\framework\toolmenu.py", line 103, in HandleToolCommand exec "%s\n" % pyCmd File "", line 1, in ? File "C:\Python23\Lib\site-packages\win32com\client\makepy.py", line 351, in main rc = selecttlb.SelectTlb() File "C:\Python23\Lib\site-packages\win32com\client\selecttlb.py", line 141, in SelectTlb items = EnumTlbs(excludeFlags) File "C:\Python23\Lib\site-packages\win32com\client\selecttlb.py", line 97, in EnumTlbs key3 = win32api.RegOpenKey(key2, str(version)) error: (5, 'RegOpenKeyEx', 'Acceso denegado.') Alguien sabe qué puede estar ocurriendo. Gracias. CPS ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From visualnex en tutopia.com Thu Jun 24 20:28:34 2004 From: visualnex en tutopia.com (marcelo ametller) Date: Thu, 24 Jun 2004 15:28:34 -0300 Subject: Xemacs vs Emacs21 Message-ID: <20040624152834.00000a8b@estacion05> Xemacs Emacs21 Quisiera saber que tal son estos editores para python. La opinion de quienes los conozcan. Los dos son gpl ? Donde puedo conseguir documentacion en castellano? --------------------------------- Maram Sistemas Linux User #354777 - Debian Sarge ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Fri Jun 25 07:55:40 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 25 Jun 2004 07:55:40 +0200 Subject: Error en PythonWin In-Reply-To: References: Message-ID: <40DBBE5C.4000907@sicem.biz> Hola, Si da error en algunas de las operaciones, como has descrito, es posible que no tengas derechos administrativos en la máquina (que no sé para que se necesitan, porque creo que no se escribe en el registro de Windows). Deberías probar en otro sitio donde tengas más privilegios. Aquí más sobre Dispatch: Dispatch tiene 2 modos, uno dinámico y otro estático. Dinámico en este caso significa, que no disponenmos de información sobre los tipos, pero podemos usarlo. Por ejemplo, si hay un error, nos dice que lo haya pero sole dice algo de COMObject (creo), sin saber exactamente el tipo. Si creas el módulo correspondiente, sí te lo dice, por ejemplo, te dirá el el objeto RecordSet no soporta un determinado método. Ejemplos en la práctica: >>> # dinámico: >>> from win32com.client import Dispatch >>> engine=Dispatch("DAO.DBEngine.36") >>> engine.opendatabase("z:/kk.mdb") >>> db=engine.OpenDatabase("z:/mi.mdb") >>> db >>> db.metodoInexistente() Traceback (most recent call last): File "", line 1, in ? File "C:\prg\python23\Lib\site-packages\win32com\client\dynamic.py", line 477, in __getattr__ raise AttributeError, "%s.%s" % (self._username_, attr) AttributeError: OpenDatabase.metodoInexistente Dice que es un objeto OpenDatabase. (mentira!) Ahora creamos el módulo para realizar un dispatch estático. Desde pythonwin (versión 2.3.x), desde el menú Tools elige 'COM Makepy utility' Te aparecerá una lista con todos los objetos COM (que Microsoft llama comercialmente ActiveX) y elige por ejemplo Microsoft DAO 3.6 object library (5.0). En este momento crea un archivo, que en mi ordenador es: c:\prg\Python23\lib\site-packages\win32com\gen_py\00025E01-0000-0000-C000-000000000046x0x5x0.py (lo indica) Repetimos el ejemplo anterior con un intérpete nuevo >>> # estático: >>> from win32com.client import Dispatch >>> engine=Dispatch("DAO.DBEngine.36") >>> engine.opendatabase("z:/kk.mdb") >>> db=engine.OpenDatabase("z:/mi.mdb") >>> db # Aha! ahora nos dice que es un Database instance >>> db.metodoInexistente() # destaca, al escribir db. aparece un desplegable con todos los métodos válidos del # objeto Database, mientras que eso en el modo dinámico no pasaba. db.metodoInexistente() Traceback (most recent call last): File "", line 1, in ? File "C:\prg\python23\Lib\site-packages\win32com\client\__init__.py", line 454, in __getattr__ raise AttributeError, "'%s' object has no attribute '%s'" % (repr(self), attr) AttributeError: '' object has no attribute 'metodoInexistente' # bueno, lo mismo, pero más claro. Para asegurar que exista el módulo para el Dispatch estático del objeto en cuestión, se usa |win32com.client.gencache . |El problema, es que tienes que saber el ID del módulo. Para ello tienes que ejecutar: \lib\site-packages\win32com\client\makepy.py -i Selecciona el módulo que quieras y te aparece un mensaje indicando el código que necesitas en tu programa para crear automáticamente los bindings estáticos que para Microsoft DAO 3.6 da la siguiente salida: {00025E01-0000-0000-C000-000000000046}, lcid=0, major=5, minor=0 >>> # Use these commands in Python code to auto generate .py support >>> from win32com.client import gencache >>> gencache.EnsureModule('{00025E01-0000-0000-C000-000000000046}', 0, 5, 0) Erny Christian Pérez Sontag escribió: > Hola a todos. > > Siguiendo con mis problemas para conectar Python con MS Access, leí > que había que utilizar el PythonWin para generar algunas cosas. > Específicamente la opción "COM Makepy Utility", pero cuando selecciono > esa opción, me sale el siguiente mensaje de error: > > PythonWin 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit > (Intel)] on win32. > Portions Copyright 1994-2004 Mark Hammond (mhammond en skippinet.com.au) > - see 'Help/About PythonWin' for further copyright information. > >>>> Failed to execute command: >>> > from win32com.client import makepy;makepy.main() > Traceback (most recent call last): > File > "C:\Python23\Lib\site-packages\pythonwin\pywin\framework\toolmenu.py", > line 103, in HandleToolCommand > exec "%s\n" % pyCmd > File "", line 1, in ? > File "C:\Python23\Lib\site-packages\win32com\client\makepy.py", > line 351, in main > rc = selecttlb.SelectTlb() > File "C:\Python23\Lib\site-packages\win32com\client\selecttlb.py", > line 141, in SelectTlb > items = EnumTlbs(excludeFlags) > File "C:\Python23\Lib\site-packages\win32com\client\selecttlb.py", > line 97, in EnumTlbs > key3 = win32api.RegOpenKey(key2, str(version)) > error: (5, 'RegOpenKeyEx', 'Acceso denegado.') > > Alguien sabe qué puede estar ocurriendo. Gracias. > > CPS > >------------------------------------------------------------------------ > >_______________________________________________ >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 py en ch3m4.org Fri Jun 25 09:36:22 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Fri, 25 Jun 2004 09:36:22 +0200 Subject: Xemacs vs Emacs21 In-Reply-To: <20040624152834.00000a8b@estacion05> References: <20040624152834.00000a8b@estacion05> Message-ID: <200406250936.25000.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday 24 June 2004 20:28, marcelo ametller wrote: > Xemacs Emacs21 > > Quisiera saber que tal son estos editores para python. > La opinion de quienes los conozcan. > Los dos son gpl ? Los dos son GPL, aunque emacs es parte, además, de GNU. Ambos son muy parecidos, surgidos de un mismo código y con pocas diferencias desde el punto de vista del usuario. Las diferencias están en el modelo de desarrollo de uno y otro proyecto, y sobre todo en el modelo de objetos del lisp con el que se programa el sistema. Una cosa interesante de xemacs es que incluye de serie muchos paquetes que en emacs hay que instalar (algo que no es trivial). Para python, Xemacs lleva incluído el modo python y permite el uso del pdb para depurar el código en edición; con emacs hay que configurar el modo python, aunque no estoy al tanto de si lo han mejorado últimamente. Ambos permiten programar macros en python (package "pymacs"). > Donde puedo conseguir documentacion en castellano? Ni idea -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA29X4HLTQrABk8H0RAiioAJ41HnwKBtfppVaU/fptFBke/w2F8ACg77B8 xH1rsikbSVWLVXc4fPEgZw4= =ZDQ3 -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Fri Jun 25 09:52:07 2004 From: falted en pytables.org (Francesc Alted) Date: Fri, 25 Jun 2004 09:52:07 +0200 Subject: Xemacs vs Emacs21 In-Reply-To: <200406250936.25000.py@ch3m4.org> References: <20040624152834.00000a8b@estacion05> <200406250936.25000.py@ch3m4.org> Message-ID: <200406250952.08364.falted@pytables.org> A Divendres 25 Juny 2004 09:36, Chema Cortés va escriure: > On Thursday 24 June 2004 20:28, marcelo ametller wrote: > > Xemacs Emacs21 > > > > Quisiera saber que tal son estos editores para python. > > La opinion de quienes los conozcan. > > Los dos son gpl ? Soy usuario de emacs para programación en python desde hace tres años. He probado también otros (que no sean vi y sus derivados, claro ;), incluso IDEs comerciales (WingIDE), pero me quedo con emacs. Supongo que gran parte de mis preferencias van por que ya me sé la mayoria de los atajos a través de teclas y soy demasiado vago para acostumbrar a mis castigados dedos a otra cosa más sana. XEmacs, como dice Chema debe ser incluso mejor, pero mi extrema vagancia me impide cambiar :) > Una cosa interesante de xemacs es que incluye de serie muchos paquetes que en > emacs hay que instalar (algo que no es trivial). Para python, Xemacs lleva > incluído el modo python y permite el uso del pdb para depurar el código en > edición; con emacs hay que configurar el modo python, aunque no estoy al > tanto de si lo han mejorado últimamente. Yo nunca he tenido que configurar el modo python para emacs, aunque como estoy en debian, lo mismo ya se ha encargado el mantenedor del paquete de hacerlo, no lo sé. Desde luego, instalar emacs con paquetes debian es una gozada [me acuerdo de la primera vez que lo hice, allá por el año 92, y puedo asegurar que no fue una experiencia precisamente placentera. pensé que un editor de textos que ocupara 25 MB en el disco duro no podia ser bueno. ahora que sólo las librerias ya ocupan más de 60 MB empiezo a cambiar de opinión :))]. -- Francesc Alted ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From miguela.garcia3 en alu.uclm.es Fri Jun 25 11:55:35 2004 From: miguela.garcia3 en alu.uclm.es (Miguel Angel Garcia) Date: Fri, 25 Jun 2004 11:55:35 +0200 Subject: Xemacs vs Emacs21 In-Reply-To: <200406250952.08364.falted@pytables.org> References: <20040624152834.00000a8b@estacion05> <200406250936.25000.py@ch3m4.org> <200406250952.08364.falted@pytables.org> Message-ID: <1088157334.2583.20.camel@localhost> Personalmente prefiero GNU/Emacs. ¿Información? Pues en sitios obvios: http://www.emacs.org/ http://www.xemacs.org/ -- 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 py en ch3m4.org Fri Jun 25 12:41:20 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Fri, 25 Jun 2004 12:41:20 +0200 Subject: Xemacs vs Emacs21 In-Reply-To: <200406250952.08364.falted@pytables.org> References: <20040624152834.00000a8b@estacion05> <200406250936.25000.py@ch3m4.org> <200406250952.08364.falted@pytables.org> Message-ID: <200406251241.29034.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 25 June 2004 09:52, Francesc Alted wrote: > Yo nunca he tenido que configurar el modo python para emacs Tienes razón, ya lo lleva incluído. Y por cierto, tanto emacs como xemacs llevan en el menú de ayuda un tutorial en español (creo que es el mismo tutorial en ambos). -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA3AFUHLTQrABk8H0RAmh7AJ9FQETot0FwsqsLwVEKU4hzO62m+wCfcQ76 7IbtFPtkrYNk5SSGM40myDI= =JtlV -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lan_gley en hotmail.com Fri Jun 25 14:27:56 2004 From: lan_gley en hotmail.com (Ariel Gaston) Date: Fri, 25 Jun 2004 12:27:56 +0000 Subject: Sugerencias Message-ID: Hola a todos!! Como verán soy nuevo usando el python y me gustaria que me sugieran como empezar a sacarle jugo a este lenguaje ya que quiero profundizar mis conocimientos en programación ( solo conozco lo basico). Gracias y salu2 _________________________________________________________________ MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ From py en ch3m4.org Fri Jun 25 15:11:56 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Fri, 25 Jun 2004 15:11:56 +0200 Subject: Despistado con weakref y tipos Message-ID: <200406251511.59012.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Estoy intentando hacer algunas pruebas (algo complejas) con las referencias débiles, pero no me funcionan como esperaba. Quisiera poder crear referencias débiles a clases. Aunque la documentación parece que no incluye a las clases como objetos referenciables débilmente, el módulo weakref no da ningún error. Mi sospecha es que está tomando las clases como instancias de 'type': >>> import weakref >>> class C(object):pass ... >>> p=weakref.ref(C) >>> p >>> del C >>> p Usando las clases antiguas, directamente da un error al crear la referencia, por lo que confirma mis sospechas de que un tipo pesa más el que sea clase que el sea instancia de 'type'. De la documentación: "Not all objects can be weakly referenced; those objects which can include class instances, functions written in Python (but not in C), and methods (both bound and unbound)." Sospecho que el weakref sólo comprueba que el objeto sea una instancia, sin comprobar el caso particular de que sea precisamente instancia de 'type'. Mirando la nueva versión de python 2.4, se amplían el conjunto de objetos que pueden referenciarse débilmente: "The weakref module now supports a wider variety of objects including Python functions, class instances, sets, frozensets, deques, arrays, files, sockets, and regular expression pattern objects." Me faltaría probar este nuevo módulo a ver si lo han resuelto. Me temo que aquí termina el experimento. No sé si se ha entendido del todo. ¿Qué opináis? ¿Habría que enviarlo como fallo a los desarrolladores del python? Otra duda, ¿qué razones hay para que no se puedan crear referencias débiles a clases? Creo que en otros lenguajes como C++ sí que es posible -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA3CSfHLTQrABk8H0RAj9pAKD+0vK/udsQyyGXBhmxGkSLapCJrACg8eDV aaG1upwEzOAGKS3d9ueWLqw= =qtwl -----END PGP SIGNATURE----- From FBatista en uniFON.com.ar Fri Jun 25 16:22:50 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 25 Jun 2004 11:22:50 -0300 Subject: Sugerencias Message-ID: [Ariel Gaston] #- Como verán soy nuevo usando el python y me gustaria que me #- sugieran como #- empezar a sacarle jugo a este lenguaje ya que quiero profundizar mis #- conocimientos en programación ( solo conozco lo basico). Comienza por aquí: http://www.python.org/doc/NonEnglish.html#spanish Slds. . 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 hernan en orgmf.com.ar Fri Jun 25 16:39:13 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 25 Jun 2004 16:39:13 +0200 Subject: Despistado con weakref y tipos In-Reply-To: <200406251511.59012.py@ch3m4.org> References: <200406251511.59012.py@ch3m4.org> Message-ID: > Quisiera poder crear referencias débiles a clases. Aunque la > documentación parece que no incluye a las clases como objetos > referenciables débilmente, el módulo weakref no da ningún error. Mi > sospecha es que está tomando las clases como instancias de 'type': > > ... > > Usando las clases antiguas, directamente da un error al crear la > referencia, por lo que confirma mis sospechas de que un tipo pesa más > el que sea clase que el sea instancia de 'type'. Las nuevas clases son siempre del tipo 'type', son *instancias* de ese tipo. [Aunque sospecho que lo sabes y que esa no era la pregunta] (En python 2.3.4) Lo normal: >>> class C(object): pass >>> c = C() >>> C # <- la clase C >>> c # <- instancia de clase C <__main__.C object at 0x009F5550> >>> Con weakref: >>> import weakref >>> wC = weakref.ref(C) >>> wC # <- la weakref >>> C1 = wC() >>> C1 # <- la clase C por weakref >>> c2 = C1() >>> c2 # <- instancia de clase C por weakref. <__main__.C object at 0x009F5EB0> >>> Yo no detecto nada inconsistente... ¿Me pierdo algo? -H. From erny en sicem.biz Fri Jun 25 17:18:39 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Fri, 25 Jun 2004 17:18:39 +0200 Subject: Despistado con weakref y tipos In-Reply-To: <200406251511.59012.py@ch3m4.org> References: <200406251511.59012.py@ch3m4.org> Message-ID: <40DC424F.1030803@sicem.biz> Hola, el del no borra objetos!!!! así que la referencia seguirá apareciendo has que corra el recolector de basuras. Yo creo que no vas a tener ningún problema con las clases: >>> from gc import collect >>> import weakref >>> class C(object): pass ... >>> p=weakref.ref(C) >>> p >>> del C >>> collect() >>> p Erny Chema Cortés escribió: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >Estoy intentando hacer algunas pruebas (algo complejas) con las referencias >débiles, pero no me funcionan como esperaba. > >Quisiera poder crear referencias débiles a clases. Aunque la documentación >parece que no incluye a las clases como objetos referenciables débilmente, el >módulo weakref no da ningún error. Mi sospecha es que está tomando las clases >como instancias de 'type': > > > >>>>import weakref >>>>class C(object):pass >>>> >>>> >... > > >>>>p=weakref.ref(C) >>>>p >>>> >>>> > > > >>>>del C >>>>p >>>> >>>> > > > >Usando las clases antiguas, directamente da un error al crear la referencia, >por lo que confirma mis sospechas de que un tipo pesa más el que sea clase >que el sea instancia de 'type'. > > >De la documentación: "Not all objects can be weakly referenced; those objects >which can include class instances, functions written in Python (but not in >C), and methods (both bound and unbound)." Sospecho que el weakref sólo >comprueba que el objeto sea una instancia, sin comprobar el caso particular >de que sea precisamente instancia de 'type'. > >Mirando la nueva versión de python 2.4, se amplían el conjunto de objetos que >pueden referenciarse débilmente: "The weakref module now supports a wider >variety of objects including Python functions, class instances, sets, >frozensets, deques, arrays, files, sockets, and regular expression pattern >objects." Me faltaría probar este nuevo módulo a ver si lo han resuelto. > >Me temo que aquí termina el experimento. No sé si se ha entendido del todo. >¿Qué opináis? ¿Habría que enviarlo como fallo a los desarrolladores del >python? > >Otra duda, ¿qué razones hay para que no se puedan crear referencias débiles a >clases? Creo que en otros lenguajes como C++ sí que es posible > >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.2.2 (GNU/Linux) > >iD8DBQFA3CSfHLTQrABk8H0RAj9pAKD+0vK/udsQyyGXBhmxGkSLapCJrACg8eDV >aaG1upwEzOAGKS3d9ueWLqw= >=qtwl >-----END PGP SIGNATURE----- >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From lars en telefonica.net Fri Jun 25 18:27:43 2004 From: lars en telefonica.net (lars) Date: Fri, 25 Jun 2004 18:27:43 +0200 Subject: Borrar cadenas en un archivo Message-ID: <40DC527F.1050209@telefonica.net> Lo primero, saludo a todos los miembros de la lista, este es mi primer mensaje :) Soy un usuario "novato" en esto de python y que mejor manera de comenzar que iniciando un proyecto de software libre para la comunidad, estoy desarrollando un "server browser" para juegos online escrito en python que se llama freeEye (por ahora en modo texto, pero todo se andará) y tengo un par de dudas. Los datos de servidores e ips se guardan en un fichero en este formato, p.ej. 1:127.0.01:27960, donde 1 es el ID del registro, la ip y el puerto de conexión, lo que no consigo es recuperar el registro 2, por ejemplo y eliminarlo de la lista, quitar esa linea y que todos los ID de los siguientes registros resten 1 y volver a grabarlo todo en un fichero, este es el código que uso para recuperar los datos (por si sirve de algo): contador=0 cual=int(raw_input('Registro a modificar (nº): ')) while contador <= cual: busca=servidores.readline() destripa=string.split(busca,':') # para separar la linea en 3 campos ... ----------------------------------------------------------------------- destripa[0] -> id destripa[1] -> ip destripa[2] -> puerto Espero vuestra ayuda, gracias. From hernan en orgmf.com.ar Fri Jun 25 18:40:23 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 25 Jun 2004 18:40:23 +0200 Subject: Borrar cadenas en un archivo In-Reply-To: <40DC527F.1050209@telefonica.net> References: <40DC527F.1050209@telefonica.net> Message-ID: > Los datos de servidores e ips se guardan en un fichero en este > formato, p.ej. 1:127.0.01:27960, donde 1 es el ID del registro, la ip > y el puerto de conexión, lo que no consigo es recuperar el registro > 2, por ejemplo y eliminarlo de la lista, quitar esa linea y que todos > los ID de los siguientes registros resten 1 y volver a grabarlo todo > en un fichero No es un problema de python lo que tienes. Te ocurrirá con cualquier otro lenguaje. Si tu archivo de datos tiene largo de registro variable (como son los archivos de texto en general) nunca podrás hacer una regrabacion sobre el mismo. Lo que tienes que hacer es leerlo todo, cerrarlo, modificarlo en memoria y volcarlo de nuevo. O si no, usar algun archivo temporario leyendo desde uno y grabando otro. luego lo reemplazas. -H. From lars en telefonica.net Fri Jun 25 18:59:41 2004 From: lars en telefonica.net (lars) Date: Fri, 25 Jun 2004 18:59:41 +0200 Subject: Borrar cadenas en un archivo In-Reply-To: References: Message-ID: <40DC59FD.3050505@telefonica.net> Hernán Martínez Foffani wrote: >>Los datos de servidores e ips se guardan en un fichero en este >>formato, p.ej. 1:127.0.01:27960, donde 1 es el ID del registro, la ip >>y el puerto de conexión, lo que no consigo es recuperar el registro >>2, por ejemplo y eliminarlo de la lista, quitar esa linea y que todos >>los ID de los siguientes registros resten 1 y volver a grabarlo todo >>en un fichero >> >> > >No es un problema de python lo que tienes. Te ocurrirá con cualquier >otro lenguaje. Si tu archivo de datos tiene largo de registro >variable (como son los archivos de texto en general) nunca podrás >hacer una regrabacion sobre el mismo. >Lo que tienes que hacer es leerlo todo, cerrarlo, modificarlo en >memoria y volcarlo de nuevo. O si no, usar algun archivo temporario >leyendo desde uno y grabando otro. luego lo reemplazas. > >-H. > > > > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > si, eso es exactamente lo que hace la funcion de modificar los registros, pero lo que quiero es borrar esa linea, hay alguna funcion en algun modulo que borre la linea? From hernan en orgmf.com.ar Fri Jun 25 19:21:53 2004 From: hernan en orgmf.com.ar (=?iso-8859-1?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Fri, 25 Jun 2004 19:21:53 +0200 Subject: Borrar cadenas en un archivo In-Reply-To: <40DC59FD.3050505@telefonica.net> References: <40DC59FD.3050505@telefonica.net> Message-ID: >>> Los datos de servidores e ips se guardan en un fichero en este >>> formato, p.ej. 1:127.0.01:27960, donde 1 es el ID del registro, la >>> ip y el puerto de conexión, lo que no consigo es recuperar el >>> registro 2, por ejemplo y eliminarlo de la lista, quitar esa linea >>> y que todos los ID de los siguientes registros resten 1 y volver a >>> grabarlo todo en un fichero >> >> No es un problema de python lo que tienes. Te ocurrirá con cualquier >> otro lenguaje. Si tu archivo de datos tiene largo de registro >> variable (como son los archivos de texto en general) nunca podrás >> hacer una regrabacion sobre el mismo. >> Lo que tienes que hacer es leerlo todo, cerrarlo, modificarlo en >> memoria y volcarlo de nuevo. O si no, usar algun archivo temporario >> leyendo desde uno y grabando otro. luego lo reemplazas. > > si, eso es exactamente lo que hace la funcion de modificar los > registros, pero lo que quiero es borrar esa linea, hay alguna funcion > en algun modulo que borre la linea? ¡Borrar la linea es el mismo caso! *Tienes* que implementarlo de forma similar como lo hiciste para las modificaciones. Si estas procesando archivos comunes en S.O. "normales" no tienes alternativa (y repito, no importa el lenguaje con el que programes) -H. From rapto en arrakis.es Fri Jun 25 22:01:49 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Fri, 25 Jun 2004 22:01:49 +0200 Subject: Sugerencias In-Reply-To: References: Message-ID: <1088193709.3410.4.camel@renata.macondo.pri> Busca algún tema que te guste (juegos, comunicaciones, crucigramas, análisis semántico de la web, envío de spam :-) e intenta hacer algún programa que te resuelva un problema simple. Cuando te quedes pegado, pregunta en esta lista. Por ejemplo. El vie, 25-06-2004 a las 14:27, Ariel Gaston escribió: > Hola a todos!! > > Como verán soy nuevo usando el python y me gustaria que me sugieran como > empezar a sacarle jugo a este lenguaje ya que quiero profundizar mis > conocimientos en programación ( solo conozco lo basico). > > Gracias y salu2 > > _________________________________________________________________ > MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From dagorret en nmt.com.ar Fri Jun 25 23:07:20 2004 From: dagorret en nmt.com.ar (dagorret en nmt.com.ar) Date: Fri, 25 Jun 2004 18:07:20 -0300 (ART) Subject: Manuales In-Reply-To: References: Message-ID: <4201.170.210.134.244.1088197640.squirrel@170.210.134.244> Me gustaría saber si alguien conoce un manual de Python en español. Lo que estoy buscando, no es un manual descriptivo del lenguaje, sino algo más avanzado para poder saber más de las capacidades de este. Si bien en el manual "oficial" aparece las capacidades de este, me gustaría trabajarlo más para saber donde utilizar python y donde no. Desde ya muchas gracias y que tengan un buen día. From ch3m4 en ch3m4.org Sun Jun 27 19:31:04 2004 From: ch3m4 en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Sun, 27 Jun 2004 10:31:04 -0700 Subject: Despistado con weakref y tipos In-Reply-To: <40DC424F.1030803@sicem.biz> References: <200406251511.59012.py@ch3m4.org> <40DC424F.1030803@sicem.biz> Message-ID: <1088357464.40df045815f9d@ch3m4.org> Mensaje citado por Ernesto Revilla : > el del no borra objetos!!!! > > así que la referencia seguirá apareciendo has que corra el recolector de > basuras. > > Yo creo que no vas a tener ningún problema con las clases: > >>> from gc import collect > >>> import weakref > > >>> class C(object): pass > ... > >>> p=weakref.ref(C) > >>> p > > >>> del C > >>> collect() > >>> p > ¡Qué extraño! En las pruebas que hice en linux también forzaba la recolección de basura y no me funcionó. He vuelto a probar ahora en windows y funciona tal y como comentas. Tendré que revisar qué hacía mal en mis pruebas. From svazquez en sadiel.es Mon Jun 28 09:25:48 2004 From: svazquez en sadiel.es (=?iso-8859-1?Q?V=E1zquez_Cascales=2C_Sebasti=E1n?=) Date: Mon, 28 Jun 2004 09:25:48 +0200 Subject: equivalente de reportlab en java Message-ID: <618FF4C21278E44BB35BD24B86C27796036735FB@CORREO.sadiel.es> Hola Maram. Mi experiencia con reportlab es muy limitada. Conocí su existencia trabajando con plone, que está programado en python. Una de las utilidades tira de reportlab, y tuve que modificar un script que tira de estas librerías. Consulté los manuales disponibles en la página oficial, y créeme que no es difícil (al menos lo que tuve que hacer). Ahora estoy buscando algo similar en java para algo que tengo que hacer, pero aún no me he puesto. Un saludo. > -----Mensaje original----- > De: Visualnex [mailto:visualnex en tutopia.com] > Enviado el: viernes, 25 de junio de 2004 22:27 > Para: Vázquez Cascales, Sebastián > Asunto: Re: [Python-es] equivalente de reportlab en java > > > On Thu, 24 Jun 2004 10:51:20 +0200 > V=E1zquez Cascales, Sebasti=E1n wrote: > > >=20 > > Hola a todos. > >=20 > > He usado reportlab en python y estoy bastante > satisfecho con =E9l. Me pr= > eguntaba si alguien conoce alguna biblioteca de funciones > similares para ja= > va. > >=20 > > Gracias por adelantado. > >=20 > > Sebasti=E1n V=E1zquez Cascales > > SADIEL, S.A. > > Pabell=F3n de Portugal > > Isaac Newton s/n > > Isla de la Cartuja > > 41092 SEVILLA > > Tel. 955 04 36 00 > > Fax: 955 04 36 01 > > http://www.sadiel.es/ e-mail: svazquez en sadiel.es > >=20 > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > Hola: > Hace unos meses que empese con Python y gtk2, estoy viendo un > sistema para = > generar informes. > Que tal es reportlab? > Me podrias dar links de tutoriales? > Tendrias algun ejemplo de codigo para imprimir una listado del tipo: > codigo,nombre,fechaNac,saldo > > saludos > maram > > --------------------------------- > Maram Sistemas > Linux User #354777 - Debian Sarge > > > > > > > > > From py en ch3m4.org Mon Jun 28 10:30:24 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 28 Jun 2004 10:30:24 +0200 Subject: Borrar cadenas en un archivo In-Reply-To: References: Message-ID: <200406281030.28108.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 25 June 2004 19:21, Hernán Martínez Foffani wrote: > ¡Borrar la linea es el mismo caso! > *Tienes* que implementarlo de forma similar como lo hiciste para las > modificaciones. Si estas procesando archivos comunes en S.O. > "normales" no tienes alternativa (y repito, no importa el lenguaje > con el que programes) Hay que decir que sí que existen soluciones si tienes registros de longitud fija. En lenguaje C se puede hacer sin problemas (por extraño que parezca, desconozco cómo se haría en python :-P ) De todas formas, para estos problemas, y habiendo cosas como la Berkeley DB, yo no andaría usando ficheros de texto plano: import bsddb f=bsddb.rnopen("MyFile.db","w") #Crear los registros #La numeración empieza por 1 f[1]="1:127.0.01:27960" f[2]="2:127.0.01:27970" f[3]="3:127.0.01:27980" f[4]="4:127.0.01:27990" #borrar un registro del f[2] #renumerar los registros for i,(n,s) in enumerate(f.iteritems()): del f[n] f[i+1]="%d:"%(i+1) + s.split(":",1)[1] f.close() f=bsddb.rnopen("MyFile.db","r") for n,s in f.iteritems(): print n,s -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA39ckHLTQrABk8H0RAsmpAJsEzt2XP9+vbrj9yGKIOoGQXaQOgwCcDN34 iAMU1lVq7ywuvZDb721q6CQ= =Xi1Y -----END PGP SIGNATURE----- From lars en telefonica.net Mon Jun 28 11:19:33 2004 From: lars en telefonica.net (lars) Date: Mon, 28 Jun 2004 11:19:33 +0200 Subject: Borrar cadenas en un archivo In-Reply-To: <200406281030.28108.py@ch3m4.org> References: <200406281030.28108.py@ch3m4.org> Message-ID: <1088414372.2473.2.camel@linux> El lun, 28-06-2004 a las 10:30, Chema Cortés escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Friday 25 June 2004 19:21, Hernán Martínez Foffani wrote: > > > ¡Borrar la linea es el mismo caso! > > *Tienes* que implementarlo de forma similar como lo hiciste para las > > modificaciones. Si estas procesando archivos comunes en S.O. > > "normales" no tienes alternativa (y repito, no importa el lenguaje > > con el que programes) > > Hay que decir que sí que existen soluciones si tienes registros de longitud > fija. En lenguaje C se puede hacer sin problemas (por extraño que parezca, > desconozco cómo se haría en python :-P ) > > De todas formas, para estos problemas, y habiendo cosas como la Berkeley DB, > yo no andaría usando ficheros de texto plano: > > import bsddb > > f=bsddb.rnopen("MyFile.db","w") > > #Crear los registros > #La numeración empieza por 1 > f[1]="1:127.0.01:27960" > f[2]="2:127.0.01:27970" > f[3]="3:127.0.01:27980" > f[4]="4:127.0.01:27990" > > #borrar un registro > del f[2] > > #renumerar los registros > for i,(n,s) in enumerate(f.iteritems()): > del f[n] > f[i+1]="%d:"%(i+1) + s.split(":",1)[1] > > f.close() > > f=bsddb.rnopen("MyFile.db","r") > for n,s in f.iteritems(): > print n,s > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.2 (GNU/Linux) > > iD8DBQFA39ckHLTQrABk8H0RAsmpAJsEzt2XP9+vbrj9yGKIOoGQXaQOgwCcDN34 > iAMU1lVq7ywuvZDb721q6CQ= > =Xi1Y > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es Gracias Chema! eso era precisamente lo que iba buscando, te has ganao una linea en los agradecimientos :D ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Mon Jun 28 11:39:51 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 28 Jun 2004 11:39:51 +0200 Subject: Manuales In-Reply-To: <4201.170.210.134.244.1088197640.squirrel@170.210.134.244> References: <4201.170.210.134.244.1088197640.squirrel@170.210.134.244> Message-ID: <40DFE767.80704@sicem.biz> Hola, creo que tutorial traducido de Python es bastante bueno, para ver las capacidades del lenguaje. Trabaja con estructuras de datos, explica la simplicidad de la sintaxis, explica qué son espacios de nombre y cómo se usan, y algunas cosas más. Creo que no es adecuado incluir instrucciones sobre la libería estándar de Python, que creo puede leerse en inglés. El dónde puedas usar Python, es la pregunta de siempre. ¿Dónde puedes usar C, C++, Java, etc.? Python hace un buen juego con C, así que respuesta: en todos los ámbitos que no necesitas mucha velocidad y donde tengas posibilidad de instalar intérprete Python. (A lo mejor no lo puedes usar, si te hace falta crear un programa que corra dentro de un navegador en el lado cliente y que necesita un buen modelo de seguridad). Ahora bien, normalmente trabajas sobre temas concretos, así que mira si encuentras algunas librerías que resuelva en gran parte tus problemas, y en función de eso eliges lenguaje y entorno de programación. Saludos, Erny dagorret en nmt.com.ar escribió: >Me gustaría saber si alguien conoce un manual de Python en español. >Lo que estoy buscando, no es un manual descriptivo del lenguaje, sino algo >más avanzado para poder saber más de las capacidades de este. >Si bien en el manual "oficial" aparece las capacidades de este, me >gustaría trabajarlo más para saber donde utilizar python y donde no. > >Desde ya muchas gracias y que tengan un buen día. > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From py en ch3m4.org Mon Jun 28 12:17:35 2004 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Mon, 28 Jun 2004 12:17:35 +0200 Subject: Despistado con weakref y tipos In-Reply-To: References: Message-ID: <200406281217.38104.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 25 June 2004 16:39, Hernán Martínez Foffani wrote: > Las nuevas clases son siempre del tipo 'type', son *instancias* de > ese tipo. > [Aunque sospecho que lo sabes y que esa no era la pregunta] He tenido la suerte de contar con una buena documentación. Os aconsejo la pongáis entre vuestros favoritos: http://www.cafepy.com > Yo no detecto nada inconsistente... ¿Me pierdo algo? Creo que mi "despiste" tenía que ver al cansancio. Después del fin de semana parece que ya lo veo más claro. Gracias. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA3/BCHLTQrABk8H0RAnAXAJ4lOwREO78ZCggqMHRUBoL2icZqegCggEwy 6UU/Gof6c/CIvFSpkMdYJnM= =GI0v -----END PGP SIGNATURE----- From cgalisteo en k-rolus.net Mon Jun 28 12:26:44 2004 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Mon, 28 Jun 2004 12:26:44 +0200 Subject: Qt Designer<-->Python Message-ID: <200406281226.52745.cgalisteo@k-rolus.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola, ¿alguien podría recomendarme algún link o documentación sobre como usar Qt Designer con Python? Gracias. - -- - --- Carlos Galisteo PGP key http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key Fingerprint: F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 - --- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFA3/JoW4wCemmtvmURAlh9AJ4sHUQ9PMplCtMTgSykv0eqHcbBoQCfdbwL JXhN95ItUqsgavIn6z6YtVQ= =1nJD -----END PGP SIGNATURE----- From cgalisteo en k-rolus.net Mon Jun 28 12:39:49 2004 From: cgalisteo en k-rolus.net (Carlos Galisteo) Date: Mon, 28 Jun 2004 12:39:49 +0200 Subject: Qt Designer<-->Python In-Reply-To: <200406281226.52745.cgalisteo@k-rolus.net> References: <200406281226.52745.cgalisteo@k-rolus.net> Message-ID: <200406281239.52851.cgalisteo@k-rolus.net> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 mmm... me respondo a mi mismo. He encontrado esto [1] que es mas o menos lo que buscaba (por si le es util a alguien mas). De todas formas si conoceis algo mas será bienvenido :D [1] http://www.linuca.org/impresion.phtml?nIdNoticia=43 - -- - --- Carlos Galisteo PGP key http://k-rolus.net/~cgalisteo/cgalisteo.gpg Key Fingerprint: F888 6FBA 9145 B5A2 C187 66D6 5B8C 027A 69AD BE65 - --- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFA3/V1W4wCemmtvmURAialAJ9yPfnxeMrzBdvEovhtjPrHTJ9nkACfUdYI L5aF1deNWS+JAqgVnF3+rbk= =dPQZ -----END PGP SIGNATURE----- From ctabascog en ono.com Mon Jun 28 12:19:32 2004 From: ctabascog en ono.com (=?ISO-8859-3?Q?Carlos=20Tabasco=20Guzm=E1n?=) Date: Mon, 28 Jun 2004 12:19:32 +0200 Subject: enviar fichero por post In-Reply-To: <40D6D876.6000600@sicem.biz> References: <40D6D876.6000600@sicem.biz> Message-ID: <40D794F20000379D@mta02.ono.com> Muchas gracias, El modulo que me has recomendado esta muy bien, pero para mi caso no me sirve, tus recetas tambien me han sido utiles, pero no consigo me funcione correctamente: --boundary1 > >Content-Disposition: form-data; name=Nombrearchivo.xml >Content-Type: text/xml > >Aquí viene el archivo.... >..... > >--boundary1-- Como le mandas este bloque como ultimo parametro , lo he intentado de varias formas y no consigo que lo haga bien, me estoy comunicando con una maquina a la que no tengo acceso y me devuelve un mensaje de argumentos incorrectos con la solucion de tu receta. Muchas gracias >-- Mensaje original -- >Date: Mon, 21 Jun 2004 14:45:42 +0200 >From: Ernesto Revilla >To: La lista de python en castellano >Subject: Re: [Python-es] enviar fichero por post >Reply-To: La lista de python en castellano > > >Acabo de redactar una receta[1] con código sacado de algún proyecto, >pero me parece mucho más interesante que uses ClientForm[2], un paquete >muy completo y mucho más fácil de usar. > >En mi receta, mira lo que devuelve HTTPopen que devuelve una tupla con >los resultados de la solicitud: (response.status, response.reason, data, > >responseheaders) > > >[1] http://www.sicem.biz/personal/erny/python/recetaMandarPostAPaginaWeb >[2] http://wwwsearch.sourceforge.net > > >Respecto a tu mensaje, creo que las cabeceras no están bien, deberían >ser algo como: >Content-type: multipart/form-data; boundary=boundary1 > >y la parte para mandar un archivo es algo como: > >--boundary1 > >Content-Disposition: form-data; name=Nombrearchivo.xml >Content-Type: text/xml > >Aquí viene el archivo.... >..... > >--boundary1-- > >Erny > > > ------------ 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 Jun 28 12:48:23 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Mon, 28 Jun 2004 12:48:23 +0200 Subject: enviar fichero por post In-Reply-To: <40D794F20000379D@mta02.ono.com> References: <40D794F20000379D@mta02.ono.com> Message-ID: <1088419702.2339.1.camel@cynar.proteus> Por dar ideas, ¿puedes montar 'a mano' con un cliente de correo lo que quieres? Si es así, puedes ver el código fuente de lo que se monta si te lo envías a ti mismo, y a partir de ahí, montar por programa la misma información. Es una solución un poco sucia, pero a veces funcionan. El lun, 28-06-2004 a las 12:19, Carlos Tabasco Guzmán escribió: > Muchas gracias, > > El modulo que me has recomendado esta muy bien, pero para mi caso no me > sirve, tus recetas tambien me han sido utiles, pero no consigo me funcione > correctamente: > > --boundary1 > > > >Content-Disposition: form-data; name=Nombrearchivo.xml > >Content-Type: text/xml > > > >Aquí viene el archivo.... > >..... > > > >--boundary1-- > > > Como le mandas este bloque como ultimo parametro , lo he intentado de varias > formas y no consigo que lo haga bien, me estoy comunicando con una maquina > a la que no tengo acceso y me devuelve un mensaje de argumentos incorrectos > con la solucion de tu receta. > > Muchas gracias > > >-- Mensaje original -- > >Date: Mon, 21 Jun 2004 14:45:42 +0200 > >From: Ernesto Revilla > >To: La lista de python en castellano > >Subject: Re: [Python-es] enviar fichero por post > >Reply-To: La lista de python en castellano > > > > > >Acabo de redactar una receta[1] con código sacado de algún proyecto, > >pero me parece mucho más interesante que uses ClientForm[2], un paquete > > >muy completo y mucho más fácil de usar. > > > >En mi receta, mira lo que devuelve HTTPopen que devuelve una tupla con > > >los resultados de la solicitud: (response.status, response.reason, data, > > > >responseheaders) > > > > > >[1] http://www.sicem.biz/personal/erny/python/recetaMandarPostAPaginaWeb > >[2] http://wwwsearch.sourceforge.net > > > > > >Respecto a tu mensaje, creo que las cabeceras no están bien, deberían > >ser algo como: > >Content-type: multipart/form-data; boundary=boundary1 > > > >y la parte para mandar un archivo es algo como: > > > >--boundary1 > > > >Content-Disposition: form-data; name=Nombrearchivo.xml > >Content-Type: text/xml > > > >Aquí viene el archivo.... > >..... > > > >--boundary1-- > > > >Erny > > > > > > > > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Mon Jun 28 15:11:13 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Mon, 28 Jun 2004 15:11:13 +0200 Subject: enviar fichero por post In-Reply-To: <40D794F20000379D@mta02.ono.com> References: <40D794F20000379D@mta02.ono.com> Message-ID: <40E018F1.3030008@sicem.biz> Hola, si te da error de argumentos no correctos, puede ser por varias razones: * el nombre del campo que tú mandas no se llama exáctamente cómo tu le dices. Por ejmplo, a lo mejor el campo no se llama 'filename', sino fichero, o lo que sea. Abre el código fuente y mira el nombre del campo para indicar el archivo, miralo con la información de página del mozilla (que indica muy bien todos los campos del formulario) o mándanos la referencia al servidor Web. * no indicas el value del submit. Si hay varios botones submit, los servidores suelen distinguirlo por el 'value'. De nuevo, mira el código fuente de la página. * efectivamente, algo no está bien con el archivo que mandas (que me parece menos probable, el servidor diría algo como el archivo no está bien, no que un parámentro es incorrecto). En ese caso, podrías usar ClienteForm que te he referenciado antes, ese módulo tiene que funcionar seguro. * lo que también puede ser, es que si trabajas con un servidor de correo o cualquier otro paquete que requiere sesiones. Entonces tienes que recuperar la cookie de inicio de sesión, y proporcionarla en cada nueva llamada al servidor (en las cabeceras). Si no, el servidor te debería decir que no estás autorizado. Saludos, Erny Carlos Tabasco Guzmán escribió: >Muchas gracias, > >El modulo que me has recomendado esta muy bien, pero para mi caso no me >sirve, tus recetas tambien me han sido utiles, pero no consigo me funcione >correctamente: > >--boundary1 > > >>Content-Disposition: form-data; name=Nombrearchivo.xml >>Content-Type: text/xml >> >>Aquí viene el archivo.... >>..... >> >>--boundary1-- >> >> > > >Como le mandas este bloque como ultimo parametro , lo he intentado de varias >formas y no consigo que lo haga bien, me estoy comunicando con una maquina >a la que no tengo acceso y me devuelve un mensaje de argumentos incorrectos >con la solucion de tu receta. > >Muchas gracias > > > >>-- Mensaje original -- >>Date: Mon, 21 Jun 2004 14:45:42 +0200 >>From: Ernesto Revilla >>To: La lista de python en castellano >>Subject: Re: [Python-es] enviar fichero por post >>Reply-To: La lista de python en castellano >> >> >>Acabo de redactar una receta[1] con código sacado de algún proyecto, >>pero me parece mucho más interesante que uses ClientForm[2], un paquete >> >> > > > >>muy completo y mucho más fácil de usar. >> >>En mi receta, mira lo que devuelve HTTPopen que devuelve una tupla con >> >> > > > >>los resultados de la solicitud: (response.status, response.reason, data, >> >>responseheaders) >> >> >>[1] http://www.sicem.biz/personal/erny/python/recetaMandarPostAPaginaWeb >>[2] http://wwwsearch.sourceforge.net >> >> >>Respecto a tu mensaje, creo que las cabeceras no están bien, deberían >>ser algo como: >>Content-type: multipart/form-data; boundary=boundary1 >> >>y la parte para mandar un archivo es algo como: >> >>--boundary1 >> >>Content-Disposition: form-data; name=Nombrearchivo.xml >>Content-Type: text/xml >> >>Aquí viene el archivo.... >>..... >> >>--boundary1-- >> >>Erny >> >> >> >> >> > > > >------------------------------------------------------------------------ > >_______________________________________________ >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 dagorret en nmt.com.ar Mon Jun 28 15:15:34 2004 From: dagorret en nmt.com.ar (dagorret en nmt.com.ar) Date: Mon, 28 Jun 2004 10:15:34 -0300 (ART) Subject: Manuales In-Reply-To: <40DFE767.80704@sicem.biz> References: <4201.170.210.134.244.1088197640.squirrel@170.210.134.244> <40DFE767.80704@sicem.biz> Message-ID: <3275.170.210.134.244.1088428534.squirrel@170.210.134.244> Gracias. Por lo que interpreto me suguieres que vaya probando contra proyectos concretos el lenguaje python. Yo soy programador principalmente Java, Delphi y C/C++. Lamentablemente los proyecto en que estoy embarcado son demasiados grandes, y necesito hacerlos clientes servidor. He estado viendo la interfaces a librerias gráficas: - GTK - QT - WxWindows Mi base de datos es FireBird. Conocen ustedes algún proyecto GNU que esten trabajando con algunas librerías antes espuestas, para: - Aprender Python - Contribuir, de paso, a algún proyecto Gracias amigos listeros. > Hola, > > creo que tutorial traducido de Python es bastante bueno, para ver las > capacidades del lenguaje. Trabaja con estructuras de datos, explica la > simplicidad de la sintaxis, explica qué son espacios de nombre y cómo se > usan, y algunas cosas más. Creo que no es adecuado incluir > instrucciones sobre la libería estándar de Python, que creo puede leerse > en inglés. > > El dónde puedas usar Python, es la pregunta de siempre. ¿Dónde puedes > usar C, C++, Java, etc.? Python hace un buen juego con C, así que > respuesta: en todos los ámbitos que no necesitas mucha velocidad y donde > tengas posibilidad de instalar intérprete Python. (A lo mejor no lo > puedes usar, si te hace falta crear un programa que corra dentro de un > navegador en el lado cliente y que necesita un buen modelo de seguridad). > > Ahora bien, normalmente trabajas sobre temas concretos, así que mira si > encuentras algunas librerías que resuelva en gran parte tus problemas, y > en función de eso eliges lenguaje y entorno de programación. > > Saludos, Erny > > > dagorret en nmt.com.ar escribió: > >>Me gustaría saber si alguien conoce un manual de Python en español. >>Lo que estoy buscando, no es un manual descriptivo del lenguaje, sino >> algo >>más avanzado para poder saber más de las capacidades de este. >>Si bien en el manual "oficial" aparece las capacidades de este, me >>gustaría trabajarlo más para saber donde utilizar python y donde no. >> >>Desde ya muchas gracias y que tengan un buen día. >> >>_______________________________________________ >>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 rapto en arrakis.es Mon Jun 28 21:21:39 2004 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: Mon, 28 Jun 2004 21:21:39 +0200 Subject: Manuales In-Reply-To: <3275.170.210.134.244.1088428534.squirrel@170.210.134.244> References: <4201.170.210.134.244.1088197640.squirrel@170.210.134.244> <40DFE767.80704@sicem.biz> <3275.170.210.134.244.1088428534.squirrel@170.210.134.244> Message-ID: <1088450497.3339.7.camel@renata.macondo.pri> Mira meld, un calculador de diferencias con integración CVS y tal. http://meld.sourceforge.net/ El lun, 28-06-2004 a las 15:15, dagorret en nmt.com.ar escribió: > Gracias. > > Por lo que interpreto me suguieres que vaya probando contra proyectos > concretos el lenguaje python. > > Yo soy programador principalmente Java, Delphi y C/C++. > Lamentablemente los proyecto en que estoy embarcado son demasiados > grandes, y necesito hacerlos clientes servidor. > > He estado viendo la interfaces a librerias gráficas: > - GTK > - QT > - WxWindows > > Mi base de datos es FireBird. > > Conocen ustedes algún proyecto GNU que esten trabajando con algunas > librerías antes espuestas, para: > > - Aprender Python > - Contribuir, de paso, a algún proyecto > > Gracias amigos listeros. > > > Hola, > > > > creo que tutorial traducido de Python es bastante bueno, para ver las > > capacidades del lenguaje. Trabaja con estructuras de datos, explica la > > simplicidad de la sintaxis, explica qué son espacios de nombre y cómo se > > usan, y algunas cosas más. Creo que no es adecuado incluir > > instrucciones sobre la libería estándar de Python, que creo puede leerse > > en inglés. > > > > El dónde puedas usar Python, es la pregunta de siempre. ¿Dónde puedes > > usar C, C++, Java, etc.? Python hace un buen juego con C, así que > > respuesta: en todos los ámbitos que no necesitas mucha velocidad y donde > > tengas posibilidad de instalar intérprete Python. (A lo mejor no lo > > puedes usar, si te hace falta crear un programa que corra dentro de un > > navegador en el lado cliente y que necesita un buen modelo de seguridad). > > > > Ahora bien, normalmente trabajas sobre temas concretos, así que mira si > > encuentras algunas librerías que resuelva en gran parte tus problemas, y > > en función de eso eliges lenguaje y entorno de programación. > > > > Saludos, Erny > > > > > > dagorret en nmt.com.ar escribió: > > > >>Me gustaría saber si alguien conoce un manual de Python en español. > >>Lo que estoy buscando, no es un manual descriptivo del lenguaje, sino > >> algo > >>más avanzado para poder saber más de las capacidades de este. > >>Si bien en el manual "oficial" aparece las capacidades de este, me > >>gustaría trabajarlo más para saber donde utilizar python y donde no. > >> > >>Desde ya muchas gracias y que tengan un buen día. > >> > >>_______________________________________________ > >>Python-es mailing list > >>Python-es en aditel.org > >>http://listas.aditel.org/listinfo/python-es > >> > >> > >> > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From se05216 en salleURL.edu Tue Jun 29 13:37:48 2004 From: se05216 en salleURL.edu (Christal Berengena Moreno) Date: Tue, 29 Jun 2004 13:37:48 +0200 (CEST) Subject: Problemas Entry Tkinter In-Reply-To: <40C43983.90602@sicem.biz> References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> <40C43983.90602@sicem.biz> Message-ID: Hola a todos! Os explico un poco nuestro problema para ver si alguien sabe a que puede ser debido... Tenemos un programa en python que en ciertas ocasiones solicita informacion del usuario mediante "entry" de tkinter... hasta aqui todo bien... Lo especial en nuestro problema es que solo nos permite acceder a la parte de entrada del entry, solo nos aparece en cursor para introducir datos, la primera vez que abrimos el toplevel que contiene el entry... Nos pasa en todos los entrys y no sabemos que es lo que puede causar esto... parece como si el entry tubiera un "tope" en una especie de buffer y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos todo y al abrirlo de nuevo se genera otra vez... El codigo que utilizamos para generarlo es este... self.entryVarNombreMolde=StringVar() self.entryVarNombreMolde.set(self.InterfazGeneral.valoresMaqs[self.nummaq].TxtCaractMoldeAct[0]) self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, bg='white', font=('arial','18','bold'), textvariable=self.entryVarNombreMolde) self.EntryNombreMolde.place(relx=0.05, rely=0.4) Luego, al leerlo siempre usamos self.entryVarNombreMolde.get(), pero eso no nos da problemas... Si alguien tiene idea de como se puede solucionar o hay alguna otra manera de introducir datos... que no dude en decirnoslo!! Un saludo y gracias!!!!! Y si necesitais que os explique mas para poder ayudarnos... no hay problema... otra vez gracias!! :) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Tue Jun 29 13:59:46 2004 From: py en ch3m4.org (Chema =?iso-8859-15?q?Cort=E9s?=) Date: Tue, 29 Jun 2004 13:59:46 +0200 Subject: Problemas Entry Tkinter In-Reply-To: References: <40BE185E.5030609@yahoo.com.ar> <40C43983.90602@sicem.biz> Message-ID: <200406291359.49433.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tuesday 29 June 2004 13:37, Christal Berengena Moreno wrote: > Hola a todos! > > Os explico un poco nuestro problema para ver si alguien sabe a que puede > ser debido... No entiendo muy bien el problema, pero ¿no te faltará hacer un SetFocus o similar para activar el Entry? Algo tal como self.EntryNombreMolde.focus() cuando abres la ventana. Si pones algo de código que podamos probar te podría indicar mejor. > Tenemos un programa en python que en ciertas ocasiones solicita > informacion del usuario mediante "entry" de tkinter... hasta aqui todo > bien... Lo especial en nuestro problema es que solo nos permite acceder a > la parte de entrada del entry, solo nos aparece en cursor para introducir > datos, la primera vez que abrimos el toplevel que contiene el entry... > Nos pasa en todos los entrys y no sabemos que es lo que puede causar > esto... parece como si el entry tubiera un "tope" en una especie de buffer > y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos > todo y al abrirlo de nuevo se genera otra vez... > > ..... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQFA4Vm1HLTQrABk8H0RAn2pAKCehdE0T6BTx/qOXJZCqxmztdcYkwCgn67e ysXNh/+nkh1CGv4KlS3Nm5A= =pJh4 -----END PGP SIGNATURE----- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From e18278 en mail.uajms.edu.bo Tue Jun 29 17:43:14 2004 From: e18278 en mail.uajms.edu.bo (Kamus) Date: Tue, 29 Jun 2004 11:43:14 -0400 (BOT) Subject: Dudas sobre import pygtk Message-ID: <27849.200.87.30.11.1088523794.squirrel@webmail.uajms.edu.bo> Hola. Vengo de programar en Pascal, Object Pascal (Delphi) y PHP. Ya lei varios manuales y hice ejemplos basicos. Tambien practique con funciones y clases. Ahora estoy haciendo practicas en modo grafico con pygtk y glade. Revisé varios ejemplos y me funcionan bien. Tengo un problema con el "import pygtk" que se pone al comienzo de cada script de python para trabajar en modo grafico con glade y pygtk. Lo que no entiendo es: ¿Por que en el codigo que tiene esta linea (import pygtk), no se usa en ningun momento intrucciones como esta x=pygtk.yyy ? O sea si hago un import de pygtk, se supone que en algun momento debo utilizar una sentencia de esta manera: algo=pygtk.unafuncion_o_metodo() Al igual que se hace con gtk: widgets = gtk.glade.XML('archivo.glade') Hice una prueba comentando la linea: import pygtk y todo me funciono sin problemas. Entonces para que sirve realmente la linea: import pygtk Muchas gracias de antemano. PD.- Alguien podria enviarme o decirme donde puedo encontrar un ejemplo de una pantalla de login. O sea quiero que al iniciar el programa me pida el usuario y la contraseña. Si los datos son incorrectos que me salga un mensage de error y si estan correctos que me muestre la pantalla principal de mi programa. ATTE _____________________________________ Julio Carlos Canaviri C. e-mail : e18278 en mail.uajms.edu.bo Linux Registered User #306526 _____________________________________ From lgs en sicem.biz Tue Jun 29 18:39:21 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Tue, 29 Jun 2004 18:39:21 +0200 Subject: Dudas sobre import pygtk In-Reply-To: <27849.200.87.30.11.1088523794.squirrel@webmail.uajms.edu.bo> References: <27849.200.87.30.11.1088523794.squirrel@webmail.uajms.edu.bo> Message-ID: <1088527159.2329.2.camel@localhost.localdomain> Lo normal es que hagas esto: import pygtk pygtk.require('2.0') Con eso estas diciendo que la version de pygtk que vas a utilizar es la 2.0 (o 2.2, 2.4, ...). Si en tu sistema solo tienes instalada esa version no te hacen falta esas dos lineas, pero en sistemas donde funciona GTK+1.2 y GTK+2.0 simultaneamente esta es la forma de especificar cual de ellas vas a utilizar. Lorenzo El mar, 29-06-2004 a las 17:43, Kamus escribió: > Hola. > > Vengo de programar en Pascal, Object Pascal (Delphi) y PHP. > > Ya lei varios manuales y hice ejemplos basicos. Tambien practique con > funciones y clases. > > Ahora estoy haciendo practicas en modo grafico con pygtk y glade. Revisé > varios ejemplos y me funcionan bien. > > Tengo un problema con el "import pygtk" que se pone al comienzo de cada > script de python para trabajar en modo grafico con glade y pygtk. Lo que > no entiendo es: > > ¿Por que en el codigo que tiene esta linea (import pygtk), no se usa en > ningun momento intrucciones como esta x=pygtk.yyy ? > > O sea si hago un import de pygtk, se supone que en algun momento debo > utilizar una sentencia de esta manera: algo=pygtk.unafuncion_o_metodo() > > Al igual que se hace con gtk: widgets = gtk.glade.XML('archivo.glade') > > > Hice una prueba comentando la linea: import pygtk y todo me funciono > sin problemas. Entonces para que sirve realmente la linea: import pygtk > > > Muchas gracias de antemano. > > > PD.- Alguien podria enviarme o decirme donde puedo encontrar un ejemplo de > una pantalla de login. O sea quiero que al iniciar el programa me > pida el usuario y la contraseña. Si los datos son incorrectos que me > salga un mensage de error y si estan correctos que me muestre la > pantalla principal de mi programa. > > > > ATTE > _____________________________________ > > Julio Carlos Canaviri C. > e-mail : e18278 en mail.uajms.edu.bo > Linux Registered User #306526 > _____________________________________ > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From lars en telefonica.net Tue Jun 29 18:39:15 2004 From: lars en telefonica.net (lars) Date: Tue, 29 Jun 2004 18:39:15 +0200 Subject: Formateo de cadenas Message-ID: <1088527154.3144.68.camel@linux> Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay alguna funcion para posicionar texto en cualquier parte de la pantalla, algun "locate" o algo parecido, la segunda, se puede colorear el texto en python? Gracias ------------ 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 Jun 29 18:41:47 2004 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Tue, 29 Jun 2004 13:41:47 -0300 Subject: Formateo de cadenas Message-ID: [lars] #- Hola, quisiera hacerles un par de preguntas... lo primero, #- saber si hay #- alguna funcion para posicionar texto en cualquier parte de #- la pantalla, #- algun "locate" o algo parecido, la segunda, se puede #- colorear el texto #- en python? Gracias Creo que lo mejor es que uses el módulo curses: http://docs.python.org/lib/module-curses.html Slds. Facundo Batista Desarrollo de Red fbatista en unifon.com.ar (54 11) 5130-4643 Cel: 15 5097 5024 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Tue Jun 29 21:03:49 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Tue, 29 Jun 2004 21:03:49 +0200 Subject: Problemas Entry Tkinter In-Reply-To: References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> <40C43983.90602@sicem.biz> Message-ID: <40E1BD15.4060205@sicem.biz> Con más código nos ayudarías: * estás ejecutando el mainloop() al final del programa? * estáis creando los Entries cada vez de nuevo? Los StringVars también? * qué se utiliza para cerrar la ventana? ... Erny Christal Berengena Moreno escribió: >Hola a todos! > >Os explico un poco nuestro problema para ver si alguien sabe a que puede >ser debido... >Tenemos un programa en python que en ciertas ocasiones solicita >informacion del usuario mediante "entry" de tkinter... hasta aqui todo >bien... Lo especial en nuestro problema es que solo nos permite acceder a >la parte de entrada del entry, solo nos aparece en cursor para introducir >datos, la primera vez que abrimos el toplevel que contiene el entry... >Nos pasa en todos los entrys y no sabemos que es lo que puede causar >esto... parece como si el entry tubiera un "tope" en una especie de buffer >y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos >todo y al abrirlo de nuevo se genera otra vez... > >El codigo que utilizamos para generarlo es este... > >self.entryVarNombreMolde=StringVar() >self.entryVarNombreMolde.set(self.InterfazGeneral.valoresMaqs[self.nummaq].TxtCaractMoldeAct[0]) >self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, > bg='white', font=('arial','18','bold'), > textvariable=self.entryVarNombreMolde) >self.EntryNombreMolde.place(relx=0.05, rely=0.4) > >Luego, al leerlo siempre usamos self.entryVarNombreMolde.get(), pero eso >no nos da problemas... > >Si alguien tiene idea de como se puede solucionar o hay alguna otra manera >de introducir datos... que no dude en decirnoslo!! > >Un saludo y gracias!!!!! >Y si necesitais que os explique mas para poder ayudarnos... no hay >problema... otra vez gracias!! :) > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > From jcanto en hispasec.com Wed Jun 30 09:43:16 2004 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 30 Jun 2004 09:43:16 +0200 Subject: Formateo de cadenas In-Reply-To: <1088527154.3144.68.camel@linux> References: <1088527154.3144.68.camel@linux> Message-ID: <40E26F14.2000503@hispasec.com> lars wrote: >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay >alguna funcion para posicionar texto en cualquier parte de la pantalla, >algun "locate" o algo parecido, la segunda, se puede colorear el texto >en python? Gracias > > Existe un modulo llamado curses que sirve para eso. En Windows uso una libreria llamada wconio que no es tan potente, pero a falta de pan :D Un saludo, JC From o.merchan en bussitel.es Wed Jun 30 10:34:48 2004 From: o.merchan en bussitel.es (Oscar Merchan) Date: Wed, 30 Jun 2004 10:34:48 +0200 Subject: Formateo de cadenas In-Reply-To: <40E26F14.2000503@hispasec.com> References: <1088527154.3144.68.camel@linux> <40E26F14.2000503@hispasec.com> Message-ID: <20040630103448.25653193.o.merchan@bussitel.es> On Wed, 30 Jun 2004 09:43:16 +0200 Julio Canto wrote: Buenas. Yo lo que utilizo para hacer eso, son los codigo ansi, que los puedes utilizar sin problemas con el print de la siguiente manera .- print "\033[5;2H","Lo que quieras poner" Con esto, el texto saldria en la fila 5, columna 2. Para el color del texto, utilizo una receta que encontre por inet, que es la siguiente .- import os, tty, termios enable_color = 1 hotkeycol = "red" colors = { "black" : "30", "red" : "31", "green" : "32", "brown" : "33", "blue" : "34", "purple" : "35", "cyan" : "36", "lgray" : "37", "gray" : "1;30", "lred" : "1;31", "lgreen" : "1;32", "yellow" : "1;33", "lblue" : "1;34", "pink" : "1;35", "lcyan" : "1;36", "white" : "1;37", "lyellow" : "43" } def color(text, fg, bg=None, raw=0): if not enable_color: return text if type(fg) in (TupleType, ListType): fg, bg = fg if not fg: return text opencol = "\033[" closecol = "m" if raw: opencol = r"\[\033[" closecol = r"m\]" clear = opencol + "0" + closecol xterm = 0 if os.environ["TERM"] == "xterm": xterm = 1 b = '' # In xterm, brown comes out as yellow.. if xterm and fg == "yellow": fg = "brown" f = opencol + colors[fg] + closecol if bg: if bg == "yellow" and xterm: bg = "brown" try: b = colors[bg].replace('3', '4', 1) b = opencol + b + closecol except KeyError: pass return "%s%s%s%s" % (b, f, text, clear) Y la forma de utilizarlo junto con el codigo ansi seria mas o menos asi .- print "\033[5;2H"+color("Texto que quieras poner","cyan") Con esto el texto te saldria en cyan, y si quieres ponerle tambien color en background seria .- color("Texto que quieres poner","cyan","red") Quizas esta forma no estan limpia como utilizar las curses, pero si mas standar para cualquier version de python. Saludos, Oscar Merchan. > lars wrote: > > >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay > >alguna funcion para posicionar texto en cualquier parte de la pantalla, > >algun "locate" o algo parecido, la segunda, se puede colorear el texto > >en python? Gracias > > > > > Existe un modulo llamado curses que sirve para eso. En Windows uso una > libreria llamada wconio que no es tan potente, pero a falta de pan :D > Un saludo, > JC > _______________________________________________ > 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 lgs en sicem.biz Wed Jun 30 12:36:06 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Wed, 30 Jun 2004 12:36:06 +0200 Subject: [ANUNCIO] Publicado Gazpacho 0.1.0 Message-ID: <1088591765.2247.18.camel@localhost.localdomain> Hola a todos. Os anuncio que hemos publicado la primera version de Gazpacho, un diseñador de pantallas para GTK+ (y PyGTK) Este programa te permite crear la interfaz grafica de usuario (GUI) de tus programas PyGTK de una manera visual. Si, es un clon de Glade. Es compatible con libglade y esta en sus fases mas tempranas de desarrollo. Gazpacho es parte del marco de trabajo Gruppy pero no depende en absoluto de el por lo que puedes usarlo de forma independiente. Puedes ver algunos pantallazos de Gazpacho en http://gruppy.sicem.biz/pantallazos O tambien puedes descargarlo en: http://gruppy.sicem.biz/descargas Si tienes alguna mejora o algun informe de fallos por favor rellenalos en nuestro gestor de fallos Mantis: http://www.sicem.biz/bugs/gruppy/ Por favor, selecciona el proyecto Gazpacho una vez que estes dentro de Mantis. Hay una lista de correo para Gazpacho. Puedes subscribirte en su interfaz web en: http://www.sicem.biz/mailman/listinfo/gazpacho Por ultimo deciros qeu Gazpacho es GPL. Un saludo Lorenzo Gil Sanchez Nota: perdon a los usuarios de gnome-desarrollo en es.gnome.org por mandar esto dos veces pero la primera fue un error porque iba en ingles y creo que merecia la pena una traduccion para dicha lista. From vitojph en gmx.net Wed Jun 30 16:42:52 2004 From: vitojph en gmx.net (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Wed, 30 Jun 2004 16:42:52 +0200 Subject: Recuperando valores de diccionarios. Message-ID: <200406301642.54174.vitojph@gmx.net> ¡Hola a todos! Llevo un par de horas parado dando vueltas a una cosa. Espero que se entienda, voy pasito a paso: Tengo definido un diccionario, por ejemplo: >>> a = {1: "uno", 2: "dos", 3: "tres", 1234: "mucho"} >>> a {1: 'uno', 2: 'dos', 3: 'tres', 1234: 'mucho'} Defino una determinada expresión regular para capturar dígitos tras cualquier palabra a la que pongo como nombre "num". >>> import re >>> regex = re.compile(r"\w+ (?P\d+) ") Y compruebo que funciona con esta cadena, por ejemplo: >>> m = regex.search("esta 1234 cadena tiene números") >>> print m.group('num') 1234 Muy bien, pues me gustaría recuperar el valor asociado a m.group('num') en el diccionario a, pero soy incapaz. Probamos: >>> print a[m.group('num')] Traceback (most recent call last): File "", line 1, in ? KeyError: '1234' Usando el método de diccionario get(), obtengo un resultado curiso: >>> print a.get(m.group('num')) None Y estoy seguro de que el valor "capturado" en m.group('num') existe en mi diccionario >>> print a[1234] mucho >>> a.has_key(1234) True Peeero, si fuerzo que lo busque la clave como cadena (que es lo que parece que hace en los ejemplos de arriba), no funciona. >>> a.has_key('1234') False Así que empiezo a intuir un poco a qué se debe el error, aunque no estoy seguro. Tendría que transformar las claves del diccionario a cadenas (aunque son dígitos) o al revés, ¿no? Por ejemplo: >>> print a.get(int(m.group('num'))) mucho ¿Se debe a esto el error o tiene una explicación más compleja? ¿Es ésta la única forma de arreglar este problema? Y una pregunta más: ¿cómo construyo diccionarios multidimensionales (un hash de hashes)? Gracias de antemano y saludos. PD.: Perdonad por el rollo que os acabo de meter. -- Res publica non dominetur. Víctor Peinado || vitojph gmx net || http://vitojph.yoll.net Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA JID: vitojph jabber dk || ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From hernan en orgmf.com.ar Wed Jun 30 17:01:04 2004 From: hernan en orgmf.com.ar (=?iso-8859-15?Q?Hern=E1n_Mart=EDnez_Foffani?=) Date: Wed, 30 Jun 2004 17:01:04 +0200 Subject: Recuperando valores de diccionarios. In-Reply-To: <200406301642.54174.vitojph@gmx.net> References: <200406301642.54174.vitojph@gmx.net> Message-ID: > ... > Así que empiezo a intuir un poco a qué se debe el error, aunque no > estoy seguro. Tendría que transformar las claves del diccionario a > cadenas (aunque son dígitos) o al revés, ¿no? Por ejemplo: > >>>> print a.get(int(m.group('num'))) > mucho > > ¿Se debe a esto el error o tiene una explicación más compleja? ¿Es > ésta la única forma de arreglar este problema? Sí, el error que daba es por eso. group() devuelve un objeto tipo string. Como tu expresion regular es "\d+", la funcion que la procesa podría aplicar el constructor int() al resultado. > Y una pregunta más: ¿cómo construyo diccionarios multidimensionales > (un hash de hashes)? De la forma mas natural: >>> a = { 1:{ 10:"uno diez", 20:"uno veinte"}, 2:{ 30:"dos treinta"}} >>> a {1: {10: 'uno diez', 20: 'uno veinte'}, 2: {30: 'dos treinta'}} >>> a[1][20] 'uno veinte' >>> ;-) -H. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en pytables.org Wed Jun 30 17:06:26 2004 From: falted en pytables.org (Francesc Alted) Date: Wed, 30 Jun 2004 17:06:26 +0200 Subject: Recuperando valores de diccionarios. In-Reply-To: <200406301642.54174.vitojph@gmx.net> References: <200406301642.54174.vitojph@gmx.net> Message-ID: <200406301706.26824.falted@pytables.org> A Dimecres 30 Juny 2004 16:42, Víctor Peinado va escriure: > >>> print a.get(int(m.group('num'))) > mucho > > ¿Se debe a esto el error o tiene una explicación más compleja? ¿Es ésta la > única forma de arreglar este problema? Pues tú mismo has encontrado la respuesta: tu diccionario tiene como claves números enteros, no cadenas. Por tanto, sólo podrás acceder a sus entradas poniendo un entero, no una cadena. > Y una pregunta más: ¿cómo construyo diccionarios multidimensionales (un hash > de hashes)? Pues de la manera más obvia: >>> a = {1: "uno", 2: "dos", 3: "tres", 1234: "mucho"} >>> b = {4: "cuatro", 5: "cinco", 6: "sei", 1234: "ni poco"} >>> c = {1:a, 2:b} >>> c {1: {1: 'uno', 2: 'dos', 3: 'tres', 1234: 'mucho'}, 2: {1234: 'ni poco', 4: 'cuatro', 5: 'cinco', 6: 'sei'}} Saludos, -- Francesc Alted ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From se05216 en salleURL.edu Wed Jun 30 17:32:46 2004 From: se05216 en salleURL.edu (Christal Berengena Moreno) Date: Wed, 30 Jun 2004 17:32:46 +0200 (CEST) Subject: Problemas Entry Tkinter In-Reply-To: <40E1BD15.4060205@sicem.biz> References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> <40C43983.90602@sicem.biz> <40E1BD15.4060205@sicem.biz> Message-ID: He hecho un "codigo de muestra" con el problema... en este tambien me pasa lo mismo... from Tkinter import * import string root=Tk() class Molde: def __init__(self,parent): self.raizppal=parent self.CambiaNombreMolde() def CambiaNombreMolde(self): self.frNombreMolde2=Toplevel(self.raizppal, bg='#908875', borderwidth=3, relief='raised') self.frNombreMolde2.geometry('400x300+250+100') self.frNombreMolde2.overrideredirect(1) self.frNombreMolde=Frame(self.frNombreMolde2, bg='#e7dfca', borderwidth=3, relief='sunken') self.frNombreMolde.place(relx=0.005, rely=0.015, relh=0.97, relw=0.99) self.LblEntryNombreMolde=Label(self.frNombreMolde,bg='#e7dfca', text="NUEVO NOMBRE", font=('arial','16','bold')) self.LblEntryNombreMolde.place(relx=0.05, rely=0.25) self.entryVarNombreMolde=StringVar() self.entryVarNombreMolde.set("nuevo") self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, bg='white', font=('arial','18','bold'), textvariable=self.entryVarNombreMolde) self.EntryNombreMolde.place(relx=0.05, rely=0.4) #~ self.EntryNombreMolde.focus() self.btnSalvarNombreMolde=Button(self.frNombreMolde, bg='#908875', fg='white', text="OK", font=('arial','16','bold'), command=self.cmdBtnOKNombreMolde) self.btnSalvarNombreMolde.place(relx=0.3, rely=0.65, relh=0.15, relw=0.25) self.btnSalirNombreMolde=Button(self.frNombreMolde, bg='#908875', fg='white', text="SALIR", font=('arial','16','bold'), command=self.frNombreMolde2.destroy) self.btnSalirNombreMolde.place(relx=0.6, rely=0.65, relh=0.15, relw=0.25) def cmdBtnOKNombreMolde(self): self.NombreMolde=self.entryVarNombreMolde.get() if self.NombreMolde=='': pass elif len(self.NombreMolde)>15: pass else: print "molde cambiado"+self.NombreMolde self.frNombreMolde2.destroy() def cmdBtnSalirMolde(self): self.frNombreMolde2.destroy() if __name__ == '__main__': root.geometry("200x100+400+300") root.overrideredirect(1) btnNombre=Button(root,text="INSERTAR NOMBRE",bg="blue",command=lambda parent=root: Molde(parent)) btnNombre.pack(side=TOP, fill=BOTH, expand=YES) btnSalir=Button(root,text="SALIR",bg="orange",command=root.destroy) btnSalir.pack(side=TOP, fill=BOTH, expand=YES) root.mainloop() On Tue, 29 Jun 2004, Ernesto Revilla wrote: > Con más código nos ayudarías: > > * estás ejecutando el mainloop() al final del programa? SI > > * estáis creando los Entries cada vez de nuevo? Los StringVars también? SI, SE SOBREESCRIBEN CADA VEZ QUE ENTRO... > > * qué se utiliza para cerrar la ventana? DESTRUYO EL FRAME PRINCIPAL DE LA MISMA (EL QUE CONTIENE TODOS LOS ENTRY), TAMBIEN HE INTENTADO DESTRUIR OBJETO A OBJETO Y HACE LO MISMO... > ... > Erny SI NECESITAIS MAS... DECIDLO QUE OS ENVIO MAS, PERO NO SE QUE PUEDE SER! HE PROBADO TAMBIEN PONER LO DEL FOCUS PARA ACTIVARLO Y NADA... GRACIAS!! > > > Christal Berengena Moreno escribió: > > >Hola a todos! > > > >Os explico un poco nuestro problema para ver si alguien sabe a que puede > >ser debido... > >Tenemos un programa en python que en ciertas ocasiones solicita > >informacion del usuario mediante "entry" de tkinter... hasta aqui todo > >bien... Lo especial en nuestro problema es que solo nos permite acceder a > >la parte de entrada del entry, solo nos aparece en cursor para introducir > >datos, la primera vez que abrimos el toplevel que contiene el entry... > >Nos pasa en todos los entrys y no sabemos que es lo que puede causar > >esto... parece como si el entry tubiera un "tope" en una especie de buffer > >y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos > >todo y al abrirlo de nuevo se genera otra vez... > > > >El codigo que utilizamos para generarlo es este... > > > >self.entryVarNombreMolde=StringVar() > >self.entryVarNombreMolde.set(self.InterfazGeneral.valoresMaqs[self.nummaq].TxtCaractMoldeAct[0]) > >self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, > > bg='white', font=('arial','18','bold'), > > textvariable=self.entryVarNombreMolde) > >self.EntryNombreMolde.place(relx=0.05, rely=0.4) > > > >Luego, al leerlo siempre usamos self.entryVarNombreMolde.get(), pero eso > >no nos da problemas... > > > >Si alguien tiene idea de como se puede solucionar o hay alguna otra manera > >de introducir datos... que no dude en decirnoslo!! > > > >Un saludo y gracias!!!!! > >Y si necesitais que os explique mas para poder ayudarnos... no hay > >problema... otra vez gracias!! :) > > > > > >------------------------------------------------------------------------ > > > >_______________________________________________ > >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 rvr en infoastro.com Wed Jun 30 17:32:23 2004 From: rvr en infoastro.com (=?iso-8859-1?q?V=EDctor_R=2E?= Ruiz) Date: Wed, 30 Jun 2004 16:32:23 +0100 Subject: [ANUNCIO] Publicado Gazpacho 0.1.0 In-Reply-To: <1088591765.2247.18.camel@localhost.localdomain> References: <1088591765.2247.18.camel@localhost.localdomain> Message-ID: <200406301632.23877.rvr@infoastro.com> Hola: El Miércoles, 30 de Junio de 2004 11:36, Lorenzo Gil Sanchez tecleó: > Este programa te permite crear la interfaz grafica de usuario (GUI) de > tus programas PyGTK de una manera visual. Si, es un clon de Glade. Es > compatible con libglade y esta en sus fases mas tempranas de desarrollo. ¿Qué diferencias tiene con Glade? Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia From se05216 en salleURL.edu Wed Jun 30 17:36:56 2004 From: se05216 en salleURL.edu (Christal Berengena Moreno) Date: Wed, 30 Jun 2004 17:36:56 +0200 (CEST) Subject: Problemas Entry Tkinter In-Reply-To: <40E1BD15.4060205@sicem.biz> References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> <40C43983.90602@sicem.biz> <40E1BD15.4060205@sicem.biz> Message-ID: Acabo de ver que si quito la opcion del toplevel de self.frNombreMolde2.overrideredirect(1) no me pasa... puede tener esto que ver?? hay alguna manera de evitar esto? porque el toplevel tiene que estar con esta opcion activada ya que tiene que mantenerse siemrpe delante... ufff... Gracias! On Tue, 29 Jun 2004, Ernesto Revilla wrote: > Con más código nos ayudarías: > > * estás ejecutando el mainloop() al final del programa? > > * estáis creando los Entries cada vez de nuevo? Los StringVars también? > > * qué se utiliza para cerrar la ventana? > ... > Erny > > > Christal Berengena Moreno escribió: > > >Hola a todos! > > > >Os explico un poco nuestro problema para ver si alguien sabe a que puede > >ser debido... > >Tenemos un programa en python que en ciertas ocasiones solicita > >informacion del usuario mediante "entry" de tkinter... hasta aqui todo > >bien... Lo especial en nuestro problema es que solo nos permite acceder a > >la parte de entrada del entry, solo nos aparece en cursor para introducir > >datos, la primera vez que abrimos el toplevel que contiene el entry... > >Nos pasa en todos los entrys y no sabemos que es lo que puede causar > >esto... parece como si el entry tubiera un "tope" en una especie de buffer > >y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos > >todo y al abrirlo de nuevo se genera otra vez... > > > >El codigo que utilizamos para generarlo es este... > > > >self.entryVarNombreMolde=StringVar() > >self.entryVarNombreMolde.set(self.InterfazGeneral.valoresMaqs[self.nummaq].TxtCaractMoldeAct[0]) > >self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, > > bg='white', font=('arial','18','bold'), > > textvariable=self.entryVarNombreMolde) > >self.EntryNombreMolde.place(relx=0.05, rely=0.4) > > > >Luego, al leerlo siempre usamos self.entryVarNombreMolde.get(), pero eso > >no nos da problemas... > > > >Si alguien tiene idea de como se puede solucionar o hay alguna otra manera > >de introducir datos... que no dude en decirnoslo!! > > > >Un saludo y gracias!!!!! > >Y si necesitais que os explique mas para poder ayudarnos... no hay > >problema... otra vez gracias!! :) > > > > > >------------------------------------------------------------------------ > > > >_______________________________________________ > >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 lars en telefonica.net Wed Jun 30 17:53:37 2004 From: lars en telefonica.net (lars) Date: Wed, 30 Jun 2004 17:53:37 +0200 Subject: Formateo de cadenas In-Reply-To: <20040630103448.25653193.o.merchan@bussitel.es> References: <1088527154.3144.68.camel@linux> <40E26F14.2000503@hispasec.com> <20040630103448.25653193.o.merchan@bussitel.es> Message-ID: <1088610817.2994.2.camel@linux> Hola, no puedo implementar la funcion en mi programa, el interprete me dice que ListType y TupleType no estan definidos. El mié, 30-06-2004 a las 10:34, Oscar Merchan escribió: > On Wed, 30 Jun 2004 09:43:16 +0200 > Julio Canto wrote: > > > Buenas. > > > Yo lo que utilizo para hacer eso, son los codigo ansi, que los puedes utilizar sin problemas con el print de la siguiente manera .- > > print "\033[5;2H","Lo que quieras poner" > > Con esto, el texto saldria en la fila 5, columna 2. > > Para el color del texto, utilizo una receta que encontre por inet, que es la siguiente .- > > import os, tty, termios > > enable_color = 1 > hotkeycol = "red" > > colors = { > "black" : "30", > "red" : "31", > "green" : "32", > "brown" : "33", > "blue" : "34", > "purple" : "35", > "cyan" : "36", > "lgray" : "37", > "gray" : "1;30", > "lred" : "1;31", > "lgreen" : "1;32", > "yellow" : "1;33", > "lblue" : "1;34", > "pink" : "1;35", > "lcyan" : "1;36", > "white" : "1;37", > "lyellow" : "43" > } > def color(text, fg, bg=None, raw=0): > > if not enable_color: > return text > if type(fg) in (TupleType, ListType): > fg, bg = fg > if not fg: > return text > opencol = "\033[" > closecol = "m" > if raw: > opencol = r"\[\033[" > closecol = r"m\]" > clear = opencol + "0" + closecol > xterm = 0 > if os.environ["TERM"] == "xterm": > xterm = 1 > b = '' > # In xterm, brown comes out as yellow.. > if xterm and fg == "yellow": > fg = "brown" > f = opencol + colors[fg] + closecol > if bg: > if bg == "yellow" and xterm: > bg = "brown" > try: > b = colors[bg].replace('3', '4', 1) > b = opencol + b + closecol > except KeyError: > pass > return "%s%s%s%s" % (b, f, text, clear) > > > Y la forma de utilizarlo junto con el codigo ansi seria mas o menos asi .- > > print "\033[5;2H"+color("Texto que quieras poner","cyan") > > Con esto el texto te saldria en cyan, y si quieres ponerle tambien color en background seria .- > > color("Texto que quieres poner","cyan","red") > > > > Quizas esta forma no estan limpia como utilizar las curses, pero si mas standar para cualquier version de python. > > > Saludos, Oscar Merchan. > > > lars wrote: > > > > >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay > > >alguna funcion para posicionar texto en cualquier parte de la pantalla, > > >algun "locate" o algo parecido, la segunda, se puede colorear el texto > > >en python? Gracias > > > > > > > > Existe un modulo llamado curses que sirve para eso. En Windows uso una > > libreria llamada wconio que no es tan potente, pero a falta de pan :D > > Un saludo, > > JC > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From antonio.beamud en linkend.com Wed Jun 30 18:08:30 2004 From: antonio.beamud en linkend.com (Antonio Beamud Montero) Date: Wed, 30 Jun 2004 18:08:30 +0200 Subject: Formateo de cadenas In-Reply-To: <1088610817.2994.2.camel@linux> References: <1088527154.3144.68.camel@linux> <40E26F14.2000503@hispasec.com> <20040630103448.25653193.o.merchan@bussitel.es> <1088610817.2994.2.camel@linux> Message-ID: <1088611710.1258.29.camel@homer> from types import ListType, TupleType El mié, 30-06-2004 a las 17:53, lars escribió: > Hola, no puedo implementar la funcion en mi programa, el interprete me > dice que ListType y TupleType no estan definidos. > > > > El mié, 30-06-2004 a las 10:34, Oscar Merchan escribió: > > On Wed, 30 Jun 2004 09:43:16 +0200 > > Julio Canto wrote: > > > > > > Buenas. > > > > > > Yo lo que utilizo para hacer eso, son los codigo ansi, que los puedes utilizar sin problemas con el print de la siguiente manera .- > > > > print "\033[5;2H","Lo que quieras poner" > > > > Con esto, el texto saldria en la fila 5, columna 2. > > > > Para el color del texto, utilizo una receta que encontre por inet, que es la siguiente .- > > > > import os, tty, termios > > > > enable_color = 1 > > hotkeycol = "red" > > > > colors = { > > "black" : "30", > > "red" : "31", > > "green" : "32", > > "brown" : "33", > > "blue" : "34", > > "purple" : "35", > > "cyan" : "36", > > "lgray" : "37", > > "gray" : "1;30", > > "lred" : "1;31", > > "lgreen" : "1;32", > > "yellow" : "1;33", > > "lblue" : "1;34", > > "pink" : "1;35", > > "lcyan" : "1;36", > > "white" : "1;37", > > "lyellow" : "43" > > } > > def color(text, fg, bg=None, raw=0): > > > > if not enable_color: > > return text > > if type(fg) in (TupleType, ListType): > > fg, bg = fg > > if not fg: > > return text > > opencol = "\033[" > > closecol = "m" > > if raw: > > opencol = r"\[\033[" > > closecol = r"m\]" > > clear = opencol + "0" + closecol > > xterm = 0 > > if os.environ["TERM"] == "xterm": > > xterm = 1 > > b = '' > > # In xterm, brown comes out as yellow.. > > if xterm and fg == "yellow": > > fg = "brown" > > f = opencol + colors[fg] + closecol > > if bg: > > if bg == "yellow" and xterm: > > bg = "brown" > > try: > > b = colors[bg].replace('3', '4', 1) > > b = opencol + b + closecol > > except KeyError: > > pass > > return "%s%s%s%s" % (b, f, text, clear) > > > > > > Y la forma de utilizarlo junto con el codigo ansi seria mas o menos asi .- > > > > print "\033[5;2H"+color("Texto que quieras poner","cyan") > > > > Con esto el texto te saldria en cyan, y si quieres ponerle tambien color en background seria .- > > > > color("Texto que quieres poner","cyan","red") > > > > > > > > Quizas esta forma no estan limpia como utilizar las curses, pero si mas standar para cualquier version de python. > > > > > > Saludos, Oscar Merchan. > > > > > lars wrote: > > > > > > >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay > > > >alguna funcion para posicionar texto en cualquier parte de la pantalla, > > > >algun "locate" o algo parecido, la segunda, se puede colorear el texto > > > >en python? Gracias > > > > > > > > > > > Existe un modulo llamado curses que sirve para eso. En Windows uso una > > > libreria llamada wconio que no es tan potente, pero a falta de pan :D > > > Un saludo, > > > JC > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > ______________________________________________________________________ > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > ______________________________________________________________________ > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Antonio Beamud Montero Jabber User: farruquit0 en jabber.org [http://www.jabber.org] ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From o.merchan en bussitel.es Wed Jun 30 18:13:34 2004 From: o.merchan en bussitel.es (Oscar Merchan) Date: Wed, 30 Jun 2004 18:13:34 +0200 Subject: Formateo de cadenas In-Reply-To: <1088610817.2994.2.camel@linux> References: <1088527154.3144.68.camel@linux> <40E26F14.2000503@hispasec.com> <20040630103448.25653193.o.merchan@bussitel.es> <1088610817.2994.2.camel@linux> Message-ID: <20040630181334.26d083c9.o.merchan@bussitel.es> On Wed, 30 Jun 2004 17:53:37 +0200 lars wrote: > Hola, no puedo implementar la funcion en mi programa, el interprete me > dice que ListType y TupleType no estan definidos. Mea culpa, tienes toda la razon del mundo, se me olvido ponerte .- from types import * Con eso te deberia de ir, y perdona por mi fallo, no me di cuenta que faltaba esa linea. Saludos, Oscar Merchan. > El mié, 30-06-2004 a las 10:34, Oscar Merchan escribió: > > On Wed, 30 Jun 2004 09:43:16 +0200 > > Julio Canto wrote: > > > > > > Buenas. > > > > > > Yo lo que utilizo para hacer eso, son los codigo ansi, que los puedes utilizar sin problemas con el print de la siguiente manera .- > > > > print "\033[5;2H","Lo que quieras poner" > > > > Con esto, el texto saldria en la fila 5, columna 2. > > > > Para el color del texto, utilizo una receta que encontre por inet, que es la siguiente .- > > > > import os, tty, termios > > > > enable_color = 1 > > hotkeycol = "red" > > > > colors = { > > "black" : "30", > > "red" : "31", > > "green" : "32", > > "brown" : "33", > > "blue" : "34", > > "purple" : "35", > > "cyan" : "36", > > "lgray" : "37", > > "gray" : "1;30", > > "lred" : "1;31", > > "lgreen" : "1;32", > > "yellow" : "1;33", > > "lblue" : "1;34", > > "pink" : "1;35", > > "lcyan" : "1;36", > > "white" : "1;37", > > "lyellow" : "43" > > } > > def color(text, fg, bg=None, raw=0): > > > > if not enable_color: > > return text > > if type(fg) in (TupleType, ListType): > > fg, bg = fg > > if not fg: > > return text > > opencol = "\033[" > > closecol = "m" > > if raw: > > opencol = r"\[\033[" > > closecol = r"m\]" > > clear = opencol + "0" + closecol > > xterm = 0 > > if os.environ["TERM"] == "xterm": > > xterm = 1 > > b = '' > > # In xterm, brown comes out as yellow.. > > if xterm and fg == "yellow": > > fg = "brown" > > f = opencol + colors[fg] + closecol > > if bg: > > if bg == "yellow" and xterm: > > bg = "brown" > > try: > > b = colors[bg].replace('3', '4', 1) > > b = opencol + b + closecol > > except KeyError: > > pass > > return "%s%s%s%s" % (b, f, text, clear) > > > > > > Y la forma de utilizarlo junto con el codigo ansi seria mas o menos asi .- > > > > print "\033[5;2H"+color("Texto que quieras poner","cyan") > > > > Con esto el texto te saldria en cyan, y si quieres ponerle tambien color en background seria .- > > > > color("Texto que quieres poner","cyan","red") > > > > > > > > Quizas esta forma no estan limpia como utilizar las curses, pero si mas standar para cualquier version de python. > > > > > > Saludos, Oscar Merchan. > > > > > lars wrote: > > > > > > >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay > > > >alguna funcion para posicionar texto en cualquier parte de la pantalla, > > > >algun "locate" o algo parecido, la segunda, se puede colorear el texto > > > >en python? Gracias > > > > > > > > > > > Existe un modulo llamado curses que sirve para eso. En Windows uso una > > > libreria llamada wconio que no es tan potente, pero a falta de pan :D > > > Un saludo, > > > JC > > > _______________________________________________ > > > 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 lordzealon en ono.com Wed Jun 30 18:39:29 2004 From: lordzealon en ono.com (Lord_ZealoN) Date: Wed, 30 Jun 2004 18:39:29 +0200 Subject: Dudas sobre python Message-ID: <40D794F500004790@mta01.ono.com> Hola de nuevo. Las dudas que tengo sobre python son las siguientes. He oido hablar sobre la potencia y rapidez de desarrollo en python, pero este no deja de ser un lenguaje interpretado. ¿Que tal la velocidad? A mi sobre todo me interesa la programacion en python para el desarrollo de gestiones (TPV, contabilidad etc...) sobre todo intentando buscar un desarrollo cross-platform. ¿Que tal python para este proposito? (para el proposito de gestiones, el de cross-platform ya lo se ;) También me interesa bastante la programacion sobre dispositivos PocketPc. He leido que existe python para Linux opie (creo) pero no he leido nada más aparte de esta información. Que tal se comporta python en los PDA? Es que no existe un interprete python para Windows Mobile 2003? Tambien he oido algo sobre el uso de python para el desarrollo de paginas web dinamicas. Algun tipo de informacion en español al respecto? Se comporta bien python en este ambito? En el caso de que python responda SI a la mayoria de mis preguntas probablemente sea el lenguaje elegido ya que podria centralizar todos mis proyectos en un mismo lenguaje. He leido que es muy potente y me parece muy interesante. Un saludo y gracias por leerme y contestarme. Giuseppe Luigi Punzi (Lord_ZealoN) P.D.: Perdon por las faltas de ortografia, pero no se si el servidor de aditel da problemas con las tildes. Lord_ZealoN ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lordzealon en ono.com Wed Jun 30 18:30:59 2004 From: lordzealon en ono.com (Lord_ZealoN) Date: Wed, 30 Jun 2004 18:30:59 +0200 Subject: Presentacion Message-ID: <40D794F500004773@mta01.ono.com> Hola, Mi nombre es Giuseppe Luigi y recientemente estoy investigando sobre python para usarlo en mis proyectos. Quería presentarme ante todos y mandar un saludo. Espero aprender y ayudar todo lo posible. Ahora enviaré un email lleno de dudas ;) Un saludo. Lord_ZealoN ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Wed Jun 30 19:43:19 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 30 Jun 2004 19:43:19 +0200 Subject: Problemas Entry Tkinter In-Reply-To: References: <40BE185E.5030609@yahoo.com.ar> <1086203663.4023.14.camel@renata.macondo.pri> <40BE36C7.6080206@yahoo.com.ar> <40C43983.90602@sicem.biz> <40E1BD15.4060205@sicem.biz> Message-ID: <40E2FBB7.2090403@sicem.biz> Hola, a mi me funciona (python 2.3.3). Cada vez que le doy a 'INSERTAR NOMBRE', me deja escribir un nombre sin problema. Pero, no es la manera de hacer ventanas modales, la verdad. De hecho, al poner otra aplicación delante, ya no puedo acceder a la ventana, porque no hay ventana. El overrideredirect(1) pasa de largo al sistema de ventanas. Nosotros lo usamos para crear combos u otros controles que queremos no sean manejados por el sistema de ventanas. Para hacer cuadros modales, mejor usa w.grab_set() (cuadro modal a la aplicación) o w.grab_set_global() (cuadro modal a todo el escritorio). (Para quitarlo, usa w.grab_release()) He cambiado un poco tu código, con el objetivo de hacerlo más legible. Cabe destacar lo siguiente: * se guardan solamente self.varNombre y self.ventana, las demás referencias no hace falta guardarlas en self. * los métodos de clase, normalmente son verbos y empiezan en minúscula, como crearVentana * los comandos de botón empiezan por cmd y siguen con un verbo, como cmdCambiarNombre * he usado ventana.grab_set() y en cerrarVentana: ventana.grab_release() para hacer la ventana modal (respecto a la aplicación). * en botón de salida de aplicación activa root.quit en vez de root.destroy. Saludos, Erny # -*- encoding: latin1 -*- from Tkinter import * import string class Molde: def __init__(self,parent): self.raiz=parent self.crearVentana() def crearVentana(self): ventana=Toplevel(self.raiz, bg='#908875', borderwidth=3, relief='raised') ventana.geometry('400x300+250+100') self.ventana=ventana # guardar ventana, para poder destruirla luego. frame=Frame(ventana, bg='#e7dfca', borderwidth=3, relief='sunken') frame.place(relx=0.005, rely=0.015, relh=0.97, relw=0.99) lbl=Label(frame,bg='#e7dfca', text="NUEVO NOMBRE", font=('arial','16','bold')) lbl.place(relx=0.05, rely=0.25) var=StringVar(ventana) var.set("nuevo") self.varNombre=var # tenemos que acceder más tarde. entry=Entry(ventana, bg='white', font=('arial','18','bold'), textvariable=var) entry.place(relx=0.05, rely=0.4) entry.focus() btn=Button(frame, bg='#908875', fg='white', text="OK", font=('arial','16','bold'), command=self.cmdCambiarNombre) btn.place(relx=0.3, rely=0.65, relh=0.15, relw=0.25) btn=Button(frame, bg='#908875', fg='white', text="SALIR", font=('arial','16','bold'),command=self.cmdSalirVentana) btn.place(relx=0.6, rely=0.65, relh=0.15, relw=0.25) ventana.grab_set() def cmdCambiarNombre(self): nombre=self.varNombre.get() print "nombre es: %s" % nombre if nombre=='': pass elif len(nombre)>15: pass else: print "nombre cambiado"+nombre self.cerrarVentana() def cmdSalirVentana(self): self.cerrarVentana() def cerrarVentana(self): self.ventana.grab_release() self.ventana.destroy() if __name__ == '__main__': root=Tk() root.geometry("200x100+400+300") # root.overrideredirect(1) btn=Button(root,text="INSERTAR NOMBRE",bg="blue",command=lambda parent=root: Molde(parent)) btn.pack(side=TOP, fill=BOTH, expand=YES) btn=Button(root,text="SALIR",bg="orange",command=root.quit) btn.pack(side=TOP, fill=BOTH, expand=YES) root.mainloop() Christal Berengena Moreno escribió: >He hecho un "codigo de muestra" con el problema... en este tambien me pasa >lo mismo... >from Tkinter import * >import string > >root=Tk() > >class Molde: > def __init__(self,parent): > self.raizppal=parent > self.CambiaNombreMolde() > > def CambiaNombreMolde(self): > self.frNombreMolde2=Toplevel(self.raizppal, bg='#908875', >borderwidth=3, relief='raised') > self.frNombreMolde2.geometry('400x300+250+100') > self.frNombreMolde2.overrideredirect(1) > > self.frNombreMolde=Frame(self.frNombreMolde2, >bg='#e7dfca', borderwidth=3, relief='sunken') > self.frNombreMolde.place(relx=0.005, rely=0.015, >relh=0.97, relw=0.99) > > >self.LblEntryNombreMolde=Label(self.frNombreMolde,bg='#e7dfca', > text="NUEVO NOMBRE", >font=('arial','16','bold')) > self.LblEntryNombreMolde.place(relx=0.05, rely=0.25) > self.entryVarNombreMolde=StringVar() > self.entryVarNombreMolde.set("nuevo") > self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, >bg='white', font=('arial','18','bold'), > >textvariable=self.entryVarNombreMolde) > self.EntryNombreMolde.place(relx=0.05, rely=0.4) > #~ self.EntryNombreMolde.focus() > > self.btnSalvarNombreMolde=Button(self.frNombreMolde, >bg='#908875', fg='white', > text="OK", font=('arial','16','bold'), >command=self.cmdBtnOKNombreMolde) > self.btnSalvarNombreMolde.place(relx=0.3, rely=0.65, >relh=0.15, relw=0.25) > > self.btnSalirNombreMolde=Button(self.frNombreMolde, >bg='#908875', fg='white', > text="SALIR", font=('arial','16','bold'), >command=self.frNombreMolde2.destroy) > self.btnSalirNombreMolde.place(relx=0.6, rely=0.65, >relh=0.15, relw=0.25) > > def cmdBtnOKNombreMolde(self): > self.NombreMolde=self.entryVarNombreMolde.get() > if self.NombreMolde=='': > pass > elif len(self.NombreMolde)>15: > pass > else: > print "molde cambiado"+self.NombreMolde > self.frNombreMolde2.destroy() > > def cmdBtnSalirMolde(self): > self.frNombreMolde2.destroy() > >if __name__ == '__main__': > root.geometry("200x100+400+300") > root.overrideredirect(1) > > btnNombre=Button(root,text="INSERTAR >NOMBRE",bg="blue",command=lambda parent=root: Molde(parent)) > btnNombre.pack(side=TOP, fill=BOTH, expand=YES) > > >btnSalir=Button(root,text="SALIR",bg="orange",command=root.destroy) > btnSalir.pack(side=TOP, fill=BOTH, expand=YES) > > root.mainloop() > > >On Tue, 29 Jun 2004, Ernesto Revilla wrote: > > > >>Con más código nos ayudarías: >> >>* estás ejecutando el mainloop() al final del programa? SI >> >>* estáis creando los Entries cada vez de nuevo? Los StringVars también? >> >> >SI, SE SOBREESCRIBEN CADA VEZ QUE ENTRO... > > >>* qué se utiliza para cerrar la ventana? DESTRUYO EL FRAME PRINCIPAL DE >> >> >LA MISMA (EL QUE CONTIENE TODOS LOS ENTRY), TAMBIEN HE INTENTADO DESTRUIR >OBJETO A OBJETO Y HACE LO MISMO... > > >>... >>Erny >> >> > >SI NECESITAIS MAS... DECIDLO QUE OS ENVIO MAS, PERO NO SE QUE PUEDE SER! >HE PROBADO TAMBIEN PONER LO DEL FOCUS PARA ACTIVARLO Y NADA... > >GRACIAS!! > > > > >>Christal Berengena Moreno escribió: >> >> >> >>>Hola a todos! >>> >>>Os explico un poco nuestro problema para ver si alguien sabe a que puede >>>ser debido... >>>Tenemos un programa en python que en ciertas ocasiones solicita >>>informacion del usuario mediante "entry" de tkinter... hasta aqui todo >>>bien... Lo especial en nuestro problema es que solo nos permite acceder a >>>la parte de entrada del entry, solo nos aparece en cursor para introducir >>>datos, la primera vez que abrimos el toplevel que contiene el entry... >>>Nos pasa en todos los entrys y no sabemos que es lo que puede causar >>>esto... parece como si el entry tubiera un "tope" en una especie de buffer >>>y se llenara, pero es que cada vez que cerramos el toplevel lo destruimos >>>todo y al abrirlo de nuevo se genera otra vez... >>> >>>El codigo que utilizamos para generarlo es este... >>> >>>self.entryVarNombreMolde=StringVar() >>>self.entryVarNombreMolde.set(self.InterfazGeneral.valoresMaqs[self.nummaq].TxtCaractMoldeAct[0]) >>>self.EntryNombreMolde=Entry(self.frNombreMolde, width=30, >>> bg='white', font=('arial','18','bold'), >>> textvariable=self.entryVarNombreMolde) >>>self.EntryNombreMolde.place(relx=0.05, rely=0.4) >>> >>>Luego, al leerlo siempre usamos self.entryVarNombreMolde.get(), pero eso >>>no nos da problemas... >>> >>>Si alguien tiene idea de como se puede solucionar o hay alguna otra manera >>>de introducir datos... que no dude en decirnoslo!! >>> >>>Un saludo y gracias!!!!! >>>Y si necesitais que os explique mas para poder ayudarnos... no hay >>>problema... otra vez gracias!! :) >>> >>> >>>------------------------------------------------------------------------ >>> >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >>> >>> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> >> > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > > From lars en telefonica.net Wed Jun 30 19:51:29 2004 From: lars en telefonica.net (lars) Date: Wed, 30 Jun 2004 19:51:29 +0200 Subject: Formateo de cadenas In-Reply-To: <20040630181334.26d083c9.o.merchan@bussitel.es> References: <1088527154.3144.68.camel@linux> <40E26F14.2000503@hispasec.com> <20040630103448.25653193.o.merchan@bussitel.es> <1088610817.2994.2.camel@linux> <20040630181334.26d083c9.o.merchan@bussitel.es> Message-ID: <1088617889.3652.0.camel@linux> Perdonado estas :), perdonad vosotros mis preguntas tontas de newbie y todos en paz, saludos. El mié, 30-06-2004 a las 18:13, Oscar Merchan escribió: > On Wed, 30 Jun 2004 17:53:37 +0200 > lars wrote: > > > Hola, no puedo implementar la funcion en mi programa, el interprete me > > dice que ListType y TupleType no estan definidos. > > Mea culpa, tienes toda la razon del mundo, se me olvido ponerte .- > > from types import * > > Con eso te deberia de ir, y perdona por mi fallo, no me di cuenta que faltaba esa linea. > > Saludos, Oscar Merchan. > > > > El mié, 30-06-2004 a las 10:34, Oscar Merchan escribió: > > > On Wed, 30 Jun 2004 09:43:16 +0200 > > > Julio Canto wrote: > > > > > > > > > Buenas. > > > > > > > > > Yo lo que utilizo para hacer eso, son los codigo ansi, que los puedes utilizar sin problemas con el print de la siguiente manera .- > > > > > > print "\033[5;2H","Lo que quieras poner" > > > > > > Con esto, el texto saldria en la fila 5, columna 2. > > > > > > Para el color del texto, utilizo una receta que encontre por inet, que es la siguiente .- > > > > > > import os, tty, termios > > > > > > enable_color = 1 > > > hotkeycol = "red" > > > > > > colors = { > > > "black" : "30", > > > "red" : "31", > > > "green" : "32", > > > "brown" : "33", > > > "blue" : "34", > > > "purple" : "35", > > > "cyan" : "36", > > > "lgray" : "37", > > > "gray" : "1;30", > > > "lred" : "1;31", > > > "lgreen" : "1;32", > > > "yellow" : "1;33", > > > "lblue" : "1;34", > > > "pink" : "1;35", > > > "lcyan" : "1;36", > > > "white" : "1;37", > > > "lyellow" : "43" > > > } > > > def color(text, fg, bg=None, raw=0): > > > > > > if not enable_color: > > > return text > > > if type(fg) in (TupleType, ListType): > > > fg, bg = fg > > > if not fg: > > > return text > > > opencol = "\033[" > > > closecol = "m" > > > if raw: > > > opencol = r"\[\033[" > > > closecol = r"m\]" > > > clear = opencol + "0" + closecol > > > xterm = 0 > > > if os.environ["TERM"] == "xterm": > > > xterm = 1 > > > b = '' > > > # In xterm, brown comes out as yellow.. > > > if xterm and fg == "yellow": > > > fg = "brown" > > > f = opencol + colors[fg] + closecol > > > if bg: > > > if bg == "yellow" and xterm: > > > bg = "brown" > > > try: > > > b = colors[bg].replace('3', '4', 1) > > > b = opencol + b + closecol > > > except KeyError: > > > pass > > > return "%s%s%s%s" % (b, f, text, clear) > > > > > > > > > Y la forma de utilizarlo junto con el codigo ansi seria mas o menos asi .- > > > > > > print "\033[5;2H"+color("Texto que quieras poner","cyan") > > > > > > Con esto el texto te saldria en cyan, y si quieres ponerle tambien color en background seria .- > > > > > > color("Texto que quieres poner","cyan","red") > > > > > > > > > > > > Quizas esta forma no estan limpia como utilizar las curses, pero si mas standar para cualquier version de python. > > > > > > > > > Saludos, Oscar Merchan. > > > > > > > lars wrote: > > > > > > > > >Hola, quisiera hacerles un par de preguntas... lo primero, saber si hay > > > > >alguna funcion para posicionar texto en cualquier parte de la pantalla, > > > > >algun "locate" o algo parecido, la segunda, se puede colorear el texto > > > > >en python? Gracias > > > > > > > > > > > > > > Existe un modulo llamado curses que sirve para eso. En Windows uso una > > > > libreria llamada wconio que no es tan potente, pero a falta de pan :D > > > > Un saludo, > > > > JC > > > > _______________________________________________ > > > > Python-es mailing list > > > > Python-es en aditel.org > > > > http://listas.aditel.org/listinfo/python-es > > > > > > ______________________________________________________________________ > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From erny en sicem.biz Wed Jun 30 19:59:54 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 30 Jun 2004 19:59:54 +0200 Subject: Dudas sobre python In-Reply-To: <40D794F500004790@mta01.ono.com> References: <40D794F500004790@mta01.ono.com> Message-ID: <40E2FF9A.6000204@sicem.biz> Hola, python es lo suficientemente rápido para lo que quieres. python para los PDA no lo tengo muy claro. Recientemente, probé Pippy sobre un Palm [1], y la verdad es que deja bastante que desear y además parece el proyecto está parado. ¡Qué pena! Lo que he entendido es que Palm OS tiene rutinas para crear forms de manera simple, y sería perfecto tener un binding de Python. Por otra parte, he oído que el Sharp Zaurus viene con intérprete Python, pero no sé nada sobre ello. Parece que Riverbanks, ya no lo soporta [2]. Creo que pronto podremos verlo funcionando con linux-arm [3]. Espero que algún también lo tengamos para Palm OS y Pocket PC. Respecto a Python con páginas Web, se comporta igual de bien que Perl, PHP o cualquiera de los otros. Creo que es cuestión de gusto. Encontrarás documentación en www.python.org, pero en inglés [4]. [1] http://pippy.sourceforge.net/ [2] http://www.riverbankcomputing.co.uk/zaurus/index.php [3] http://www.vanille.de/projects/python.spy [4] http://www.python.org/topics/web/ Erny Lord_ZealoN escribió: >Hola de nuevo. > >Las dudas que tengo sobre python son las siguientes. > >He oido hablar sobre la potencia y rapidez de desarrollo en python, pero >este no deja de ser un lenguaje interpretado. > >¿Que tal la velocidad? > >A mi sobre todo me interesa la programacion en python para el desarrollo >de gestiones (TPV, contabilidad etc...) sobre todo intentando buscar un >desarrollo cross-platform. > >¿Que tal python para este proposito? (para el proposito de gestiones, el >de cross-platform ya lo se ;) > >También me interesa bastante la programacion sobre dispositivos PocketPc. >He leido que existe python para Linux opie (creo) pero no he leido nada >más aparte de esta información. > >Que tal se comporta python en los PDA? Es que no existe un interprete python >para Windows Mobile 2003? > >Tambien he oido algo sobre el uso de python para el desarrollo de paginas >web dinamicas. > >Algun tipo de informacion en español al respecto? Se comporta bien python >en este ambito? > >En el caso de que python responda SI a la mayoria de mis preguntas probablemente >sea el lenguaje elegido ya que podria centralizar todos mis proyectos en >un mismo lenguaje. He leido que es muy potente y me parece muy interesante. > >Un saludo y gracias por leerme y contestarme. > >Giuseppe Luigi Punzi (Lord_ZealoN) > >P.D.: Perdon por las faltas de ortografia, pero no se si el servidor de >aditel da problemas con las tildes. >Lord_ZealoN > > > >------------------------------------------------------------------------ > >_______________________________________________ >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 erny en sicem.biz Wed Jun 30 20:26:03 2004 From: erny en sicem.biz (Ernesto Revilla) Date: Wed, 30 Jun 2004 20:26:03 +0200 Subject: [ANUNCIO] Publicado Gazpacho 0.1.0 In-Reply-To: <200406301632.23877.rvr@infoastro.com> References: <1088591765.2247.18.camel@localhost.localdomain> <200406301632.23877.rvr@infoastro.com> Message-ID: <40E305BB.9060605@sicem.biz> Buena pregunta! gazpacho (antes pyglade) es una reescritura de glade, pero básicamente glade-3 que no ha sido publicado, y que sigue en CVS (desde sus principios hace 2 años). Básicamente, permite usar widgets que se han escrito 100% en Python. Esto todavía tiene un serio problema. libglade todavóia no los puede cargar. Pero esperemos que pronto pueda hacerlo. (Últimamente se han hecho modificaciones sobre pygtk para que sea posible escribir nuevos widgets en Python.) De esa manera será fácil que vosotros mismos escribáis vuestro propio conjunto de widgets y utilizarlo desde gazpacho para diseñar las pantallas. Más diferencias: * ahora las herramientas están en una sola ventana, lo que hace todo algo más ergonómico. * Un editor de treeview que no había antes * deshacer multinivel !!!! * usar portapapeles para cortar y pegar subarboles completos de widgets Todavía faltan cosas como: * editor de menús y algunas cuantas cosas más, pero supongo que pronto estaremos a la altura de glade 2/ 3. Saludos, Erny Víctor R. Ruiz escribió: > Hola: > >El Miércoles, 30 de Junio de 2004 11:36, Lorenzo Gil Sanchez tecleó: > > >>Este programa te permite crear la interfaz grafica de usuario (GUI) de >>tus programas PyGTK de una manera visual. Si, es un clon de Glade. Es >>compatible con libglade y esta en sus fases mas tempranas de desarrollo. >> >> > > ¿Qué diferencias tiene con Glade? > > Saludetes, > > > From lgs en sicem.biz Wed Jun 30 21:31:45 2004 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Wed, 30 Jun 2004 21:31:45 +0200 Subject: [ANUNCIO] Publicado Gazpacho 0.1.0 In-Reply-To: <40E305BB.9060605@sicem.biz> References: <1088591765.2247.18.camel@localhost.localdomain> <200406301632.23877.rvr@infoastro.com> <40E305BB.9060605@sicem.biz> Message-ID: <1088623905.10287.1.camel@localhost.localdomain> > Más diferencias: > * ahora las herramientas están en una sola ventana, lo que hace todo > algo más ergonómico. > * Un editor de treeview que no había antes No nos entusiasmemos. El editor de treeview es algo que queremos que tenga pero que *aun* no tiene :) > * deshacer multinivel !!!! Esto lo he añadido hoy al repositorio de subversion > * usar portapapeles para cortar y pegar subarboles completos de widgets Esto tampoco esta listo aun Como veis faltan cosillas, que espero tenga pronto con la ayuda de todos :) Lorenzo From victor en lsi.uned.es Wed Jun 30 16:33:52 2004 From: victor en lsi.uned.es (=?iso-8859-15?q?V=EDctor_Peinado?=) Date: Wed, 30 Jun 2004 16:33:52 +0200 Subject: Recuperando valores de diccionarios. Message-ID: <200406301633.53710.victor@lsi.uned.es> ¡Hola a todos! Llevo un par de horas parado dando vueltas a una cosa. Espero que se entienda, voy pasito a paso: Tengo definido un diccionario, por ejemplo: >>> a = {1: "uno", 2: "dos", 3: "tres", 1234: "mucho"} >>> a {1: 'uno', 2: 'dos', 3: 'tres', 1234: 'mucho'} Defino una determinada expresión regular para capturar dígitos tras cualquier palabra a la que pongo como nombre "num". >>> import re >>> regex = re.compile(r"\w+ (?P\d+) ") Y compruebo que funciona con esta cadena, por ejemplo: >>> m = regex.search("esta 1234 cadena tiene números") >>> print m.group('num') 1234 Muy bien, pues me gustaría recuperar el valor asociado a m.group('num') en el diccionario a, pero soy incapaz. Probamos: >>> print a[m.group('num')] Traceback (most recent call last): File "", line 1, in ? KeyError: '1234' Usando el método de diccionario get(), obtengo un resultado curiso: >>> print a.get(m.group('num')) None Y estoy seguro de que el valor "capturado" en m.group('num') existe en mi diccionario >>> print a[1234] mucho >>> a.has_key(1234) True Peeero, si fuerzo que lo busque la clave como cadena (que es lo que parece que hace en los ejemplos de arriba), no funciona. >>> a.has_key('1234') False Así que empiezo a intuir un poco a qué se debe el error, aunque no estoy seguro. Tendría que transformar las claves del diccionario a cadenas (aunque son dígitos) o al revés, ¿no? Por ejemplo: >>> print a.get(int(m.group('num'))) mucho Se debe a esto el error o tiene una explicación más compleja. ¿Es ésta la única forma de arreglar este problema? Saludos. PD.: Lo siento pero sigo pecando de perlero, pensando que cadenas y dígitos son (casi) lo mismo. Perdonad por el rollo que os acabo de meter. -- Res publica non dominetur. Víctor Peinado || NLP Group - UNED || http://nlp.uned.es Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es