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