This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author smarnach
Recipients smarnach
Date 2011-11-03.12:11:31
SpamBayes Score 1.8955698e-10
Marked as misclassified No
Message-id <1320322292.48.0.851588051991.issue13332@psf.upfronthosting.co.za>
In-reply-to
Content
The execfile fixer of the 2to3 script replaces the 2.x code

    execfile("a.py")

by

    exec(compile(open("a.py").read(), "a.py", 'exec'))

The new code does not explicitly close the file.  This is not usually a problem in CPython, but

 1. the code will throw a RessourceWarnings if enabled and

 2. other Python implementation don't close the file immediately.

(I think the 2to3 script should be as implementation-independent as possible.)

The obvious fix would be to use a with-statement:

    with open("a.py") as new_name:
        exec(compile(new_name.read(), "a.py", 'exec'))

If this is to be changed, I'd be happy to prepare a patch.
History
Date User Action Args
2011-11-03 12:11:32smarnachsetrecipients: + smarnach
2011-11-03 12:11:32smarnachsetmessageid: <1320322292.48.0.851588051991.issue13332@psf.upfronthosting.co.za>
2011-11-03 12:11:31smarnachlinkissue13332 messages
2011-11-03 12:11:31smarnachcreate