Hola Miguel, 2011/9/22 Miguel Barraza <cor...@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@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/