Pergunta

Eu estou procurando uma solução simples usando Python para armazenar dados como um arquivo simples, de modo que cada linha é uma representação em cadeia de uma matriz que pode ser facilmente analisado.

Eu tenho certeza que python tem biblioteca para fazer tal tarefa fácil, mas até agora todas as abordagens que eu encontrei parecia que teria sido desleixado para obtê-lo para o trabalho e eu estou certo que há uma abordagem melhor. Até agora eu tentei:

  • o array.toFile (método), mas não conseguia descobrir como obtê-lo para trabalhar com matrizes aninhadas de cordas, parecia voltado para dados inteiro.
  • As listas e conjuntos não tem um método TOFILE embutido, então eu teria que analisar e codificar-lo manualmente.
  • CSV parecia uma boa abordagem, mas isso exigiria também analisá-lo manualmente, e não me permite simplesmente acrescentar novas linhas no final -. Por isso quaisquer novas chamadas a do CSVWriter iria substituir o arquivo de dados existente

Eu estou realmente tentando evitar o uso de bancos de dados (talvez SQLite mas parece um exagero bit) porque eu estou tentando desenvolver este não ter pré-requisitos de software, além de Python.

Foi útil?

Solução

Deve o arquivo ser legível? Se não, prateleira é realmente fácil de usar.

Outras dicas

Além de pickle ( mencionado acima ), há < a href = "http://docs.python.org/library/json.html" rel = "nofollow noreferrer"> json (construído para 2.6, disponível através de simplejson antes disso), e marshal . Além disso, há um reader na mesma csv módulo o escritor está em

UPDATE: Como S. Lott apontou em um comentário, há também YAML, disponível via PyYAML , entre outros .

Eu estou procurando uma solução simples usando Python para armazenar dados como um arquivo simples, de modo que cada linha é uma representação em cadeia de uma matriz que pode ser facilmente analisado.

Os dados são sempre apenas vai ser interpretado por programas em Python? Se não, então eu evitar picles et al (prateleira e marshal) já que eles são muito Python específica. JSON e YAML têm a vantagem importante que os analisadores estão facilmente disponíveis para a maioria qualquer idioma.

Esta solução no SourceForge usa módulos único padrão Python:

módulo y_serial.py :: armazém Python objetos com SQLite

"serialização + persistência :: em poucas linhas de código, compressa e anotar Python objetos em SQLite; em seguida, mais tarde recuperá-los em ordem cronológica por palavras-chave sem qualquer SQL mais úteis. 'Módulo padrão' para um banco de dados para dados sem esquema de loja . "

http://yserial.sourceforge.net

SQLite não é "um exagero" em tudo - você vai se surpreender como é simples; Além disso, ele resolve os dados mais gerais persistência questões.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top