Bugs item #1474680, was opened at 2006-04-22 19:20 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1474680&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Python Library Group: Python 2.4 Status: Open Resolution: None Priority: 5 Submitted By: Kirill Simonov (kirill_simonov) Assigned to: Nobody/Anonymous (nobody) Summary: pickling files works with protocol=2. Initial Comment: Compare: >>> import pickle >>> pickle.dumps(file('/etc/passwd')) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.4/pickle.py", line 1386, in dumps Pickler(file, protocol, bin).dump(obj) File "/usr/lib/python2.4/pickle.py", line 231, in dump self.save(obj) File "/usr/lib/python2.4/pickle.py", line 313, in save rv = reduce(self.proto) File "/usr/lib/python2.4/copy_reg.py", line 69, in _reduce_ex raise TypeError, "can't pickle %s objects" % base.__name__ TypeError: can't pickle file objects with >>> pickle.dumps(file('/etc/passwd'), protocol=2) '\x80\x02c__builtin__\nfile\nq\x00)\x81q\x01.' Similarly, the __reduce__ method works for basic objects like str, int or dict with protocol=2, but doesn't work with protocol=1: >>> (1).__reduce_ex__(1) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.4/copy_reg.py", line 69, in _reduce_ex raise TypeError, "can't pickle %s objects" % base.__name__ TypeError: can't pickle int objects >>> (1).__reduce_ex__(2) (<function __newobj__ at 0xb7e5117c>, (<type 'int'>, 1), None, None, None) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1474680&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com