Prev: Hi,Everyone: what's the most popular xml parser module on python?
Next: feature request for a wget -r like implementation in python3
From: Krister Hedfors on 15 Apr 2010 08:21 sqldict - dict with sqlalchemy database-agnostic back-end You can now create a dict out of arbitrary key/value columns of any existing database table, in addition to ordinary dedicated strict or auto-pickling sqldicts. Basic use: $ easy_install sqldict $ easy_install sqlalchemy >>> from sqldict import sqldict >>> from sqlalchemy import * >>> #d0 = sqldict("mysql://user:pass(a)dbhost/dbname", "table0", create=1) >>> engine = create_engine("sqlite://") >>> d1 = sqldict(engine, "table1", create=1) >>> d2 = sqldict(engine, "table2", create=1, valtype=Integer) >>> contents = {"asd":123} >>> d1.update(contents) >>> d2.update(contents) >>> assert d1["asd"] == "123" >>> assert d2["asd"] == 123 Make dict from existing database table: >>> _ = engine.execute("create table asd (i integer, s varchar(50))") >>> _ = engine.execute("insert into asd values (42, 'gubbe')") >>> d3 = sqldict(engine, "asd", keycol="s", valcol="i") >>> d4 = sqldict(engine, "asd", keycol="i", valcol="s") >>> assert d3["gubbe"] == 42 >>> assert d4[42] == "gubbe" Key-val serializing and only val serializing sqldicts; a's key column type is String, b's key column type is Integer. The obvious use case for b is HUGE dicts where only integer indexes are allowed: >>> a = sqldict(engine, "serty1", create=1, serialize=1) >>> b = sqldict(engine, "serty2", create=1, serialize=1, keytype=Integer) >>> >>> a[1] = (2,3) >>> assert a[1] == (2,3) >>> b[4] = (5,6) >>> assert b[4] == (5,6) Have fun! /Krister Hedfors |