New submission from Serhiy Storchaka: StringIO.StringIO is pickleable and unpickleable on 2.7 but is not unpickleable on 3.x.
Python 2.7: >>> import pickle, StringIO >>> pickle.dumps(StringIO.StringIO('abc'), 2) '\x80\x02(cStringIO\nStringIO\nq\x00oq\x01}q\x02(U\tsoftspaceq\x03K\x00U\x07buflistq\x04]q\x05U\x03posq\x06K\x00U\x03lenq\x07K\x03U\x06closedq\x08\x89U\x03bufq\tU\x03abcq\nub.' >>> pickle.loads(b'\x80\x02(cStringIO\nStringIO\nq\x00oq\x01}q\x02(U\tsoftspaceq\x03K\x00U\x07buflistq\x04]q\x05U\x03posq\x06K\x00U\x03lenq\x07K\x03U\x06closedq\x08\x89U\x03bufq\tU\x03abcq\nub.') <StringIO.StringIO instance at 0xb70c122c> On 3.x I got an error: Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: _io.StringIO.__setstate__ argument should be 4-tuple, got dict ---------- components: Library (Lib) messages: 231268 nosy: alexandre.vassalotti, pitrou, serhiy.storchaka priority: normal severity: normal status: open title: StringIO.StringIO pickled in 2.7 is not unpickleable on 3.x type: behavior versions: Python 3.4, Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22890> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com