[Python-es] Problemas de encoding json utf-8

Flavio Danesse fdanesse en gmail.com
Jue Mar 21 00:26:45 CET 2013


Bien.

Ese diccionario está guardado utilizando python 2.7 pero con simplejson de
la siguiente manera:

diccionario = {
    "groups": {
        "0": {
            "name": "Asistencia",
            "fields": {
                "0": {
                    "widget_type": "RadioButton",
                    "name": "¿El Alumno se Encuentra en Clase?",
                    "dependence": "",
                    "options":{
                        "00001": {"text": "Si"},
                        "00002": {"text": "No"},
                        }
                    }
                }
            },
        "1": {
            "name": "Datos de XO",
            "fields": {
                "0": {
                    "widget_type": "DropDownList",
                    "name": "¿Recibiste en Algún Momento tu XO?",
                    "dependence": "00001",
                    "options": {
                        "00003": {"text": "Si"},
                        "00004": {"text": "No"}
                        }
                },
                "1": {
                    "widget_type": "DropDownList",
                    "name": "¿Hoy Trajiste a Clase tu XO?",
                    "dependence": "00001",
                    "options": {
                        "00005": {"text": "Si"},
                        "00006": {"text": "No"}
                        }
                },
                "2": {
                    "widget_type": "DropDownList",
                    "name": "¿Cúal es el Estado Actual de tu XO?",
                    "dependence": "00001",
                    "options": {
                        "00007": {"text": "Totalmente Sana"},
                        "00008": {"text": "Parcialmente Sana"},
                        "00009": {"text": "No Funciona"}
                        }
                    }
                }
            },
        "2": {
            "name": "Uso de la XO",
            "fields": {
                "0": {
                    "widget_type": "MultipleCheckBox",
                    "name": "¿Para qué Utilizas tu XO?",
                    "dependence": "00001",
                    "options":{
                        "00010": {"text": "Facebook"},
                        "00011": {"text": "Juegos"},
                        "00012": {"text": "Estudiar"},
                        "00013": {"text": "Leer"},
                        "00014": {"text": "Escuchar Música"},
                        "00015": {"text": "Ver Videos"},
                        "00016": {"text": "Grabar videos"},
                        "00018": {"text": "Sacar Fotos"},
                        "00019": {"text": "Chatear"},
                        "00020": {"text": "Programar"},
                        "00021": {"text": "Editar mi Blog"},
                        "00022": {"text": "Dibujar"},
                        "00023": {"text": "Jugar con el Robot"},
                        "00024": {"text": "Jugar al Ping Pong"},
                        "00025": {"text": "Pegarle a mi hermano"},
                        "00026": {"text": "Jugar con el perro"},
                        "00027": {"text": "Para Nada"}
                        }
                    }
                }
            },
        "3": {
            "name": "Comentarios",
            "fields": {
                "0": {
                    "widget_type": "TextInput",
                    "name": "Comentarios",
                    "dependence": "00001",
                    "options": {
                        "00017": {"text": ""}
                        }
                    }
                }
            }
        }
    }

archivo = open(path, "w")
archivo.write(simplejson.dumps(diccionario))
archivo.close()

*Ahora el tema es:*
*
*
¿Cómo lo guardas usando json en lugar de simplejson sin iterar por los
items del diccionario?


El 20 de marzo de 2013 20:17, Andrey Antukh <niwi en niwi.be> escribió:

> Esto, ya es json valido tal cual.
>
> x = JSON.parse('{"groups": {"1": {"fields": {"1": {"widget_type":
> "DropDownList", "options": {"00005": {"text": "Si"}, "00006": {"text":
> "No"}}, "name": "\u00bfHoy Trajiste a Clase tu XO?", "dependence":
> "00001"}, "0": {"widget_type": "DropDownList", "options": {"00004":
> {"text": "No"}, "00003": {"text": "Si"}}, "name": "\u00bfRecibiste en
> Alg\u00fan Momento tu XO?", "dependence": "00001"}, "2": {"widget_type":
> "DropDownList", "options": {"00007": {"text": "Totalmente Sana"}, "00009":
> {"text": "No Funciona"}, "00008": {"text": "Parcialmente Sana"}}, "name":
> "\u00bfC\u00faal es el Estado Actual de tu XO?", "dependence": "00001"}},
> "name": "Datos de XO"}, "0": {"fields": {"0": {"widget_type":
> "RadioButton", "options": {"00001": {"text": "Si"}, "00002": {"text":
> "No"}}, "name": "\u00bfEl Alumno se Encuentra en Clase?", "dependence":
> ""}}, "name": "Asistencia"}, "3": {"fields": {"0": {"widget_type":
> "TextInput", "options": {"00017": {"text": ""}}, "name": "Comentarios",
> "dependence": "00001"}}, "name": "Comentarios"}, "2": {"fields": {"0":
> {"widget_type": "MultipleCheckBox", "options": {"00023": {"text": "Jugar
> con el Robot"}, "00020": {"text": "Programar"}, "00025": {"text": "Pegarle
> a mi hermano"}, "00024": {"text": "Jugar al Ping Pong"}, "00021": {"text":
> "Editar mi Blog"}, "00016": {"text": "Grabar videos"}, "00022": {"text":
> "Dibujar"}, "00014": {"text": "Escuchar M\u00fasica"}, "00015": {"text":
> "Ver Videos"}, "00012": {"text": "Estudiar"}, "00013": {"text": "Leer"},
> "00010": {"text": "Facebook"}, "00011": {"text": "Juegos"}, "00026":
> {"text": "Jugar con el perro"}, "00027": {"text": "Para Nada"}, "00018":
> {"text": "Sacar Fotos"}, "00019": {"text": "Chatear"}}, "name": "\u00bfPara
> qu\u00e9 Utilizas tu XO?", "dependence": "00001"}}, "name": "Uso de la
> XO"}}}')
> Object {groups: Object}
>
> No se de donde habrás sacado este supuesto diccionario, pero eso es ya
> json valido, es decir no necesitas volverlo a serializar.
> Y eso es muy facilmente detectable, si tefijas, "\u00bfHoy Trajiste a
> Clase tu XO?" esta cadena tiene el primer caracter unicode ya codificado
> para que javascript pueda interpretarlo bien.
>
> Ademas vemos que es una cadena unicode, pero no lleva la u delante, lo que
> me hace pensar que ya fue serializada una vez o es un diccionario de
> python3.
>
> Antes de plantearse intentar serializarla una vez mas y luego al
> desserializar obtener resultados extraños, me plantearia mirar de donde
> obtienes esos datos y como. Porque te repito, es muy extraño que ese
> diccionario por si solo tenga cadenas unicode sin la u delante y usando
> python2.
>
> Andrey
>
>
> El 20 de marzo de 2013 23:45, Flavio Danesse <fdanesse en gmail.com>escribió:
>
> *Guarda esto en un json:*
>>
>> {"groups": {"1": {"fields": {"1": {"widget_type": "DropDownList",
>> "options": {"00005": {"text": "Si"}, "00006": {"text": "No"}}, "name":
>> "\u00bfHoy Trajiste a Clase tu XO?", "dependence": "00001"}, "0":
>> {"widget_type": "DropDownList", "options": {"00004": {"text": "No"},
>> "00003": {"text": "Si"}}, "name": "\u00bfRecibiste en Alg\u00fan Momento tu
>> XO?", "dependence": "00001"}, "2": {"widget_type": "DropDownList",
>> "options": {"00007": {"text": "Totalmente Sana"}, "00009": {"text": "No
>> Funciona"}, "00008": {"text": "Parcialmente Sana"}}, "name":
>> "\u00bfC\u00faal es el Estado Actual de tu XO?", "dependence": "00001"}},
>> "name": "Datos de XO"}, "0": {"fields": {"0": {"widget_type":
>> "RadioButton", "options": {"00001": {"text": "Si"}, "00002": {"text":
>> "No"}}, "name": "\u00bfEl Alumno se Encuentra en Clase?", "dependence":
>> ""}}, "name": "Asistencia"}, "3": {"fields": {"0": {"widget_type":
>> "TextInput", "options": {"00017": {"text": ""}}, "name": "Comentarios",
>> "dependence": "00001"}}, "name": "Comentarios"}, "2": {"fields": {"0":
>> {"widget_type": "MultipleCheckBox", "options": {"00023": {"text": "Jugar
>> con el Robot"}, "00020": {"text": "Programar"}, "00025": {"text": "Pegarle
>> a mi hermano"}, "00024": {"text": "Jugar al Ping Pong"}, "00021": {"text":
>> "Editar mi Blog"}, "00016": {"text": "Grabar videos"}, "00022": {"text":
>> "Dibujar"}, "00014": {"text": "Escuchar M\u00fasica"}, "00015": {"text":
>> "Ver Videos"}, "00012": {"text": "Estudiar"}, "00013": {"text": "Leer"},
>> "00010": {"text": "Facebook"}, "00011": {"text": "Juegos"}, "00026":
>> {"text": "Jugar con el perro"}, "00027": {"text": "Para Nada"}, "00018":
>> {"text": "Sacar Fotos"}, "00019": {"text": "Chatear"}}, "name": "\u00bfPara
>> qu\u00e9 Utilizas tu XO?", "dependence": "00001"}}, "name": "Uso de la
>> XO"}}}
>>
>>
>>
>> El 20 de marzo de 2013 19:41, Andrey Antukh <niwi en niwi.be> escribió:
>>
>>  Si crees que no he entendido la pregunta, por que vuelves a repetir lo
>>> mismo?
>>> Y partiendo del hecho de que no he entendido la pregunta, creo que sigo
>>> sin entender cual es tu duda.
>>>
>>> Andrey
>>>
>>>
>>> El 20 de marzo de 2013 23:36, Flavio Danesse <fdanesse en gmail.com>escribió:
>>>
>>> No entendiste la pregunta.
>>>>
>>>> Era:
>>>>
>>>> que pasa si en tu aplicación tienes un diccionario bien grande con
>>>> diccionarios, listas, etc . . . anidados
>>>> quieres guardarlo todo y de una en un json?
>>>>
>>>>
>>>> El 20 de marzo de 2013 17:31, Andrey Antukh <niwi en niwi.be> escribió:
>>>>
>>>> Es muy simple:
>>>>>
>>>>> >>> import io
>>>>> >>> import json
>>>>> >>> kk = {str(x):u"kákà" for x in range(1000)}
>>>>> >>> with io.open("foo.json", "wb") as f:
>>>>> ...     json.dump(kk, f)
>>>>> ...
>>>>> >>>
>>>>> >>> with io.open("foo.json", "rb") as f:
>>>>> ...     kk2 = json.load(f)
>>>>> ...
>>>>> >>> len(kk2.keys())
>>>>> 1000
>>>>> >>> kk2[1]
>>>>> Traceback (most recent call last):
>>>>>   File "<stdin>", line 1, in <module>
>>>>> KeyError: 1
>>>>> >>> print kk2["1"]
>>>>> kákà
>>>>>
>>>>> Andrey
>>>>>
>>>>>
>>>>> El 20 de marzo de 2013 20:52, Flavio Danesse <fdanesse en gmail.com>escribió:
>>>>>
>>>>> ok
>>>>>>
>>>>>> Esto funciona para guardar una cadena con tildes, pero que pasa si en
>>>>>> tu aplicación tienes un diccionario bien grande con diccionarios, listas,
>>>>>> etc . . . anidados y quieres guardarlo todo y de una en un json?
>>>>>>
>>>>>>
>>>>>>
>>>>>> El 20 de marzo de 2013 16:40, Andrey Antukh <niwi en niwi.be> escribió:
>>>>>>
>>>>>> Modulo json fue incorporado en python 2.6 tomando como codigo base
>>>>>>> simplejson.
>>>>>>> La regla principal, es usar siempre siempre y siempre, unicode (sea
>>>>>>> con UTF-8, UTF-16 o UTF-32) (para nuestro caso es utf-8).
>>>>>>> Y no habra problemas. Si no cuidas el encoding con el que editas los
>>>>>>> ficheros, pueden pasarte esas cosas.
>>>>>>>
>>>>>>> Usar un modulo externo y decir que es una solucion al problema, lo
>>>>>>> unico que dice es que el problema sigue ahi, y que el modulo que usas traga
>>>>>>> mas mierda y sea menos estricto, pero de ninguna manera te ha solucionado
>>>>>>> el problema de encoding.
>>>>>>>
>>>>>>> >>> import json
>>>>>>> >>> kk = u"cadená con tìldes"
>>>>>>> >>> dd = json.dumps({"foo": kk})
>>>>>>> >>> dd
>>>>>>> '{"foo": "caden\\u00e1 con t\\u00ecldes"}'
>>>>>>> >>> print json.loads(dd)
>>>>>>> {u'foo': u'caden\xe1 con t\xecldes'}
>>>>>>> >>> print json.loads(dd)['foo']
>>>>>>> cadená con tìldes
>>>>>>>
>>>>>>> Un saludo.
>>>>>>> Andrey
>>>>>>>
>>>>>>>
>>>>>>> El 20 de marzo de 2013 20:29, Flavio Danesse <fdanesse en gmail.com>escribió:
>>>>>>>
>>>>>>> yo tuve el mismo problema que él y esta fue la solución.
>>>>>>>>
>>>>>>>> La verdad no sabia que json era de python y simplejson no.
>>>>>>>>
>>>>>>>> El 20 de marzo de 2013 16:20, Andrey Antukh <niwi en niwi.be>escribió:
>>>>>>>>
>>>>>>>> El 20 de marzo de 2013 19:53, Flavio Danesse <fdanesse en gmail.com>escribió:
>>>>>>>>>
>>>>>>>>>> import simplejson
>>>>>>>>>> archivo = open(path, 'w')
>>>>>>>>>> archivo.write(simplejson.dumps(salida))
>>>>>>>>>> archivo.close()
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> No entiendo la necesidad de liar a una persona con bibliotecas
>>>>>>>>> que están fuera de python, cuando la pregunta va directa sobre un modulo de
>>>>>>>>> python.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> El 20 de marzo de 2013 15:35, Diego Uribe Gamez <
>>>>>>>>>> diego.uribe.gamez en gmail.com> escribió:
>>>>>>>>>>
>>>>>>>>>> estoy usando nano,
>>>>>>>>>>>
>>>>>>>>>>> para lo que me pregunto quique:
>>>>>>>>>>>
>>>>>>>>>>> print u"%s" % var
>>>>>>>>>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in
>>>>>>>>>>> position 53: ordinal not in range(128)
>>>>>>>>>>>
>>>>>>>>>>> lo que sucede es que var biene de otro archivo y es un string,
>>>>>>>>>>> no logro codificarlo.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> El 20 de marzo de 2013 13:33, Alberto Chamorro <
>>>>>>>>>>> a.chamorro.ruiz en gmail.com> escribió:
>>>>>>>>>>>
>>>>>>>>>>> Aun asi da cosa ver ASCII Java program text! ¿Que editor
>>>>>>>>>>>> utilizas?
>>>>>>>>>>>>  On Mar 20, 2013 7:12 PM, "Quique Porta" <quiqueporta en gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> ¿Has probado esto?
>>>>>>>>>>>>> var = *u*"texto con tildes, Categorías "
>>>>>>>>>>>>>
>>>>>>>>>>>>> poniendo la "u" delante de la cadena
>>>>>>>>>>>>>
>>>>>>>>>>>>> El 20 de marzo de 2013 18:56, Diego Uribe Gamez <
>>>>>>>>>>>>> diego.uribe.gamez en gmail.com> escribió:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> tan raro yo no sabia y tampoco entiendo:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> file texto.py
>>>>>>>>>>>>>> texto.py: ASCII Java program text
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> sobre el encabezado esta el # -*- coding: utf-8 -*-
>>>>>>>>>>>>>> correctamente
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Como hago para saber con un print el tipo de codificación
>>>>>>>>>>>>>> antes de hacer el encode('utf-8')?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> El 20 de marzo de 2013 12:25, Alberto Chamorro <
>>>>>>>>>>>>>> a.chamorro.ruiz en gmail.com> escribió:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Si lo tienes en un fichero .py comprueba la codificacion con
>>>>>>>>>>>>>>> la que has guardado el fichero (en unix seria con el comando file)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Tambien se recomienda añadir a los programas la linea de
>>>>>>>>>>>>>>> coding:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> # -*- coding: utf-8 -*-
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Un saludo
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Python-es mailing list
>>>>>>>>>>>>>>> Python-es en python.org
>>>>>>>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>   *Diego Alonso Uribe Gamez*
>>>>>>>>>>>>>> ------------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *Desarrollador web*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Twitter: @DiegoUG <http://www.twitter.com/DiegoUG>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Google+: http://gplus.to/diegoug
>>>>>>>>>>>>>> ------------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Python-es mailing list
>>>>>>>>>>>>>> Python-es en python.org
>>>>>>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Python-es mailing list
>>>>>>>>>>>>> Python-es en python.org
>>>>>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Python-es mailing list
>>>>>>>>>>>> Python-es en python.org
>>>>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>   *Diego Alonso Uribe Gamez*
>>>>>>>>>>> ------------------------------
>>>>>>>>>>>
>>>>>>>>>>> *Desarrollador web*
>>>>>>>>>>>
>>>>>>>>>>> Twitter: @DiegoUG <http://www.twitter.com/DiegoUG>
>>>>>>>>>>>
>>>>>>>>>>> Google+: http://gplus.to/diegoug
>>>>>>>>>>> ------------------------------
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Python-es mailing list
>>>>>>>>>>> Python-es en python.org
>>>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Python-es mailing list
>>>>>>>>>> Python-es en python.org
>>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Andrey Antukh - Андрей Антух - <niwi en niwi.be>
>>>>>>>>> http://www.niwi.be/about.html
>>>>>>>>> http://www.kaleidos.net/A5694F/
>>>>>>>>>
>>>>>>>>> "Linux is for people who hate Windows, BSD is for people who love
>>>>>>>>> UNIX"
>>>>>>>>> "Social Engineer -> Because there is no patch for human stupidity"
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Python-es mailing list
>>>>>>>>> Python-es en python.org
>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Python-es mailing list
>>>>>>>> Python-es en python.org
>>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Andrey Antukh - Андрей Антух - <niwi en niwi.be>
>>>>>>> http://www.niwi.be/about.html
>>>>>>> http://www.kaleidos.net/A5694F/
>>>>>>>
>>>>>>> "Linux is for people who hate Windows, BSD is for people who love
>>>>>>> UNIX"
>>>>>>> "Social Engineer -> Because there is no patch for human stupidity"
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Python-es mailing list
>>>>>>> Python-es en python.org
>>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Python-es mailing list
>>>>>> Python-es en python.org
>>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Andrey Antukh - Андрей Антух - <niwi en niwi.be>
>>>>> http://www.niwi.be/about.html
>>>>> http://www.kaleidos.net/A5694F/
>>>>>
>>>>> "Linux is for people who hate Windows, BSD is for people who love UNIX"
>>>>> "Social Engineer -> Because there is no patch for human stupidity"
>>>>>
>>>>> _______________________________________________
>>>>> Python-es mailing list
>>>>> Python-es en python.org
>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> http://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> Andrey Antukh - Андрей Антух - <niwi en niwi.be>
>>> http://www.niwi.be/about.html
>>> http://www.kaleidos.net/A5694F/
>>>
>>> "Linux is for people who hate Windows, BSD is for people who love UNIX"
>>> "Social Engineer -> Because there is no patch for human stupidity"
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
> Andrey Antukh - Андрей Антух - <niwi en niwi.be>
> http://www.niwi.be/about.html
> http://www.kaleidos.net/A5694F/
>
> "Linux is for people who hate Windows, BSD is for people who love UNIX"
> "Social Engineer -> Because there is no patch for human stupidity"
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130320/165c276a/attachment.html>


Más información sobre la lista de distribución Python-es