From cfbb23a4dd0341577a10fa4660ee7450b58da45f Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 22 Mar 2010 02:00:11 +0000 Subject: [PATCH] Merged revisions 79271 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r79271 | victor.stinner | 2010-03-22 02:58:35 +0100 (lun., 22 mars 2010) | 4 lines Issue #4282: Fix the main function of the profile module for a non-ASCII script, open the file in binary mode and not in text mode with the default (utf8) encoding. ........ --- Lib/profile.py | 5 +---- Misc/NEWS | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Lib/profile.py b/Lib/profile.py index d969246475b..2a96ba8dfbd 100755 --- a/Lib/profile.py +++ b/Lib/profile.py @@ -609,11 +609,8 @@ def main(): if (len(args) > 0): sys.argv[:] = args sys.path.insert(0, os.path.dirname(sys.argv[0])) - fp = open(sys.argv[0]) - try: + with open(sys.argv[0], 'rb') as fp: script = fp.read() - finally: - fp.close() run('exec(%r)' % script, options.outfile, options.sort) else: parser.print_usage() diff --git a/Misc/NEWS b/Misc/NEWS index 57d084d63ad..b8959df4e9a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -143,6 +143,10 @@ Core and Builtins Library ------- +- Issue #4282: Fix the main function of the profile module for a non-ASCII + script, open the file in binary mode and not in text mode with the default + (utf8) encoding. + - Issue #7774: Set sys.executable to an empty string if argv[0] has been set to an non existent program name and Python is unable to retrieve the real program name