Лучший способ таблицы Python? - PullRequest
3 голосов
/ 10 ноября 2010

Любые мысли о наилучшем способе реализации таблицы (то есть небольшой реляционной базы данных) в python без использования дополнительных модулей внешних баз данных и , когда модуль sqlite3 сломан или отсутствует .

user:~ $ python3
>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/bns/rma/local/python/lib/python3.1/sqlite3/__init__.py", line 24, in <module>
    from sqlite3.dbapi2 import *
  File "/bns/rma/local/python/lib/python3.1/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3
>>> ^D
user:~ $ python2.7
Python 2.7 (r27:82500, Jul 28 2010, 11:39:31)
[GCC 3.4.3 (csl-sol210-3_4-branch+sol_rpath)] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/dcottr/local/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/home/dcottr/local/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3
>>>

Ответы [ 3 ]

13 голосов
/ 10 ноября 2010

Использование sqlite3.

  • Поставляется с питоном, вам не нужно внешние базы данных или дополнительные модули.
  • Может создать всю базу данных на объем памяти. Вам не нужны дополнительные файлы на диск, если вы не хотите.
  • Молниеносно.
  • Может выполнять современные запросы на столы типа JOIN с

Нет причин не использовать его. Это будет быстрее и полнее, чем любое решение, которое вы сами наладите.

4 голосов
/ 10 ноября 2010

Вы можете в основном представлять таблицы в виде списка списков / кортежей.Тогда у вас может быть dict для представления индексов.

Будете ли вы выполнять запросы в таблице или просто «иметь» ее представленные?Для чего вам это нужно?

2 голосов
/ 10 ноября 2010

С версии 2.5 Python поддерживает Sqlite . Это очень легкий и не внешний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...