lgabiot wrote: > using Python 2.7.6 > > I try to access a sqlite database using keyword lookup instead of > position (much more easy to maintain code), but it always fail, with the > error: > Index must be int or string > > I have created the database, populated it, and here is the code that > tries to retrieve the information: > > with sqlite3.connect(mydbPath) as db: # open the database > db.row_factory = sqlite3.Row > cursor = db.cursor() > cursor.execute("SELECT * FROM files") > > for row in cursor.fetchall(): > print(row.keys()) > print(row["filename"]) > > > result is: > > ['filename', 'filepath', 'filetag', 'PROJECT', 'SCENE', 'TAKE', 'TAPE', [...] > 'is_cantar', 'is_sound_devices', 'exist'] > > error => Index must be int or string
Please remember to cut and past the traceback next time. > What is wrong? My crystal ball says that you have a from __future__ import unicode_literals statement at the beginning of the module. If I'm right try row[b"filename"] -- https://mail.python.org/mailman/listinfo/python-list