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 <[email protected]> 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 <[email protected]>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 <[email protected]> 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 <[email protected]>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 <[email protected]> escribió: >>>> >>>> El 20 de marzo de 2013 19:53, Flavio Danesse <[email protected]>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 < >>>>>> [email protected]> 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 < >>>>>>> [email protected]> escribió: >>>>>>> >>>>>>> Aun asi da cosa ver ASCII Java program text! ¿Que editor utilizas? >>>>>>>> On Mar 20, 2013 7:12 PM, "Quique Porta" <[email protected]> >>>>>>>> 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 < >>>>>>>>> [email protected]> 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 < >>>>>>>>>> [email protected]> 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 >>>>>>>>>>> [email protected] >>>>>>>>>>> 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 >>>>>>>>>> [email protected] >>>>>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Python-es mailing list >>>>>>>>> [email protected] >>>>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>>>> >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Python-es mailing list >>>>>>>> [email protected] >>>>>>>> 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 >>>>>>> [email protected] >>>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Python-es mailing list >>>>>> [email protected] >>>>>> http://mail.python.org/mailman/listinfo/python-es >>>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Andrey Antukh - Андрей Антух - <[email protected]> >>>>> 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 >>>>> [email protected] >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> [email protected] >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> >>> -- >>> Andrey Antukh - Андрей Антух - <[email protected]> >>> 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 >>> [email protected] >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> [email protected] >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > -- > Andrey Antukh - Андрей Антух - <[email protected]> > 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 > [email protected] > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
