Index: Lib/profile.py =================================================================== --- Lib/profile.py (révision 70478) +++ Lib/profile.py (copie de travail) @@ -38,6 +38,7 @@ import time import marshal from optparse import OptionParser +import tokenize __all__ = ["run", "runctx", "help", "Profile"] @@ -609,11 +610,10 @@ if (len(sys.argv) > 0): sys.path.insert(0, os.path.dirname(sys.argv[0])) - fp = open(sys.argv[0]) - try: + with open(sys.argv[0], 'rb') as fp: + encoding, lines = tokenize.detect_encoding(fp.readline) + with open(sys.argv[0], 'r', encoding=encoding) as fp: script = fp.read() - finally: - fp.close() run('exec(%r)' % script, options.outfile, options.sort) else: parser.print_usage()