[Python-3000] please keep open() as a builtin, and general concerns about Py3k complexity

Neal Norwitz nnorwitz at gmail.com
Wed May 23 08:03:29 CEST 2007

On 5/22/07, Guillaume Proux <gproux+py3000 at gmail.com> wrote:
> On 5/23/07, Steve Howell <showell30 at yahoo.com> wrote:
> > 17.7% of the files I searched have calls to open().
> My understand is that the mythical "python 2.x -> 3.0" tool will
> automatically migrate your code by using the AST to find all
> references to "open" and  when finding one, add the correct import and
> replace the open by the io.open call

Sure a fixer would be written if this change was made.

I'm not sure from your comment about the tool being 'mythical' if you
meant to imply that this wasn't real.  Just in case there is any
doubt, it is alive and well and lives in the sandbox:


There are currently fixers for:

apply, callable, dict, dummy, except, exec, has_key, input, intern,
long, ne, next, nonzero, numliterals, print, raise, raw_input, repr,
sysexcinfo, throw, tuple_params, unicode, ws_comma, xrange

I'm not sure if this is the best list to handle questions about what
does/doesn't exist for 3k.  However, I don't know of a better place to
discuss some of the transition issues.  If there are doubts about
what's being done, it would be great to raise them here and now, so we
can dispel any myths that might exist.

Other 3k status:
 * Most major changes have already been made
 * Biggest remaining change to the core language deals with
string-unicode unification
 * ~10 accepted PEPs have yet to be implemented (some have patches)
 * 8 PEPs have not been accepted or rejected yet
 * Re-organization of the standard library is starting to move forward a little
 * Doc needs lots of work, only some changes have been made
 * First alpha optimistically will ship within ~3 months

There are some issues with getting the alpha out within 3 months due
to finishing the important tasks (ie, people's availability).  So my
guess is that the alpha will slip a little.  str-uni needs to get

We are running tests and building twice a day.  There is a single
failing test.  Generally all the tests are working.


More information about the Python-3000 mailing list