[Python-es] estructura de datos, duda existencial

Nekmo contacto en nekmo.com
Vie Sep 23 04:30:36 CEST 2011


Me gusta el tema :D Me apunto lo de shelve... una solución que utilizo
yo, es guardar la información en un archivo json, que aunque no es tan
eficiente, te permite mantener la mayoría de los tipos de Python,
incluyendo diccionarios, listados, etc. Con recursividad incluso :D

Saludos.

Un cordial saludo:
-- Nekmo.

Sitio web: http://nekmo.com
Dirección de contacto: contacto en nekmo.com
XMPP/Jabber: contacto en nekmo.com
Identi.ca: http://identi.ca/nekmo
Diaspora: Nekmo
Google+: Nekmo Com



El día 22 de septiembre de 2011 07:38, Francesc Alted
<faltet en pytables.org> escribió:
> Hola Miguel,
>
> 2011/9/22 Miguel Barraza <correo en miguelbarraza.com.ar>:
>> hola!, ya arrancamos con mis dudas existenciales, jaja.
>> según las experiencias de ustedes, cual es la mejor forma de almacenar
>> datos?: xml, yamx, json, sql, o archivos.py?.
>> les comento, para practicar estoy diseñando un juego (por simple gusto no
>> mas) y quiero poner objetos que se puedan interactuar, cada objeto tiene sus
>> propiedades, y quería diseñar una clase que tome los datos de ese objeto,
>> cantidad de objetos?, no se, inicialmente pocos pero luego seguir ampliando
>> deapoco, así que quiero generar un estandar para que sea facil agregar
>> nuevos. por eso mi duda, necesito guardar propiedades de ese objeto en un
>> lado, cual es la mejor forma utilizando: xml, yamx, sql, o poniendo
>> directamente variables en archivos.py, cual es la forma mas rápida de
>> capturar esos datos para procesarlos?.
>
> Pues es una buena pregunta, ya que las maneras para serializar datos
> son prácticamente infinitas. Para cosas sencillas, yo te recomendaria
> pickle, que te permite serializar prácticamente cualquier estructura
> de Python de una manera muy eficiente (acuérdate de usar siempre el
> parámetro pickle.HIGHEST_PROTOCOL).
>
> Cuando quieres serializar muchas variables de una tacada, lo mejor es
> que crees un diccionario y pongas todas tus variables allí.  Después
> ya puedes 'picklear' el diccionario entero.
>
> Finalmente, si realmente quieres guardar un montón de pickles, y no
> quieres tener que deserializar todo el fichero (o stream) cada vez, el
> módulo shelve es muy útil.  shelve se comporta básicamente como un
> diccionario, pero basado en disco: cada vez que accedes a una entrada,
> se recupera sólo esa información y se deserializa al vuelo, de manera
> que recuperas el objeto inicial de manera muy sencilla (y eficiente).
>
> Espero sea de ayuda.  Ánimo y adelante!
>
> --
> Francesc Alted
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


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