diff -Naur old/shelve.py new/shelve.py --- old/shelve.py 2011-03-22 21:48:37.000000000 +0000 +++ new/shelve.py 2011-03-22 21:52:48.000000000 +0000 @@ -90,6 +90,8 @@ self.writeback = writeback self.cache = {} self.keyencoding = keyencoding + self._BytesIO = BytesIO + self._Pickler = Pickler def __iter__(self): for k in self.dict.keys(): @@ -119,8 +121,8 @@ def __setitem__(self, key, value): if self.writeback: self.cache[key] = value - f = BytesIO() - p = Pickler(f, self._protocol) + f = self._BytesIO() + p = self._Pickler(f, self._protocol) p.dump(value) self.dict[key.encode(self.keyencoding)] = f.getvalue()