Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!bcyclone01.am1.xlned.com!bcyclone01.am1.xlned.com!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.011 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'versions.': 0.07; 'backwards': 0.09; 'eat': 0.09; 'executes': 0.09; 'storage.': 0.09; '\xe2\x80\x94': 0.09; 'cc:addr:python-list': 0.10; 'compatible.': 0.16; 'py3': 0.16; 'subject:make': 0.16; 'unsafe': 0.16; 'wrote:': 0.16; 'cc:2**0': 0.21; 'cc:addr:python.org': 0.21; 'environments': 0.22; 'subject:request': 0.22; 'cc:no real name:2**0': 0.23; 'programming': 0.23; 'code,': 0.23; '2015': 0.23; 'header:In-Reply-To:1': 0.24; 'chris': 0.26; 'message- id:@mail.gmail.com': 0.28; 'subject:/': 0.29; 'pickle': 0.29; 'certainly': 0.31; 'anyone': 0.32; 'instead,': 0.33; 'languages': 0.34; 'file': 0.34; 'received:google.com': 0.34; 'could': 0.35; 'formats': 0.35; 'protocol': 0.35; 'there': 0.36; 'should': 0.37; 'subject:: ': 0.37; 'delete': 0.37; 'tue,': 0.38; 'someone': 0.38; 'files': 0.38; 'means': 0.39; 'pm,': 0.39; 'data': 0.40; 'your': 0.60; 'safe': 0.63; 'else.': 0.66; 'becker': 0.84; 'subject:read': 0.84; 'subject:write': 0.84; 'who,': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=fNRjMsQV23T1oz+c7QUzZpyOA/Xj1sAezX8F5am/aeo=; b=aF2oPRbMwGIEPPGSlnYdS1MzlgIP5PpBcWJtU2DSdSPHmf26Hn+mp8aOQYABiZ49im S4uwf9bDHO/UutM/WfNp1cDBj18S+vB5JKplvSuiZgoTXlakab1Pa4R4TcWP8HiXXq1n RJgqxWc8yN5IecaBucHAlVCa38R9t5rUc6iy3qxc3TfYFYljfxXX0L/dihNow8bbp2vx FBbcyj9NZeJcrtAt9tMFsRZl2/YQbJEguBnqL6Dfh7aOqs18EQ8Vb1TkhyJB7CNwhWgj wOG783HNBjdKujk2emH96iJUKRwUysdEoImOSYXt9WRLLoBC4XOBV0A3+fOetwYbXevq CiWw== MIME-Version: 1.0 X-Received: by 10.107.13.130 with SMTP id 124mr29241703ion.70.1433874902626; Tue, 09 Jun 2015 11:35:02 -0700 (PDT) In-Reply-To: References: Date: Tue, 9 Jun 2015 20:35:02 +0200 Subject: Re: enhancement request: make py3 read/write py2 pickle format From: Chris Warrick To: Neal Becker Cc: python-list@python.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 26 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1433876388 news.xs4all.nl 2838 [2001:888:2000:d::a6]:47414 X-Complaints-To: abuse@xs4all.nl X-Received-Bytes: 4353 X-Received-Body-CRC: 440272368 Xref: csiph.com comp.lang.python:92365 On Tue, Jun 9, 2015 at 8:08 PM, Neal Becker wrote: > One of the most annoying problems with py2/3 interoperability is that the > pickle formats are not compatible. There must be many who, like myself, > often use pickle format for data storage. > > It certainly would be a big help if py3 could read/write py2 pickle forma= t. > You know, backward compatibility? Don=E2=80=99t use pickle. It=E2=80=99s unsafe =E2=80=94 it executes arbitra= ry code, which means someone can give you a pickle file that will delete all your files or eat your cat. Instead, use a safe format that has no ability to execute code, like JSON. It will also work with other programming languages and environments if you ever need to talk to anyone else. But, FYI: there is backwards compatibility if you ask for it, in the form of protocol versions. That=E2=80=99s all you should know =E2=80=94 aga= in, don=E2=80=99t use pickle. --=20 Chris Warrick PGP: 5EAAEA16