Pregunta

Estoy buscando una solución sencilla usando Python para almacenar datos como un archivo plano, de manera que cada línea es una representación de cadena de una matriz que se puede analizar fácilmente.

Estoy seguro de que Python biblioteca para hacer una tarea tan fácilmente, pero hasta ahora todos los enfoques que he encontrado parecía que hubiera sido descuidado a conseguir que funcione y estoy seguro de que hay un mejor enfoque. Hasta ahora he intentado:

  • el método array.toFile (), pero no pudo encontrar la manera de conseguir que funcione con matrices anidadas de cuerdas, parecía orientado a datos enteros.
  • Las listas y los conjuntos no tienen un método TOFILE incorporado, por lo que habrían tenido que analizar y codificar manualmente.
  • CSV parecía un buen enfoque, pero esto también requeriría analizar manualmente, y no me permite simplemente añado nuevas líneas al final -. Por lo que cualquier nuevas llamadas al del CSVWriter podría sobrescribir los datos existentes de archivos

Realmente estoy tratando de evitar el uso de bases de datos SQLite (tal vez, pero parece un poco exagerado) porque estoy tratando de desarrollar esto tenga ningún requisito previo de software, además de Python.

¿Fue útil?

Solución

Debe ser el archivo legible? Si no es así, estantería es muy fácil de usar.

Otros consejos

Además de pickle ( mencionado anteriormente ), hay < a href = "http://docs.python.org/library/json.html" rel = "nofollow noreferrer"> json (construido en a 2,6, disponible a través de simplejson antes de eso), y marshal . Además, hay un reader en la misma módulo csv el escritor es en

ACTUALIZACIÓN: Como S. Lott señaló en un comentario, también hay YAML, disponible a través de PyYAML , entre otros .

  

Estoy buscando una solución sencilla usando Python para almacenar datos como un archivo plano, de manera que cada línea es una representación de cadena de una matriz que se puede analizar fácilmente.

¿Los datos única vez va a ser analizado por los programas en Python? Si no, entonces yo evitaría salmuera y otros (de lado y Mariscal) ya que son muy específicos de Python. JSON y YAML tienen la ventaja importante que los analizadores están fácilmente disponibles para la mayoría de cualquier idioma.

Esta solución en SourceForge utiliza módulos de Python único estándar:

Módulo y_serial.py :: Python objetos del almacén con SQLite

"serialización + persistencia :: en unas pocas líneas de código, comprimir y anotar Python objetos en SQLite; luego recuperarlos cronológicamente por palabras clave sin ningún tipo SQL más útiles. 'Módulo estándar' de una base de datos para almacenar datos sin esquema . "

http://yserial.sourceforge.net

SQLite no es "excesivo" en absoluto - usted se sorprenderá de lo fácil que es; además de que resuelve los datos más generales persistencia problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top