my computer is allergic to pickles
Mel
mwilson at the-wire.com
Mon Mar 7 10:42:45 EST 2011
Bob Fnord wrote:
> I want a portable data file (can be moved around the filesystem
> or copied to another machine and used), so I don't want to use
> mysql or postgres. I guess the "sqlite" approach would work, but
> I think it would be difficult to turn the tuples of strings and
> lists of strings and numbers into database table lines.
This is as hairy as it's ever got for me (untested):
def inserter (db, table_name, names, values):
query = 'INSERT INTO %s (%s) VALUES (%s)' % (table_name, ','.join
(names), ','.join (['?'] * len (names)))
cur = db.cursor()
cur.execute (query, values)
cur.close()
#...
for v in all_value_triples:
inserter (db, 'some_table', ['f1', 'f2', 'f3'], v)
(or even write a bulk_inserter that took all_value_triples as an argument
and moved the `for v in ...` inside the function.)
> Would a database in a file have any advantages over a file made
> by marshal or shelve?
Depends. An sqlite3 database file is usable by programs not written in
Python.
> I'm more worried about the fact that a python program in user
> space can bring down the computer!
Never been a problem in the programs I've written.
Mel.
More information about the Python-list
mailing list