[Python-es] estructura de datos, duda existencial

Miguel Barraza correo en miguelbarraza.com.ar
Jue Sep 22 13:00:43 CEST 2011


hoola, gracias!.
CPickle suena muy intersante, así que lo estaré probando.
pero ya con esta ayudita estube leyendo bastante.

saludos!.

atte, Miguel


Subject: Re: [Python-es] estructura de datos, duda existencial


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