Message 200376 - Python tracker (original) (raw)

Attached patch checks that the db is actually closed after the with. Also, I noticed that dbm.dumb doesn't behave like the rest of the variants, as seen in the following:

import dbm.dumb as d db = d.open('test.dat', 'c') db.close() db.keys() Traceback (most recent call last): File "", line 1, in File "/tank/libs/cpython/Lib/dbm/dumb.py", line 212, in keys return list(self._index.keys()) AttributeError: 'NoneType' object has no attribute 'keys'

vs

import dbm.gnu as g db = g.open('test.dat', 'c') db.close() db.keys() Traceback (most recent call last): File "", line 1, in _gdbm.error: GDBM object has already been closed