summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Demo/cgi/wiki.py2
-rwxr-xr-xDemo/comparisons/regextest.py2
-rwxr-xr-xDemo/comparisons/systemtest.py4
-rwxr-xr-xDemo/parser/test_parser.py2
-rw-r--r--Demo/parser/unparse.py2
-rwxr-xr-xDemo/pdist/FSProxy.py2
-rwxr-xr-xDemo/pdist/cmdfw.py4
-rwxr-xr-xDemo/pdist/cmptree.py4
-rwxr-xr-xDemo/pdist/cvslock.py4
-rwxr-xr-xDemo/pdist/rrcs.py4
-rwxr-xr-xDemo/pysvr/pysvr.py10
-rw-r--r--Demo/rpc/nfsclient.py3
-rw-r--r--Demo/rpc/rpc.py7
-rwxr-xr-xDemo/scripts/eqfix.py12
-rwxr-xr-xDemo/scripts/ftpstats.py4
-rwxr-xr-xDemo/scripts/mboxconvert.py6
-rwxr-xr-xDemo/scripts/newslist.py2
-rwxr-xr-xDemo/scripts/pp.py2
-rwxr-xr-xDemo/scripts/update.py6
-rwxr-xr-xDemo/sockets/gopher.py10
-rwxr-xr-xDemo/sockets/telnet.py2
-rw-r--r--Demo/threads/find.py4
-rw-r--r--Demo/threads/telnet.py2
-rwxr-xr-xDemo/tkinter/guido/AttrDialog.py14
-rwxr-xr-xDemo/tkinter/guido/ManPage.py2
-rwxr-xr-xDemo/tkinter/guido/mbox.py2
-rwxr-xr-xDemo/tkinter/guido/tkman.py2
-rwxr-xr-xDemo/tkinter/guido/wish.py2
-rw-r--r--Doc/howto/urllib2.rst10
-rw-r--r--Doc/lib/email-unpack.py2
-rw-r--r--Doc/lib/libcsv.tex2
-rw-r--r--Doc/lib/libgetopt.tex2
-rw-r--r--Doc/lib/libshutil.tex2
-rw-r--r--Doc/lib/libsocket.tex8
-rw-r--r--Doc/lib/libsubprocess.tex2
-rw-r--r--Doc/lib/libxdrlib.tex2
-rw-r--r--Doc/lib/libxmlrpclib.tex2
-rw-r--r--Doc/lib/sqlite3/complete_statement.py2
-rwxr-xr-xDoc/tools/findcsyms2
-rwxr-xr-xDoc/tools/listmodules2
-rwxr-xr-xDoc/tools/mkhowto2
-rwxr-xr-xDoc/tools/mksourcepkg2
-rw-r--r--Doc/tools/prechm.py4
-rwxr-xr-xDoc/tools/sgmlconv/docfixer.py3
-rwxr-xr-xDoc/tools/sgmlconv/esis2sgml.py3
-rw-r--r--Doc/tools/sgmlconv/esistools.py2
-rwxr-xr-xDoc/tools/sgmlconv/latex2esis.py3
-rw-r--r--Doc/tut/tut.tex11
-rw-r--r--Grammar/Grammar2
-rw-r--r--Lib/CGIHTTPServer.py2
-rw-r--r--Lib/ConfigParser.py2
-rw-r--r--Lib/SimpleXMLRPCServer.py4
-rw-r--r--Lib/_strptime.py2
-rw-r--r--Lib/asynchat.py4
-rw-r--r--Lib/asyncore.py10
-rwxr-xr-xLib/base64.py4
-rw-r--r--Lib/bsddb/dbtables.py20
-rw-r--r--Lib/bsddb/test/test_basics.py22
-rw-r--r--Lib/bsddb/test/test_compare.py2
-rw-r--r--Lib/bsddb/test/test_pickle.py4
-rw-r--r--Lib/bsddb/test/test_recno.py12
-rw-r--r--Lib/bsddb/test/test_thread.py10
-rwxr-xr-xLib/cgi.py2
-rw-r--r--Lib/codecs.py4
-rw-r--r--Lib/codeop.py10
-rw-r--r--Lib/compileall.py6
-rw-r--r--Lib/compiler/pycodegen.py2
-rw-r--r--Lib/contextlib.py2
-rw-r--r--Lib/csv.py2
-rw-r--r--Lib/ctypes/macholib/dyld.py2
-rw-r--r--Lib/ctypes/test/__init__.py4
-rw-r--r--Lib/ctypes/test/test_bitfields.py2
-rw-r--r--Lib/ctypes/test/test_structures.py6
-rw-r--r--Lib/ctypes/util.py4
-rw-r--r--Lib/dis.py2
-rw-r--r--Lib/distutils/bcppcompiler.py10
-rw-r--r--Lib/distutils/command/register.py4
-rw-r--r--Lib/distutils/command/sdist.py2
-rw-r--r--Lib/distutils/command/upload.py2
-rw-r--r--Lib/distutils/core.py8
-rw-r--r--Lib/distutils/cygwinccompiler.py6
-rw-r--r--Lib/distutils/dir_util.py7
-rw-r--r--Lib/distutils/dist.py6
-rw-r--r--Lib/distutils/emxccompiler.py6
-rw-r--r--Lib/distutils/fancy_getopt.py2
-rw-r--r--Lib/distutils/file_util.py23
-rw-r--r--Lib/distutils/msvccompiler.py12
-rw-r--r--Lib/distutils/spawn.py8
-rw-r--r--Lib/distutils/sysconfig.py4
-rw-r--r--Lib/distutils/unixccompiler.py8
-rw-r--r--Lib/distutils/util.py2
-rw-r--r--Lib/doctest.py16
-rw-r--r--Lib/encodings/uu_codec.py2
-rw-r--r--Lib/filecmp.py4
-rw-r--r--Lib/ftplib.py6
-rw-r--r--Lib/hotshot/stones.py2
-rw-r--r--Lib/htmllib.py2
-rw-r--r--Lib/httplib.py14
-rw-r--r--Lib/idlelib/ClassBrowser.py2
-rw-r--r--Lib/idlelib/EditorWindow.py2
-rw-r--r--Lib/idlelib/GrepDialog.py4
-rw-r--r--Lib/idlelib/IOBinding.py8
-rw-r--r--Lib/idlelib/PyShell.py8
-rw-r--r--Lib/idlelib/ScriptBinding.py6
-rw-r--r--Lib/idlelib/SearchEngine.py2
-rw-r--r--Lib/idlelib/run.py2
-rw-r--r--Lib/imaplib.py12
-rw-r--r--Lib/lib-tk/Tkinter.py4
-rw-r--r--Lib/linecache.py4
-rw-r--r--Lib/logging/config.py2
-rwxr-xr-xLib/mailbox.py28
-rw-r--r--Lib/mhlib.py10
-rw-r--r--Lib/mimetypes.py2
-rw-r--r--Lib/modulefinder.py6
-rw-r--r--Lib/msilib/__init__.py2
-rw-r--r--Lib/nntplib.py2
-rw-r--r--Lib/optparse.py2
-rw-r--r--Lib/os.py6
-rwxr-xr-xLib/pdb.py4
-rw-r--r--Lib/pickle.py4
-rw-r--r--Lib/pkgutil.py2
-rwxr-xr-xLib/plat-irix5/torgb.py2
-rw-r--r--Lib/plat-irix6/torgb.py2
-rw-r--r--Lib/plat-mac/EasyDialogs.py6
-rw-r--r--Lib/plat-mac/MiniAEFrame.py2
-rw-r--r--Lib/plat-mac/aetools.py4
-rw-r--r--Lib/plat-mac/applesingle.py4
-rw-r--r--Lib/plat-mac/argvemulator.py4
-rw-r--r--Lib/plat-mac/buildtools.py2
-rwxr-xr-xLib/plat-mac/bundlebuilder.py2
-rw-r--r--Lib/plat-mac/gensuitemodule.py6
-rw-r--r--Lib/plat-mac/macresource.py8
-rw-r--r--Lib/plat-mac/pimp.py10
-rw-r--r--Lib/plat-mac/terminalcommand.py2
-rwxr-xr-xLib/platform.py4
-rw-r--r--Lib/poplib.py8
-rw-r--r--Lib/pstats.py2
-rw-r--r--Lib/pty.py2
-rw-r--r--Lib/py_compile.py4
-rwxr-xr-xLib/pydoc.py8
-rwxr-xr-xLib/quopri.py4
-rw-r--r--Lib/re.py4
-rw-r--r--Lib/rexec.py6
-rw-r--r--Lib/sgmllib.py2
-rw-r--r--Lib/shutil.py10
-rw-r--r--Lib/site.py2
-rwxr-xr-xLib/smtpd.py8
-rwxr-xr-xLib/smtplib.py2
-rw-r--r--Lib/sqlite3/test/dbapi.py2
-rw-r--r--Lib/sqlite3/test/hooks.py8
-rw-r--r--Lib/sqlite3/test/userfunctions.py16
-rw-r--r--Lib/subprocess.py4
-rwxr-xr-xLib/tabnanny.py10
-rw-r--r--Lib/tarfile.py20
-rw-r--r--Lib/telnetlib.py2
-rw-r--r--Lib/tempfile.py6
-rw-r--r--Lib/test/pickletester.py2
-rwxr-xr-xLib/test/regrtest.py10
-rw-r--r--Lib/test/sortperf.py2
-rw-r--r--Lib/test/string_tests.py2
-rw-r--r--Lib/test/test_bool.py12
-rw-r--r--Lib/test/test_cfgparser.py2
-rw-r--r--Lib/test/test_cgi.py2
-rw-r--r--Lib/test/test_class.py4
-rw-r--r--Lib/test/test_codecs.py4
-rw-r--r--Lib/test/test_compiler.py2
-rw-r--r--Lib/test/test_contextlib.py2
-rw-r--r--Lib/test/test_cookielib.py2
-rwxr-xr-xLib/test/test_dbm.py3
-rw-r--r--Lib/test/test_decimal.py8
-rw-r--r--Lib/test/test_defaultdict.py2
-rw-r--r--Lib/test/test_descr.py10
-rw-r--r--Lib/test/test_dict.py8
-rwxr-xr-xLib/test/test_dl.py2
-rw-r--r--Lib/test/test_eof.py4
-rw-r--r--Lib/test/test_exceptions.py26
-rw-r--r--Lib/test/test_extcall.py40
-rw-r--r--Lib/test/test_file.py4
-rw-r--r--Lib/test/test_format.py2
-rw-r--r--Lib/test/test_frozen.py6
-rw-r--r--Lib/test/test_future.py14
-rw-r--r--Lib/test/test_generators.py2
-rw-r--r--Lib/test/test_grammar.py10
-rw-r--r--Lib/test/test_import.py4
-rw-r--r--Lib/test/test_linuxaudiodev.py14
-rw-r--r--Lib/test/test_nis.py2
-rw-r--r--Lib/test/test_opcodes.py6
-rw-r--r--Lib/test/test_optparse.py8
-rw-r--r--Lib/test/test_os.py2
-rw-r--r--Lib/test/test_ossaudiodev.py4
-rw-r--r--Lib/test/test_parser.py2
-rw-r--r--Lib/test/test_pep277.py2
-rw-r--r--Lib/test/test_pyexpat.py6
-rw-r--r--Lib/test/test_re.py2
-rw-r--r--Lib/test/test_runpy.py8
-rw-r--r--Lib/test/test_sax.py2
-rw-r--r--Lib/test/test_set.py2
-rw-r--r--Lib/test/test_socket.py2
-rw-r--r--Lib/test/test_socket_ssl.py2
-rw-r--r--Lib/test/test_socketserver.py3
-rwxr-xr-xLib/test/test_strftime.py4
-rw-r--r--Lib/test/test_string.py2
-rw-r--r--Lib/test/test_strptime.py2
-rw-r--r--Lib/test/test_subprocess.py4
-rw-r--r--Lib/test/test_sunaudiodev.py2
-rw-r--r--Lib/test/test_support.py3
-rw-r--r--Lib/test/test_syntax.py2
-rw-r--r--Lib/test/test_sys.py19
-rw-r--r--Lib/test/test_tarfile.py2
-rw-r--r--Lib/test/test_tcl.py2
-rw-r--r--Lib/test/test_trace.py24
-rw-r--r--Lib/test/test_traceback.py2
-rw-r--r--Lib/test/test_urllib2net.py2
-rw-r--r--Lib/test/test_userdict.py6
-rw-r--r--Lib/test/test_uu.py4
-rw-r--r--Lib/test/test_winreg.py2
-rw-r--r--Lib/timeit.py2
-rw-r--r--Lib/toaiff.py2
-rwxr-xr-xLib/token.py6
-rw-r--r--Lib/trace.py12
-rw-r--r--Lib/unittest.py2
-rw-r--r--Lib/urllib.py12
-rw-r--r--Lib/urllib2.py6
-rwxr-xr-xLib/uu.py2
-rw-r--r--Lib/warnings.py2
-rw-r--r--Lib/webbrowser.py2
-rw-r--r--Lib/xdrlib.py4
-rw-r--r--Lib/xml/sax/__init__.py2
-rw-r--r--Lib/xml/sax/expatreader.py2
-rw-r--r--Lib/xmllib.py4
-rw-r--r--Lib/xmlrpclib.py4
-rw-r--r--Lib/zipfile.py2
-rwxr-xr-xMac/BuildScript/build-installer.py2
-rw-r--r--Mac/Demo/applescript/makedisk.py2
-rw-r--r--Mac/Demo/imgbrowse/imgbrowse.py2
-rw-r--r--Mac/Demo/mlte/mlted.py2
-rw-r--r--Mac/Demo/resources/copyres.py2
-rw-r--r--Mac/Demo/textedit/ped.py2
-rw-r--r--Mac/scripts/BuildApplet.py2
-rw-r--r--Mac/scripts/buildpkg.py2
-rw-r--r--Misc/BeOS-setup.py2
-rw-r--r--Modules/parsermodule.c4
-rw-r--r--Python/compile.c59
-rw-r--r--Python/graminit.c2
-rwxr-xr-xTools/audiopy/audiopy5
-rw-r--r--Tools/bgen/bgen/scantools.py6
-rw-r--r--Tools/compiler/compile.py2
-rw-r--r--Tools/compiler/regrtest.py2
-rwxr-xr-xTools/faqwiz/faqw.py2
-rw-r--r--Tools/faqwiz/faqwiz.py10
-rw-r--r--Tools/freeze/checkextensions_win32.py2
-rwxr-xr-xTools/freeze/freeze.py8
-rwxr-xr-xTools/i18n/msgfmt.py6
-rwxr-xr-xTools/i18n/pygettext.py4
-rw-r--r--Tools/pybench/CommandLine.py4
-rwxr-xr-xTools/pybench/pybench.py8
-rw-r--r--Tools/pynche/Main.py2
-rwxr-xr-xTools/scripts/byext.py4
-rwxr-xr-xTools/scripts/byteyears.py2
-rwxr-xr-xTools/scripts/checkappend.py6
-rwxr-xr-xTools/scripts/classfix.py12
-rw-r--r--Tools/scripts/cleanfuture.py4
-rwxr-xr-xTools/scripts/cvsfiles.py2
-rwxr-xr-xTools/scripts/dutree.py2
-rwxr-xr-xTools/scripts/finddiv.py6
-rwxr-xr-xTools/scripts/findlinksto.py2
-rwxr-xr-xTools/scripts/findnocoding.py2
-rwxr-xr-xTools/scripts/fixcid.py16
-rwxr-xr-xTools/scripts/fixdiv.py6
-rwxr-xr-xTools/scripts/fixheader.py4
-rwxr-xr-xTools/scripts/fixnotice.py2
-rwxr-xr-xTools/scripts/fixps.py2
-rwxr-xr-xTools/scripts/ftpmirror.py20
-rwxr-xr-xTools/scripts/linktree.py6
-rwxr-xr-xTools/scripts/logmerge.py2
-rw-r--r--Tools/scripts/md5sum.py6
-rwxr-xr-xTools/scripts/methfix.py12
-rwxr-xr-xTools/scripts/ndiff.py4
-rwxr-xr-xTools/scripts/pathfix.py14
-rwxr-xr-xTools/scripts/pindent.py2
-rw-r--r--Tools/scripts/pysource.py6
-rw-r--r--Tools/scripts/redemo.py2
-rw-r--r--Tools/scripts/reindent.py4
-rwxr-xr-xTools/scripts/rgrep.py4
-rwxr-xr-xTools/scripts/texi2html.py10
-rwxr-xr-xTools/scripts/treesync.py2
-rwxr-xr-xTools/scripts/untabify.py4
-rw-r--r--Tools/unicode/comparecodecs.py4
-rw-r--r--Tools/unicode/gencodec.py6
-rw-r--r--Tools/unicode/listcodecs.py2
-rw-r--r--Tools/versioncheck/pyversioncheck.py2
-rwxr-xr-xTools/webchecker/wcgui.py2
-rwxr-xr-xTools/webchecker/webchecker.py10
-rwxr-xr-xTools/webchecker/websucker.py4
-rw-r--r--setup.py4
295 files changed, 817 insertions, 743 deletions
diff --git a/Demo/cgi/wiki.py b/Demo/cgi/wiki.py
index ee094a8ef8..2f944d6a97 100644
--- a/Demo/cgi/wiki.py
+++ b/Demo/cgi/wiki.py
@@ -119,5 +119,5 @@ class WikiPage:
f.write('\n')
f.close()
return ""
- except IOError, err:
+ except IOError as err:
return "IOError: %s" % str(err)
diff --git a/Demo/comparisons/regextest.py b/Demo/comparisons/regextest.py
index b27d741d7e..1fab052e9d 100755
--- a/Demo/comparisons/regextest.py
+++ b/Demo/comparisons/regextest.py
@@ -28,7 +28,7 @@ def main():
for file in sys.argv[1:]:
try:
fp = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print "%s: %s" % (file, msg)
continue
lineno = 0
diff --git a/Demo/comparisons/systemtest.py b/Demo/comparisons/systemtest.py
index bbc313ba14..d3fc72bccc 100755
--- a/Demo/comparisons/systemtest.py
+++ b/Demo/comparisons/systemtest.py
@@ -41,7 +41,7 @@ def main():
def reportboguslinks(prefix):
try:
names = os.listdir('.')
- except os.error, msg:
+ except os.error as msg:
print "%s%s: can't list: %s" % (prefix, '.', msg)
return
names.sort()
@@ -62,7 +62,7 @@ def reportboguslinks(prefix):
elif S_ISDIR(mode):
try:
os.chdir(name)
- except os.error, msg:
+ except os.error as msg:
print "%s%s: can't chdir: %s" % \
(prefix, name, msg)
continue
diff --git a/Demo/parser/test_parser.py b/Demo/parser/test_parser.py
index be39bca7f0..1589f3b8a5 100755
--- a/Demo/parser/test_parser.py
+++ b/Demo/parser/test_parser.py
@@ -17,7 +17,7 @@ def testChunk(t, fileName):
# against a large source file like Tkinter.py.
ast = None
new = parser.tuple2ast(tup)
- except parser.ParserError, err:
+ except parser.ParserError as err:
print
print 'parser module raised exception on input file', fileName + ':'
traceback.print_exc()
diff --git a/Demo/parser/unparse.py b/Demo/parser/unparse.py
index 32acbed9c9..1c6e9330d4 100644
--- a/Demo/parser/unparse.py
+++ b/Demo/parser/unparse.py
@@ -492,7 +492,7 @@ def testdir(a):
print 'Testing %s' % fullname
try:
roundtrip(fullname, output)
- except Exception, e:
+ except Exception as e:
print ' Failed to compile, exception is %s' % repr(e)
elif os.path.isdir(fullname):
testdir(fullname)
diff --git a/Demo/pdist/FSProxy.py b/Demo/pdist/FSProxy.py
index a1ab635c08..dad4015ccc 100755
--- a/Demo/pdist/FSProxy.py
+++ b/Demo/pdist/FSProxy.py
@@ -87,7 +87,7 @@ class FSProxyLocal:
fs = macfs.FSSpec(name)
c, t = fs.GetCreatorType()
if t != 'TEXT': return 0
- except macfs.error, msg:
+ except macfs.error as msg:
print "***", name, msg
return 0
else:
diff --git a/Demo/pdist/cmdfw.py b/Demo/pdist/cmdfw.py
index e2edd0a86e..47d13bc5da 100755
--- a/Demo/pdist/cmdfw.py
+++ b/Demo/pdist/cmdfw.py
@@ -42,7 +42,7 @@ class CommandFrameWork:
if args is None: args = sys.argv[1:]
try:
opts, args = getopt.getopt(args, self.GlobalFlags)
- except getopt.error, msg:
+ except getopt.error as msg:
return self.usage(msg)
self.options(opts)
if not args:
@@ -62,7 +62,7 @@ class CommandFrameWork:
flags = ''
try:
opts, args = getopt.getopt(args[1:], flags)
- except getopt.error, msg:
+ except getopt.error as msg:
return self.usage(
"subcommand %s: " % cmd + str(msg))
self.ready()
diff --git a/Demo/pdist/cmptree.py b/Demo/pdist/cmptree.py
index fa06f5f467..5031869123 100755
--- a/Demo/pdist/cmptree.py
+++ b/Demo/pdist/cmptree.py
@@ -135,7 +135,7 @@ def compare(local, remote, mode):
def sendfile(local, remote, name):
try:
remote.create(name)
- except (IOError, os.error), msg:
+ except (IOError, os.error) as msg:
print "cannot create:", msg
return
@@ -171,7 +171,7 @@ def recvfile(local, remote, name):
def recvfile_real(local, remote, name):
try:
local.create(name)
- except (IOError, os.error), msg:
+ except (IOError, os.error) as msg:
print "cannot create:", msg
return
diff --git a/Demo/pdist/cvslock.py b/Demo/pdist/cvslock.py
index 8f6d008cbf..6484e716a2 100755
--- a/Demo/pdist/cvslock.py
+++ b/Demo/pdist/cvslock.py
@@ -129,7 +129,7 @@ class Lock:
self.lockdir = self.cvslck
os.mkdir(self.cvslck, 0777)
return
- except os.error, msg:
+ except os.error as msg:
self.lockdir = None
if msg[0] == EEXIST:
try:
@@ -234,7 +234,7 @@ def MultipleWriteLock(repositories, delay = DELAY):
for r in repositories:
try:
locks.append(WriteLock(r, 0))
- except Locked, instance:
+ except Locked as instance:
del locks
break
else:
diff --git a/Demo/pdist/rrcs.py b/Demo/pdist/rrcs.py
index 4d23e6c1ee..540d296089 100755
--- a/Demo/pdist/rrcs.py
+++ b/Demo/pdist/rrcs.py
@@ -22,7 +22,7 @@ def main():
raise getopt.error, "unknown command"
coptset, func = commands[cmd]
copts, files = getopt.getopt(rest, coptset)
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print "usage: rrcs [options] command [options] [file] ..."
print "where command can be:"
@@ -41,7 +41,7 @@ def main():
for fn in files:
try:
func(x, copts, fn)
- except (IOError, os.error), msg:
+ except (IOError, os.error) as msg:
print "%s: %s" % (fn, msg)
def checkin(x, copts, fn):
diff --git a/Demo/pysvr/pysvr.py b/Demo/pysvr/pysvr.py
index 3b692b3d2f..b1b7565ba3 100755
--- a/Demo/pysvr/pysvr.py
+++ b/Demo/pysvr/pysvr.py
@@ -21,14 +21,14 @@ def main():
opts, args = getopt.getopt(sys.argv[1:], "")
if len(args) > 1:
raise getopt.error, "Too many arguments."
- except getopt.error, msg:
+ except getopt.error as msg:
usage(msg)
for o, a in opts:
pass
if args:
try:
port = string.atoi(args[0])
- except ValueError, msg:
+ except ValueError as msg:
usage(msg)
else:
port = PORT
@@ -83,7 +83,7 @@ def run_interpreter(stdin, stdout):
source = source + line
try:
code = compile_command(source)
- except SyntaxError, err:
+ except SyntaxError as err:
source = ""
traceback.print_exception(SyntaxError, err, None, file=stdout)
continue
@@ -92,7 +92,7 @@ def run_interpreter(stdin, stdout):
source = ""
try:
run_command(code, stdin, stdout, globals)
- except SystemExit, how:
+ except SystemExit as how:
if how:
try:
how = str(how)
@@ -109,7 +109,7 @@ def run_command(code, stdin, stdout, globals):
sys.stdin = stdin
try:
exec(code, globals)
- except SystemExit, how:
+ except SystemExit as how:
raise SystemExit, how, sys.exc_info()[2]
except:
type, value, tb = sys.exc_info()
diff --git a/Demo/rpc/nfsclient.py b/Demo/rpc/nfsclient.py
index 8e5a199c6d..3890aff953 100644
--- a/Demo/rpc/nfsclient.py
+++ b/Demo/rpc/nfsclient.py
@@ -194,8 +194,7 @@ def test():
fh = sf[1]
if fh:
ncl = NFSClient(host)
- as = ncl.Getattr(fh)
- print as
+ print ncl.Getattr(fh)
list = ncl.Listdir(fh)
for item in list: print item
mcl.Umnt(filesys)
diff --git a/Demo/rpc/rpc.py b/Demo/rpc/rpc.py
index 141fe09a5c..f7231c1b54 100644
--- a/Demo/rpc/rpc.py
+++ b/Demo/rpc/rpc.py
@@ -330,7 +330,8 @@ def bindresvport(sock, host):
try:
sock.bind((host, i))
return last_resv_port_tried
- except socket.error, (errno, msg):
+ except socket.error as e:
+ (errno, msg) = e
if errno != 114:
raise socket.error, (errno, msg)
raise RuntimeError, 'can\'t assign reserved port'
@@ -765,7 +766,7 @@ class TCPServer(Server):
call = recvrecord(sock)
except EOFError:
break
- except socket.error, msg:
+ except socket.error as msg:
print 'socket error:', msg
break
reply = self.handle(call)
@@ -866,7 +867,7 @@ def testsvr():
s = S('', 0x20000000, 1, 0)
try:
s.unregister()
- except RuntimeError, msg:
+ except RuntimeError as msg:
print 'RuntimeError:', msg, '(ignored)'
s.register()
print 'Service started...'
diff --git a/Demo/scripts/eqfix.py b/Demo/scripts/eqfix.py
index 35c43aa04d..497ab205bb 100755
--- a/Demo/scripts/eqfix.py
+++ b/Demo/scripts/eqfix.py
@@ -62,7 +62,7 @@ def recursedown(dirname):
bad = 0
try:
names = os.listdir(dirname)
- except os.error, msg:
+ except os.error as msg:
err('%s: cannot list directory: %r\n' % (dirname, msg))
return 1
names.sort()
@@ -83,7 +83,7 @@ def fix(filename):
## dbg('fix(%r)\n' % (dirname,))
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
err('%s: cannot open: %r\n' % (filename, msg))
return 1
head, tail = os.path.split(filename)
@@ -120,7 +120,7 @@ def fix(filename):
if g is None:
try:
g = open(tempname, 'w')
- except IOError, msg:
+ except IOError as msg:
f.close()
err('%s: cannot create: %r\n' % (tempname, msg))
return 1
@@ -144,17 +144,17 @@ def fix(filename):
try:
statbuf = os.stat(filename)
os.chmod(tempname, statbuf[ST_MODE] & 07777)
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: chmod failed (%r)\n' % (tempname, msg))
# Then make a backup of the original file as filename~
try:
os.rename(filename, filename + '~')
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: backup failed (%r)\n' % (filename, msg))
# Now move the temp file to the original file
try:
os.rename(tempname, filename)
- except os.error, msg:
+ except os.error as msg:
err('%s: rename failed (%r)\n' % (filename, msg))
return 1
# Return succes
diff --git a/Demo/scripts/ftpstats.py b/Demo/scripts/ftpstats.py
index 5c1599e663..c7c074909c 100755
--- a/Demo/scripts/ftpstats.py
+++ b/Demo/scripts/ftpstats.py
@@ -25,7 +25,7 @@ def main():
search = None
try:
opts, args = getopt.getopt(sys.argv[1:], 'm:s:')
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print 'usage: ftpstats [-m maxitems] [file]'
sys.exit(2)
@@ -41,7 +41,7 @@ def main():
else:
try:
f = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print file, ':', msg
sys.exit(1)
bydate = {}
diff --git a/Demo/scripts/mboxconvert.py b/Demo/scripts/mboxconvert.py
index 8c462f3b12..8da37bff74 100755
--- a/Demo/scripts/mboxconvert.py
+++ b/Demo/scripts/mboxconvert.py
@@ -16,7 +16,7 @@ def main():
dofile = mmdf
try:
opts, args = getopt.getopt(sys.argv[1:], 'f')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stderr.write('%s\n' % msg)
sys.exit(2)
for o, a in opts:
@@ -33,7 +33,7 @@ def main():
elif os.path.isfile(arg):
try:
f = open(arg)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write('%s: %s\n' % (arg, msg))
sts = 1
continue
@@ -56,7 +56,7 @@ def mh(dir):
fn = os.path.join(dir, msg)
try:
f = open(fn)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write('%s: %s\n' % (fn, msg))
sts = 1
continue
diff --git a/Demo/scripts/newslist.py b/Demo/scripts/newslist.py
index a631214980..0111acec27 100755
--- a/Demo/scripts/newslist.py
+++ b/Demo/scripts/newslist.py
@@ -330,7 +330,7 @@ def main():
else:
s = NNTP(newshost)
connected = 1
- except (nntplib.error_temp, nntplib.error_perm), x:
+ except (nntplib.error_temp, nntplib.error_perm) as x:
print 'Error connecting to host:', x
print 'I\'ll try to use just the local list.'
connected = 0
diff --git a/Demo/scripts/pp.py b/Demo/scripts/pp.py
index 0491fa9bf8..2530ea34a8 100755
--- a/Demo/scripts/pp.py
+++ b/Demo/scripts/pp.py
@@ -35,7 +35,7 @@ PFLAG = 0
try:
optlist, ARGS = getopt.getopt(sys.argv[1:], 'acde:F:np')
-except getopt.error, msg:
+except getopt.error as msg:
sys.stderr.write(sys.argv[0] + ': ' + msg + '\n')
sys.exit(2)
diff --git a/Demo/scripts/update.py b/Demo/scripts/update.py
index eac1a2280e..a965e4a833 100755
--- a/Demo/scripts/update.py
+++ b/Demo/scripts/update.py
@@ -19,7 +19,7 @@ class FileObj:
self.changed = 0
try:
self.lines = open(filename, 'r').readlines()
- except IOError, msg:
+ except IOError as msg:
print '*** Can\'t open "%s":' % filename, msg
self.lines = None
return
@@ -32,7 +32,7 @@ class FileObj:
try:
os.rename(self.filename, self.filename + '~')
fp = open(self.filename, 'w')
- except (os.error, IOError), msg:
+ except (os.error, IOError) as msg:
print '*** Can\'t rewrite "%s":' % self.filename, msg
return
print 'writing', self.filename
@@ -67,7 +67,7 @@ def main():
if sys.argv[1:]:
try:
fp = open(sys.argv[1], 'r')
- except IOError, msg:
+ except IOError as msg:
print 'Can\'t open "%s":' % sys.argv[1], msg
sys.exit(1)
else:
diff --git a/Demo/sockets/gopher.py b/Demo/sockets/gopher.py
index 2c46da621b..0635ac17c3 100755
--- a/Demo/sockets/gopher.py
+++ b/Demo/sockets/gopher.py
@@ -142,7 +142,7 @@ def browser(*args):
raise RuntimeError, 'too many args'
try:
browse_menu(selector, host, port)
- except socket.error, msg:
+ except socket.error as msg:
print 'Socket error:', msg
sys.exit(1)
except KeyboardInterrupt:
@@ -202,7 +202,7 @@ def browse_textfile(selector, host, port):
p = os.popen('${PAGER-more}', 'w')
x = SaveLines(p)
get_alt_textfile(selector, host, port, x.writeln)
- except IOError, msg:
+ except IOError as msg:
print 'IOError:', msg
if x:
x.close()
@@ -213,7 +213,7 @@ def browse_textfile(selector, host, port):
try:
get_alt_textfile(selector, host, port, x.writeln)
print 'Done.'
- except IOError, msg:
+ except IOError as msg:
print 'IOError:', msg
x.close()
@@ -311,7 +311,7 @@ def open_savefile():
cmd = savefile[1:].strip()
try:
p = os.popen(cmd, 'w')
- except IOError, msg:
+ except IOError as msg:
print repr(cmd), ':', msg
return None
print 'Piping through', repr(cmd), '...'
@@ -320,7 +320,7 @@ def open_savefile():
savefile = os.path.expanduser(savefile)
try:
f = open(savefile, 'w')
- except IOError, msg:
+ except IOError as msg:
print repr(savefile), ':', msg
return None
print 'Saving to', repr(savefile), '...'
diff --git a/Demo/sockets/telnet.py b/Demo/sockets/telnet.py
index d50c37f2cf..6bc9bcce86 100755
--- a/Demo/sockets/telnet.py
+++ b/Demo/sockets/telnet.py
@@ -52,7 +52,7 @@ def main():
#
try:
s.connect((host, port))
- except error, msg:
+ except error as msg:
sys.stderr.write('connect failed: ' + repr(msg) + '\n')
sys.exit(1)
#
diff --git a/Demo/threads/find.py b/Demo/threads/find.py
index 14148b8bb9..68ca155fe3 100644
--- a/Demo/threads/find.py
+++ b/Demo/threads/find.py
@@ -131,7 +131,7 @@ def selector(dir, name, fullname, stat):
def find(dir, pred, wq):
try:
names = os.listdir(dir)
- except os.error, msg:
+ except os.error as msg:
print repr(dir), ':', msg
return
for name in names:
@@ -139,7 +139,7 @@ def find(dir, pred, wq):
fullname = os.path.join(dir, name)
try:
stat = os.lstat(fullname)
- except os.error, msg:
+ except os.error as msg:
print repr(fullname), ':', msg
continue
if pred(dir, name, fullname, stat):
diff --git a/Demo/threads/telnet.py b/Demo/threads/telnet.py
index 707a35386f..09f3bd9b18 100644
--- a/Demo/threads/telnet.py
+++ b/Demo/threads/telnet.py
@@ -56,7 +56,7 @@ def main():
#
try:
s.connect((host, port))
- except error, msg:
+ except error as msg:
sys.stderr.write('connect failed: %r\n' % (msg,))
sys.exit(1)
#
diff --git a/Demo/tkinter/guido/AttrDialog.py b/Demo/tkinter/guido/AttrDialog.py
index 9fa699e287..d8b257168c 100755
--- a/Demo/tkinter/guido/AttrDialog.py
+++ b/Demo/tkinter/guido/AttrDialog.py
@@ -156,7 +156,7 @@ class PackDialog(Dialog):
self.current = self.var.get()
try:
self.dialog.widget.pack(**{self.option: self.current})
- except TclError, msg:
+ except TclError as msg:
print msg
self.refresh()
@@ -212,7 +212,7 @@ class RemotePackDialog(PackDialog):
'pack',
'info',
self.widget))
- except TclError, msg:
+ except TclError as msg:
print msg
return
dict = {}
@@ -239,7 +239,7 @@ class RemotePackDialog(PackDialog):
'-'+self.option,
self.dialog.master.tk.merge(
self.current))
- except TclError, msg:
+ except TclError as msg:
print msg
self.refresh()
@@ -285,7 +285,7 @@ class WidgetDialog(Dialog):
self.current = self.var.get()
try:
self.dialog.widget[self.option] = self.current
- except TclError, msg:
+ except TclError as msg:
print msg
self.refresh()
@@ -374,7 +374,7 @@ class RemoteWidgetDialog(WidgetDialog):
self.master.send(self.app,
self.widget,
'config'))
- except TclError, msg:
+ except TclError as msg:
print msg
return
dict = {}
@@ -398,7 +398,7 @@ class RemoteWidgetDialog(WidgetDialog):
'config',
'-'+self.option,
self.current)
- except TclError, msg:
+ except TclError as msg:
print msg
self.refresh()
@@ -445,7 +445,7 @@ def opendialogs(e):
if widget == '.': continue
try:
RemotePackDialog(list, list.app, widget)
- except TclError, msg:
+ except TclError as msg:
print msg
test()
diff --git a/Demo/tkinter/guido/ManPage.py b/Demo/tkinter/guido/ManPage.py
index 221af887cd..b189b6428c 100755
--- a/Demo/tkinter/guido/ManPage.py
+++ b/Demo/tkinter/guido/ManPage.py
@@ -95,7 +95,7 @@ class EditableManPage(ScrolledText):
self._parseline('')
try:
self.tk.deletefilehandler(self.fp)
- except TclError, msg:
+ except TclError as msg:
pass
self.fp.close()
self.fp = None
diff --git a/Demo/tkinter/guido/mbox.py b/Demo/tkinter/guido/mbox.py
index 3c36d88991..47c38b960a 100755
--- a/Demo/tkinter/guido/mbox.py
+++ b/Demo/tkinter/guido/mbox.py
@@ -27,7 +27,7 @@ def main():
seq = 'all'
try:
opts, args = getopt.getopt(sys.argv[1:], '')
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
sys.exit(2)
for arg in args:
diff --git a/Demo/tkinter/guido/tkman.py b/Demo/tkinter/guido/tkman.py
index 6b0b64118f..810bdf8c3b 100755
--- a/Demo/tkinter/guido/tkman.py
+++ b/Demo/tkinter/guido/tkman.py
@@ -216,7 +216,7 @@ class SelectionBox:
prog = re.compile(search, map)
else:
prog = re.compile(search)
- except re.error, msg:
+ except re.error as msg:
self.frame.bell()
print 'Regex error:', msg
return
diff --git a/Demo/tkinter/guido/wish.py b/Demo/tkinter/guido/wish.py
index 35e012c7df..2367e25157 100755
--- a/Demo/tkinter/guido/wish.py
+++ b/Demo/tkinter/guido/wish.py
@@ -23,7 +23,7 @@ while 1:
tk.record(line)
try:
result = tk.call('eval', cmd)
- except _tkinter.TclError, msg:
+ except _tkinter.TclError as msg:
print 'TclError:', msg
else:
if result: print result
diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst
index 69ce5082e4..858c9b1074 100644
--- a/Doc/howto/urllib2.rst
+++ b/Doc/howto/urllib2.rst
@@ -214,7 +214,7 @@ e.g. ::
>>> req = urllib2.Request('http://www.pretend_server.org')
>>> try: urllib2.urlopen(req)
- >>> except URLError, e:
+ >>> except URLError as e:
>>> print e.reason
>>>
(4, 'getaddrinfo failed')
@@ -326,7 +326,7 @@ attribute, it also has read, geturl, and info, methods. ::
>>> req = urllib2.Request('http://www.python.org/fish.html')
>>> try:
>>> urllib2.urlopen(req)
- >>> except URLError, e:
+ >>> except URLError as e:
>>> print e.code
>>> print e.read()
>>>
@@ -354,10 +354,10 @@ Number 1
req = Request(someurl)
try:
response = urlopen(req)
- except HTTPError, e:
+ except HTTPError as e:
print 'The server couldn\'t fulfill the request.'
print 'Error code: ', e.code
- except URLError, e:
+ except URLError as e:
print 'We failed to reach a server.'
print 'Reason: ', e.reason
else:
@@ -378,7 +378,7 @@ Number 2
req = Request(someurl)
try:
response = urlopen(req)
- except URLError, e:
+ except URLError as e:
if hasattr(e, 'reason'):
print 'We failed to reach a server.'
print 'Reason: ', e.reason
diff --git a/Doc/lib/email-unpack.py b/Doc/lib/email-unpack.py
index fb03e58e9e..e596b98176 100644
--- a/Doc/lib/email-unpack.py
+++ b/Doc/lib/email-unpack.py
@@ -35,7 +35,7 @@ Usage: %prog [options] msgfile
try:
os.mkdir(opts.directory)
- except OSError, e:
+ except OSError as e:
# Ignore directory exists error
if e.errno != errno.EEXIST:
raise
diff --git a/Doc/lib/libcsv.tex b/Doc/lib/libcsv.tex
index e965e316f3..b87bc9d258 100644
--- a/Doc/lib/libcsv.tex
+++ b/Doc/lib/libcsv.tex
@@ -426,7 +426,7 @@ reader = csv.reader(open(filename, "rb"))
try:
for row in reader:
print row
-except csv.Error, e:
+except csv.Error as e:
sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))
\end{verbatim}
diff --git a/Doc/lib/libgetopt.tex b/Doc/lib/libgetopt.tex
index b38fcd8dff..7930acd078 100644
--- a/Doc/lib/libgetopt.tex
+++ b/Doc/lib/libgetopt.tex
@@ -126,7 +126,7 @@ import getopt, sys
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "ho:v", ["help", "output="])
- except getopt.GetoptError, err:
+ except getopt.GetoptError as err:
# print help information and exit:
print str(err) # will print something like "option -a not recognized"
usage()
diff --git a/Doc/lib/libshutil.tex b/Doc/lib/libshutil.tex
index 449d7414f3..3037e0b9d9 100644
--- a/Doc/lib/libshutil.tex
+++ b/Doc/lib/libshutil.tex
@@ -144,6 +144,6 @@ def copytree(src, dst, symlinks=0):
copytree(srcname, dstname, symlinks)
else:
copy2(srcname, dstname)
- except (IOError, os.error), why:
+ except (IOError, os.error) as why:
print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))
\end{verbatim}
diff --git a/Doc/lib/libsocket.tex b/Doc/lib/libsocket.tex
index f20c56c5a3..69877d3424 100644
--- a/Doc/lib/libsocket.tex
+++ b/Doc/lib/libsocket.tex
@@ -813,13 +813,13 @@ for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM,
af, socktype, proto, canonname, sa = res
try:
s = socket.socket(af, socktype, proto)
- except socket.error, msg:
+ except socket.error as msg:
s = None
continue
try:
s.bind(sa)
s.listen(1)
- except socket.error, msg:
+ except socket.error as msg:
s.close()
s = None
continue
@@ -848,12 +848,12 @@ for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM):
af, socktype, proto, canonname, sa = res
try:
s = socket.socket(af, socktype, proto)
- except socket.error, msg:
+ except socket.error as msg:
s = None
continue
try:
s.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
s.close()
s = None
continue
diff --git a/Doc/lib/libsubprocess.tex b/Doc/lib/libsubprocess.tex
index f6397105ac..cb30974825 100644
--- a/Doc/lib/libsubprocess.tex
+++ b/Doc/lib/libsubprocess.tex
@@ -284,7 +284,7 @@ try:
print >>sys.stderr, "Child was terminated by signal", -retcode
else:
print >>sys.stderr, "Child returned", retcode
-except OSError, e:
+except OSError as e:
print >>sys.stderr, "Execution failed:", e
\end{verbatim}
diff --git a/Doc/lib/libxdrlib.tex b/Doc/lib/libxdrlib.tex
index d0863d9327..56474b7333 100644
--- a/Doc/lib/libxdrlib.tex
+++ b/Doc/lib/libxdrlib.tex
@@ -246,6 +246,6 @@ import xdrlib
p = xdrlib.Packer()
try:
p.pack_double(8.01)
-except xdrlib.ConversionError, instance:
+except xdrlib.ConversionError as instance:
print 'packing the double failed:', instance.msg
\end{verbatim}
diff --git a/Doc/lib/libxmlrpclib.tex b/Doc/lib/libxmlrpclib.tex
index c870d262c6..7af9e760b9 100644
--- a/Doc/lib/libxmlrpclib.tex
+++ b/Doc/lib/libxmlrpclib.tex
@@ -358,7 +358,7 @@ print server
try:
print server.examples.getStateName(41)
-except Error, v:
+except Error as v:
print "ERROR", v
\end{verbatim}
diff --git a/Doc/lib/sqlite3/complete_statement.py b/Doc/lib/sqlite3/complete_statement.py
index 22525e310d..76ea7f6a66 100644
--- a/Doc/lib/sqlite3/complete_statement.py
+++ b/Doc/lib/sqlite3/complete_statement.py
@@ -23,7 +23,7 @@ while True:
if buffer.lstrip().upper().startswith("SELECT"):
print cur.fetchall()
- except sqlite3.Error, e:
+ except sqlite3.Error as e:
print "An error occurred:", e.args[0]
buffer = ""
diff --git a/Doc/tools/findcsyms b/Doc/tools/findcsyms
index ac9b754259..d68c3ce3c7 100755
--- a/Doc/tools/findcsyms
+++ b/Doc/tools/findcsyms
@@ -127,7 +127,7 @@ def main():
print_list(undocumented, "Undocumented symbols")
else:
print_list(L)
- except IOError, e:
+ except IOError as e:
if e.errno != errno.EPIPE:
raise
diff --git a/Doc/tools/listmodules b/Doc/tools/listmodules
index 03e7b5dc08..846997265b 100755
--- a/Doc/tools/listmodules
+++ b/Doc/tools/listmodules
@@ -53,7 +53,7 @@ def main():
opts, args = getopt.getopt(
args, "abchi:",
["annotate", "built-in", "categorize", "help", "ignore-from="])
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stdout = sys.stderr
print msg
print
diff --git a/Doc/tools/mkhowto b/Doc/tools/mkhowto
index 21cd6fb276..02a215d04b 100755
--- a/Doc/tools/mkhowto
+++ b/Doc/tools/mkhowto
@@ -599,7 +599,7 @@ def main():
options = Options()
try:
args = options.parse(sys.argv[1:])
- except getopt.error, msg:
+ except getopt.error as msg:
error(options, msg)
if not args:
# attempt to locate single .tex file in current directory:
diff --git a/Doc/tools/mksourcepkg b/Doc/tools/mksourcepkg
index 4b21f7747f..7d5bd73a7f 100755
--- a/Doc/tools/mksourcepkg
+++ b/Doc/tools/mksourcepkg
@@ -45,7 +45,7 @@ def main():
opts, args = getopt.getopt(sys.argv[1:], "Aabgtzq",
["all", "bzip2", "gzip", "tools", "zip",
"quiet", "anonymous"])
- except getopt.error, e:
+ except getopt.error as e:
usage(warning=str(e))
sys.exit(2)
if len(args) not in (1, 2):
diff --git a/Doc/tools/prechm.py b/Doc/tools/prechm.py
index 57a43fd6fe..db1f965532 100644
--- a/Doc/tools/prechm.py
+++ b/Doc/tools/prechm.py
@@ -448,7 +448,7 @@ def do_project(library, output, arch, version):
def openfile(file):
try:
p = open(file, "w")
- except IOError, msg:
+ except IOError as msg:
print file, ":", msg
sys.exit(1)
return p
@@ -466,7 +466,7 @@ def do_it(args = None):
try:
optlist, args = getopt.getopt(args, 'ckpv:')
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
usage()
diff --git a/Doc/tools/sgmlconv/docfixer.py b/Doc/tools/sgmlconv/docfixer.py
index 81519ee58c..961e3b8f68 100755
--- a/Doc/tools/sgmlconv/docfixer.py
+++ b/Doc/tools/sgmlconv/docfixer.py
@@ -1039,7 +1039,8 @@ def convert(ifp, ofp):
#
try:
write_esis(fragment, ofp, knownempty)
- except IOError, (err, msg):
+ except IOError as e:
+ (err, msg) = e
# Ignore EPIPE; it just means that whoever we're writing to stopped
# reading. The rest of the output would be ignored. All other errors
# should still be reported,
diff --git a/Doc/tools/sgmlconv/esis2sgml.py b/Doc/tools/sgmlconv/esis2sgml.py
index b6f9a44753..81294d1d08 100755
--- a/Doc/tools/sgmlconv/esis2sgml.py
+++ b/Doc/tools/sgmlconv/esis2sgml.py
@@ -255,7 +255,8 @@ def main():
if xml and xmldecl:
opf.write('<?xml version="1.0" encoding="iso8859-1"?>\n')
convert(ifp, ofp, xml=xml, autoclose=autoclose, verbatims=verbatims)
- except IOError, (err, msg):
+ except IOError as e:
+ (err, msg) = e
if err != errno.EPIPE:
raise
diff --git a/Doc/tools/sgmlconv/esistools.py b/Doc/tools/sgmlconv/esistools.py
index 833fea171c..6dc5eaa8a1 100644
--- a/Doc/tools/sgmlconv/esistools.py
+++ b/Doc/tools/sgmlconv/esistools.py
@@ -139,7 +139,7 @@ class ESISReader(xml.sax.xmlreader.XMLReader):
def _get_token(self, fp):
try:
line = fp.readline()
- except IOError, e:
+ except IOError as e:
e = SAXException("I/O error reading input stream", e)
self.getErrorHandler().fatalError(e)
return
diff --git a/Doc/tools/sgmlconv/latex2esis.py b/Doc/tools/sgmlconv/latex2esis.py
index 643ef2ca30..cbc9828228 100755
--- a/Doc/tools/sgmlconv/latex2esis.py
+++ b/Doc/tools/sgmlconv/latex2esis.py
@@ -397,7 +397,8 @@ def convert(ifp, ofp, table):
c = Conversion(ifp, ofp, table)
try:
c.convert()
- except IOError, (err, msg):
+ except IOError as e:
+ (err, msg) = e
if err != errno.EPIPE:
raise
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 4b6b93fb2f..3ecc57f556 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -3480,8 +3480,9 @@ try:
f = open('myfile.txt')
s = f.readline()
i = int(s.strip())
-except IOError, (errno, strerror):
- print "I/O error(%s): %s" % (errno, strerror)
+except IOError as e:
+ (errno, strerror) = e
+ print "I/O error(%s): %s" % (e.errno, e.strerror)
except ValueError:
print "Could not convert data to an integer."
except:
@@ -3530,7 +3531,7 @@ as desired.
\begin{verbatim}
>>> try:
... raise Exception('spam', 'eggs')
-... except Exception, inst:
+... except Exception as inst:
... print type(inst) # the exception instance
... print inst.args # arguments stored in .args
... print inst # __str__ allows args to printed directly
@@ -3559,7 +3560,7 @@ For example:
...
>>> try:
... this_fails()
-... except ZeroDivisionError, detail:
+... except ZeroDivisionError as detail:
... print 'Handling run-time error:', detail
...
Handling run-time error: integer division or modulo by zero
@@ -3619,7 +3620,7 @@ example:
...
>>> try:
... raise MyError(2*2)
-... except MyError, e:
+... except MyError as e:
... print 'My exception occurred, value:', e.value
...
My exception occurred, value: 4
diff --git a/Grammar/Grammar b/Grammar/Grammar
index 04ed68fe67..701a1ff05a 100644
--- a/Grammar/Grammar
+++ b/Grammar/Grammar
@@ -79,7 +79,7 @@ try_stmt: ('try' ':' suite
with_stmt: 'with' test [ with_var ] ':' suite
with_var: 'as' expr
# NB compile.c makes sure that the default except clause is last
-except_clause: 'except' [test [',' test]]
+except_clause: 'except' [test ['as' test]]
suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT
# Backward compatibility cruft to support:
diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index c119c9a693..ce942efa4a 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -320,7 +320,7 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
sys.stdout = save_stdout
sys.stderr = save_stderr
os.chdir(save_cwd)
- except SystemExit, sts:
+ except SystemExit as sts:
self.log_error("CGI script exit status %s", str(sts))
else:
self.log_message("CGI script exited OK")
diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py
index 65c8ce557d..bdc88cf25c 100644
--- a/Lib/ConfigParser.py
+++ b/Lib/ConfigParser.py
@@ -567,7 +567,7 @@ class ConfigParser(RawConfigParser):
value = self._KEYCRE.sub(self._interpolation_replace, value)
try:
value = value % vars
- except KeyError, e:
+ except KeyError as e:
raise InterpolationMissingOptionError(
option, section, rawval, e[0])
else:
diff --git a/Lib/SimpleXMLRPCServer.py b/Lib/SimpleXMLRPCServer.py
index c6f6958d5e..0a62b47fe5 100644
--- a/Lib/SimpleXMLRPCServer.py
+++ b/Lib/SimpleXMLRPCServer.py
@@ -259,7 +259,7 @@ class SimpleXMLRPCDispatcher:
response = (response,)
response = xmlrpclib.dumps(response, methodresponse=1,
allow_none=self.allow_none, encoding=self.encoding)
- except Fault, fault:
+ except Fault as fault:
response = xmlrpclib.dumps(fault, allow_none=self.allow_none,
encoding=self.encoding)
except:
@@ -359,7 +359,7 @@ class SimpleXMLRPCDispatcher:
# XXX A marshalling error in any response will fail the entire
# multicall. If someone cares they should fix this.
results.append([self._dispatch(method_name, params)])
- except Fault, fault:
+ except Fault as fault:
results.append(
{'faultCode' : fault.faultCode,
'faultString' : fault.faultString}
diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index 3fb56020e2..2d9be368f6 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -291,7 +291,7 @@ def strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
format_regex = time_re.compile(format)
# KeyError raised when a bad format is found; can be specified as
# \\, in which case it was a stray % but with a space after it
- except KeyError, err:
+ except KeyError as err:
bad_directive = err.args[0]
if bad_directive == "\\":
bad_directive = "%"
diff --git a/Lib/asynchat.py b/Lib/asynchat.py
index 6f99ba1063..1ad3161ffe 100644
--- a/Lib/asynchat.py
+++ b/Lib/asynchat.py
@@ -87,7 +87,7 @@ class async_chat (asyncore.dispatcher):
try:
data = self.recv (self.ac_in_buffer_size)
- except socket.error, why:
+ except socket.error as why:
self.handle_error()
return
@@ -220,7 +220,7 @@ class async_chat (asyncore.dispatcher):
if num_sent:
self.ac_out_buffer = self.ac_out_buffer[num_sent:]
- except socket.error, why:
+ except socket.error as why:
self.handle_error()
return
diff --git a/Lib/asyncore.py b/Lib/asyncore.py
index 7b2f301340..9eb6d7f2e2 100644
--- a/Lib/asyncore.py
+++ b/Lib/asyncore.py
@@ -119,7 +119,7 @@ def poll(timeout=0.0, map=None):
else:
try:
r, w, e = select.select(r, w, e, timeout)
- except select.error, err:
+ except select.error as err:
if err[0] != EINTR:
raise
else:
@@ -165,7 +165,7 @@ def poll2(timeout=0.0, map=None):
pollster.register(fd, flags)
try:
r = pollster.poll(timeout)
- except select.error, err:
+ except select.error as err:
if err[0] != EINTR:
raise
r = []
@@ -320,7 +320,7 @@ class dispatcher:
try:
conn, addr = self.socket.accept()
return conn, addr
- except socket.error, why:
+ except socket.error as why:
if why[0] == EWOULDBLOCK:
pass
else:
@@ -330,7 +330,7 @@ class dispatcher:
try:
result = self.socket.send(data)
return result
- except socket.error, why:
+ except socket.error as why:
if why[0] == EWOULDBLOCK:
return 0
else:
@@ -347,7 +347,7 @@ class dispatcher:
return ''
else:
return data
- except socket.error, why:
+ except socket.error as why:
# winsock sometimes throws ENOTCONN
if why[0] in [ECONNRESET, ENOTCONN, ESHUTDOWN]:
self.handle_close()
diff --git a/Lib/base64.py b/Lib/base64.py
index 41a5e1470c..009f9f6291 100755
--- a/Lib/base64.py
+++ b/Lib/base64.py
@@ -71,7 +71,7 @@ def b64decode(s, altchars=None):
s = _translate(s, {altchars[0]: '+', altchars[1]: '/'})
try:
return binascii.a2b_base64(s)
- except binascii.Error, msg:
+ except binascii.Error as msg:
# Transform this exception for consistency
raise TypeError(msg)
@@ -328,7 +328,7 @@ def test():
import sys, getopt
try:
opts, args = getopt.getopt(sys.argv[1:], 'deut')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stdout = sys.stderr
print msg
print """usage: %s [-d|-e|-u|-t] [file|-]
diff --git a/Lib/bsddb/dbtables.py b/Lib/bsddb/dbtables.py
index 7f862d7509..704c4d2057 100644
--- a/Lib/bsddb/dbtables.py
+++ b/Lib/bsddb/dbtables.py
@@ -260,7 +260,7 @@ class bsdTableDB :
txn.commit()
txn = None
- except DBError, dberror:
+ except DBError as dberror:
if txn:
txn.abort()
raise TableDBError, dberror[1]
@@ -338,7 +338,7 @@ class bsdTableDB :
txn = None
self.__load_column_info(table)
- except DBError, dberror:
+ except DBError as dberror:
if txn:
txn.abort()
raise TableDBError, dberror[1]
@@ -407,7 +407,7 @@ class bsdTableDB :
txn.commit()
txn = None
- except DBError, dberror:
+ except DBError as dberror:
# WIBNI we could just abort the txn and re-raise the exception?
# But no, because TableDBError is not related to DBError via
# inheritance, so it would be backwards incompatible. Do the next
@@ -466,7 +466,7 @@ class bsdTableDB :
txn.abort()
raise
- except DBError, dberror:
+ except DBError as dberror:
raise TableDBError, dberror[1]
def Delete(self, table, conditions={}):
@@ -502,11 +502,11 @@ class bsdTableDB :
pass
txn.commit()
txn = None
- except DBError, dberror:
+ except DBError as dberror:
if txn:
txn.abort()
raise
- except DBError, dberror:
+ except DBError as dberror:
raise TableDBError, dberror[1]
@@ -526,7 +526,7 @@ class bsdTableDB :
if columns is None:
columns = self.__tablecolumns[table]
matching_rowids = self.__Select(table, columns, conditions)
- except DBError, dberror:
+ except DBError as dberror:
raise TableDBError, dberror[1]
# return the matches as a list of dictionaries
return matching_rowids.values()
@@ -616,7 +616,7 @@ class bsdTableDB :
key, data = cur.next()
- except DBError, dberror:
+ except DBError as dberror:
if dberror[0] != DB_NOTFOUND:
raise
continue
@@ -636,7 +636,7 @@ class bsdTableDB :
try:
rowdata[column] = self.db.get(
_data_key(table, column, rowid))
- except DBError, dberror:
+ except DBError as dberror:
if dberror[0] != DB_NOTFOUND:
raise
rowdata[column] = None
@@ -700,7 +700,7 @@ class bsdTableDB :
if table in self.__tablecolumns:
del self.__tablecolumns[table]
- except DBError, dberror:
+ except DBError as dberror:
if txn:
txn.abort()
raise TableDBError, dberror[1]
diff --git a/Lib/bsddb/test/test_basics.py b/Lib/bsddb/test/test_basics.py
index 48ecdb95c8..281e9428a9 100644
--- a/Lib/bsddb/test/test_basics.py
+++ b/Lib/bsddb/test/test_basics.py
@@ -58,7 +58,7 @@ class BasicTestCase(unittest.TestCase):
self.homeDir = homeDir
try:
shutil.rmtree(homeDir)
- except OSError, e:
+ except OSError as e:
# unix returns ENOENT, windows returns ESRCH
if e.errno not in (errno.ENOENT, errno.ESRCH): raise
os.mkdir(homeDir)
@@ -162,7 +162,7 @@ class BasicTestCase(unittest.TestCase):
# set_get_returns_none() to change it.
try:
d.delete('abcd')
- except db.DBNotFoundError, val:
+ except db.DBNotFoundError as val:
assert val[0] == db.DB_NOTFOUND
if verbose: print val
else:
@@ -181,7 +181,7 @@ class BasicTestCase(unittest.TestCase):
try:
d.put('abcd', 'this should fail', flags=db.DB_NOOVERWRITE)
- except db.DBKeyExistError, val:
+ except db.DBKeyExistError as val:
assert val[0] == db.DB_KEYEXIST
if verbose: print val
else:
@@ -313,7 +313,7 @@ class BasicTestCase(unittest.TestCase):
print rec
try:
rec = c.next()
- except db.DBNotFoundError, val:
+ except db.DBNotFoundError as val:
if get_raises_error:
assert val[0] == db.DB_NOTFOUND
if verbose: print val
@@ -333,7 +333,7 @@ class BasicTestCase(unittest.TestCase):
print rec
try:
rec = c.prev()
- except db.DBNotFoundError, val:
+ except db.DBNotFoundError as val:
if get_raises_error:
assert val[0] == db.DB_NOTFOUND
if verbose: print val
@@ -357,7 +357,7 @@ class BasicTestCase(unittest.TestCase):
try:
n = c.set('bad key')
- except db.DBNotFoundError, val:
+ except db.DBNotFoundError as val:
assert val[0] == db.DB_NOTFOUND
if verbose: print val
else:
@@ -371,7 +371,7 @@ class BasicTestCase(unittest.TestCase):
try:
n = c.get_both('0404', 'bad data')
- except db.DBNotFoundError, val:
+ except db.DBNotFoundError as val:
assert val[0] == db.DB_NOTFOUND
if verbose: print val
else:
@@ -399,7 +399,7 @@ class BasicTestCase(unittest.TestCase):
c.delete()
try:
rec = c.current()
- except db.DBKeyEmptyError, val:
+ except db.DBKeyEmptyError as val:
if get_raises_error:
assert val[0] == db.DB_KEYEMPTY
if verbose: print val
@@ -445,7 +445,7 @@ class BasicTestCase(unittest.TestCase):
method
# a bug may cause a NULL pointer dereference...
getattr(c, method)(*args)
- except db.DBError, val:
+ except db.DBError as val:
assert val[0] == 0
if verbose: print val
else:
@@ -730,7 +730,7 @@ class BasicTransactionTestCase(BasicTestCase):
txn.abort()
try:
txn.abort()
- except db.DBError, e:
+ except db.DBError as e:
pass
else:
raise RuntimeError, "DBTxn.abort() called after DB_TXN no longer valid w/o an exception"
@@ -739,7 +739,7 @@ class BasicTransactionTestCase(BasicTestCase):
txn.commit()
try:
txn.commit()
- except db.DBError, e:
+ except db.DBError as e:
pass
else:
raise RuntimeError, "DBTxn.commit() called after DB_TXN no longer valid w/o an exception"
diff --git a/Lib/bsddb/test/test_compare.py b/Lib/bsddb/test/test_compare.py
index ccf8b83910..b3eaf3a2d5 100644
--- a/Lib/bsddb/test/test_compare.py
+++ b/Lib/bsddb/test/test_compare.py
@@ -234,7 +234,7 @@ class BtreeExceptionsTestCase (AbstractBtreeKeyCompareTestCase):
self.db.set_bt_compare (my_compare)
assert False, "this set should fail"
- except RuntimeError, msg:
+ except RuntimeError as msg:
pass
def test_suite ():
diff --git a/Lib/bsddb/test/test_pickle.py b/Lib/bsddb/test/test_pickle.py
index 3916e5cb9e..4683ec6d2a 100644
--- a/Lib/bsddb/test/test_pickle.py
+++ b/Lib/bsddb/test/test_pickle.py
@@ -11,7 +11,7 @@ import glob
try:
# For Pythons w/distutils pybsddb
from bsddb3 import db
-except ImportError, e:
+except ImportError as e:
# For Python 2.3
from bsddb import db
@@ -47,7 +47,7 @@ class pickleTestCase(unittest.TestCase):
assert self.db['spam'] == 'eggs'
try:
self.db.put('spam', 'ham', flags=db.DB_NOOVERWRITE)
- except db.DBError, egg:
+ except db.DBError as egg:
pickledEgg = pickle.dumps(egg)
#print repr(pickledEgg)
rottenEgg = pickle.loads(pickledEgg)
diff --git a/Lib/bsddb/test/test_recno.py b/Lib/bsddb/test/test_recno.py
index 35399b517b..7bf3695dfa 100644
--- a/Lib/bsddb/test/test_recno.py
+++ b/Lib/bsddb/test/test_recno.py
@@ -29,7 +29,7 @@ class SimpleRecnoTestCase(unittest.TestCase):
def tearDown(self):
try:
os.remove(self.filename)
- except OSError, e:
+ except OSError as e:
if e.errno != errno.EEXIST: raise
def test01_basic(self):
@@ -63,7 +63,7 @@ class SimpleRecnoTestCase(unittest.TestCase):
try:
data = d[0] # This should raise a KeyError!?!?!
- except db.DBInvalidArgError, val:
+ except db.DBInvalidArgError as val:
assert val[0] == db.EINVAL
if verbose: print val
else:
@@ -72,7 +72,7 @@ class SimpleRecnoTestCase(unittest.TestCase):
# test that has_key raises DB exceptions (fixed in pybsddb 4.3.2)
try:
d.has_key(0)
- except db.DBError, val:
+ except db.DBError as val:
pass
else:
self.fail("has_key did not raise a proper exception")
@@ -86,7 +86,7 @@ class SimpleRecnoTestCase(unittest.TestCase):
try:
data = d.get(100)
- except db.DBNotFoundError, val:
+ except db.DBNotFoundError as val:
if get_returns_none:
self.fail("unexpected exception")
else:
@@ -177,7 +177,7 @@ class SimpleRecnoTestCase(unittest.TestCase):
try:
d.get(99)
- except db.DBKeyEmptyError, val:
+ except db.DBKeyEmptyError as val:
if get_returns_none:
self.fail("unexpected DBKeyEmptyError exception")
else:
@@ -267,7 +267,7 @@ class SimpleRecnoTestCase(unittest.TestCase):
try: # this one will fail
d.append('bad' * 20)
- except db.DBInvalidArgError, val:
+ except db.DBInvalidArgError as val:
assert val[0] == db.EINVAL
if verbose: print val
else:
diff --git a/Lib/bsddb/test/test_thread.py b/Lib/bsddb/test/test_thread.py
index bf19d21e6d..b3d7ef94e6 100644
--- a/Lib/bsddb/test/test_thread.py
+++ b/Lib/bsddb/test/test_thread.py
@@ -57,7 +57,7 @@ class BaseThreadedTestCase(unittest.TestCase):
self.homeDir = homeDir
try:
os.mkdir(homeDir)
- except OSError, e:
+ except OSError as e:
if e.errno != errno.EEXIST: raise
self.env = db.DBEnv()
self.setEnvOpts()
@@ -247,7 +247,7 @@ class SimpleThreadedBase(BaseThreadedTestCase):
# flush them
try:
dbutils.DeadlockWrap(d.sync, max_retries=12)
- except db.DBIncompleteError, val:
+ except db.DBIncompleteError as val:
if verbose:
print "could not complete sync()..."
@@ -360,7 +360,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase):
print "%s: records %d - %d finished" % (name, start, x)
txn.commit()
finished = True
- except (db.DBLockDeadlockError, db.DBLockNotGrantedError), val:
+ except (db.DBLockDeadlockError, db.DBLockNotGrantedError) as val:
if verbose:
print "%s: Aborting transaction (%s)" % (name, val[1])
txn.abort()
@@ -398,7 +398,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase):
finished = True
if verbose:
print "%s: deleted records %s" % (name, recs)
- except (db.DBLockDeadlockError, db.DBLockNotGrantedError), val:
+ except (db.DBLockDeadlockError, db.DBLockNotGrantedError) as val:
if verbose:
print "%s: Aborting transaction (%s)" % (name, val[1])
txn.abort()
@@ -428,7 +428,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase):
c.close()
txn.commit()
finished = True
- except (db.DBLockDeadlockError, db.DBLockNotGrantedError), val:
+ except (db.DBLockDeadlockError, db.DBLockNotGrantedError) as val:
if verbose:
print "%s: Aborting transaction (%s)" % (name, val[1])
c.close()
diff --git a/Lib/cgi.py b/Lib/cgi.py
index 80b3b7abf3..0cc5fad82a 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -982,7 +982,7 @@ def print_directory():
print "<H3>Current Working Directory:</H3>"
try:
pwd = os.getcwd()
- except os.error, msg:
+ except os.error as msg:
print "os.error:", escape(str(msg))
else:
print escape(pwd)
diff --git a/Lib/codecs.py b/Lib/codecs.py
index f834b8dd17..e4e14cfec0 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -13,7 +13,7 @@ import __builtin__, sys
try:
from _codecs import *
-except ImportError, why:
+except ImportError as why:
raise SystemError('Failed to load the builtin codecs: %s' % why)
__all__ = ["register", "lookup", "open", "EncodedFile", "BOM", "BOM_BE",
@@ -422,7 +422,7 @@ class StreamReader(Codec):
data = self.bytebuffer + newdata
try:
newchars, decodedbytes = self.decode(data, self.errors)
- except UnicodeDecodeError, exc:
+ except UnicodeDecodeError as exc:
if firstline:
newchars, decodedbytes = self.decode(data[:exc.start], self.errors)
lines = newchars.splitlines(True)
diff --git a/Lib/codeop.py b/Lib/codeop.py
index 5616d92a85..6abde2ede5 100644
--- a/Lib/codeop.py
+++ b/Lib/codeop.py
@@ -80,18 +80,18 @@ def _maybe_compile(compiler, source, filename, symbol):
try:
code = compiler(source, filename, symbol)
- except SyntaxError, err:
+ except SyntaxError as err:
pass
try:
code1 = compiler(source + "\n", filename, symbol)
- except SyntaxError, err1:
- pass
+ except SyntaxError as e:
+ err1 = e
try:
code2 = compiler(source + "\n\n", filename, symbol)
- except SyntaxError, err2:
- pass
+ except SyntaxError as e:
+ err2 = e
if code:
return code
diff --git a/Lib/compileall.py b/Lib/compileall.py
index b21d95f82c..1e5c6a6e2d 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -65,12 +65,12 @@ def compile_dir(dir, maxlevels=10, ddir=None,
ok = py_compile.compile(fullname, None, dfile, True)
except KeyboardInterrupt:
raise KeyboardInterrupt
- except py_compile.PyCompileError,err:
+ except py_compile.PyCompileError as err:
if quiet:
print 'Compiling', fullname, '...'
print err.msg
success = 0
- except IOError, e:
+ except IOError as e:
print "Sorry", e
success = 0
else:
@@ -109,7 +109,7 @@ def main():
import getopt
try:
opts, args = getopt.getopt(sys.argv[1:], 'lfqd:x:')
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print "usage: python compileall.py [-l] [-f] [-q] [-d destdir] " \
"[-x regexp] [directory ...]"
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py
index 325ca069d0..55d2617923 100644
--- a/Lib/compiler/pycodegen.py
+++ b/Lib/compiler/pycodegen.py
@@ -227,7 +227,7 @@ class CodeGenerator:
assert getattr(self, 'NameFinder')
assert getattr(self, 'FunctionGen')
assert getattr(self, 'ClassGen')
- except AssertionError, msg:
+ except AssertionError as msg:
intro = "Bad class construction for %s" % self.__class__.__name__
raise AssertionError, intro
diff --git a/Lib/contextlib.py b/Lib/contextlib.py
index a807c42ce4..731bf8f868 100644
--- a/Lib/contextlib.py
+++ b/Lib/contextlib.py
@@ -28,7 +28,7 @@ class GeneratorContextManager(object):
try:
self.gen.throw(type, value, traceback)
raise RuntimeError("generator didn't stop after throw()")
- except StopIteration, exc:
+ except StopIteration as exc:
# Suppress the exception *unless* it's the same exception that
# was passed to throw(). This prevents a StopIteration
# raised inside the "with" statement from being suppressed
diff --git a/Lib/csv.py b/Lib/csv.py
index 79d72b609c..d91117554e 100644
--- a/Lib/csv.py
+++ b/Lib/csv.py
@@ -48,7 +48,7 @@ class Dialect:
def _validate(self):
try:
_Dialect(self)
- except TypeError, e:
+ except TypeError as e:
# We do this for compatibility with py2.3
raise Error(str(e))
diff --git a/Lib/ctypes/macholib/dyld.py b/Lib/ctypes/macholib/dyld.py
index 376f65dfce..011a3717cf 100644
--- a/Lib/ctypes/macholib/dyld.py
+++ b/Lib/ctypes/macholib/dyld.py
@@ -148,7 +148,7 @@ def framework_find(fn, executable_path=None, env=None):
"""
try:
return dyld_find(fn, executable_path=executable_path, env=env)
- except ValueError, e:
+ except ValueError as e:
pass
fmwk_index = fn.rfind('.framework')
if fmwk_index == -1:
diff --git a/Lib/ctypes/test/__init__.py b/Lib/ctypes/test/__init__.py
index 2b745c206e..245dda6534 100644
--- a/Lib/ctypes/test/__init__.py
+++ b/Lib/ctypes/test/__init__.py
@@ -57,12 +57,12 @@ def get_tests(package, mask, verbosity):
for modname in find_package_modules(package, mask):
try:
mod = __import__(modname, globals(), locals(), ['*'])
- except ResourceDenied, detail:
+ except ResourceDenied as detail:
skipped.append(modname)
if verbosity > 1:
print >> sys.stderr, "Skipped %s: %s" % (modname, detail)
continue
- except Exception, detail:
+ except Exception as detail:
print >> sys.stderr, "Warning: could not import %s: %s" % (modname, detail)
continue
for name in dir(mod):
diff --git a/Lib/ctypes/test/test_bitfields.py b/Lib/ctypes/test/test_bitfields.py
index 2867cbf93e..c17ba3ca33 100644
--- a/Lib/ctypes/test/test_bitfields.py
+++ b/Lib/ctypes/test/test_bitfields.py
@@ -191,7 +191,7 @@ class BitFieldTest(unittest.TestCase):
def get_except(self, func, *args, **kw):
try:
func(*args, **kw)
- except Exception, detail:
+ except Exception as detail:
return detail.__class__, str(detail)
def test_mixed_1(self):
diff --git a/Lib/ctypes/test/test_structures.py b/Lib/ctypes/test/test_structures.py
index 613163d0cc..097e1da56a 100644
--- a/Lib/ctypes/test/test_structures.py
+++ b/Lib/ctypes/test/test_structures.py
@@ -313,7 +313,7 @@ class StructureTestCase(unittest.TestCase):
def get_except(self, func, *args):
try:
func(*args)
- except Exception, detail:
+ except Exception as detail:
return detail.__class__, str(detail)
@@ -388,7 +388,7 @@ class TestRecursiveStructure(unittest.TestCase):
try:
Recursive._fields_ = [("next", Recursive)]
- except AttributeError, details:
+ except AttributeError as details:
self.failUnless("Structure or union cannot contain itself" in
str(details))
else:
@@ -405,7 +405,7 @@ class TestRecursiveStructure(unittest.TestCase):
try:
Second._fields_ = [("first", First)]
- except AttributeError, details:
+ except AttributeError as details:
self.failUnless("_fields_ is final" in
str(details))
else:
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
index 2ee2968d91..e65646acd1 100644
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
@@ -60,12 +60,12 @@ elif os.name == "posix":
finally:
try:
os.unlink(outfile)
- except OSError, e:
+ except OSError as e:
if e.errno != errno.ENOENT:
raise
try:
os.unlink(ccout)
- except OSError, e:
+ except OSError as e:
if e.errno != errno.ENOENT:
raise
res = re.search(expr, trace)
diff --git a/Lib/dis.py b/Lib/dis.py
index 89caf2006f..11e38df6ed 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -33,7 +33,7 @@ def dis(x=None):
print "Disassembly of %s:" % name
try:
dis(x1)
- except TypeError, msg:
+ except TypeError as msg:
print "Sorry:", msg
print
elif hasattr(x, 'co_code'):
diff --git a/Lib/distutils/bcppcompiler.py b/Lib/distutils/bcppcompiler.py
index ca524a5b88..6968cb8f6f 100644
--- a/Lib/distutils/bcppcompiler.py
+++ b/Lib/distutils/bcppcompiler.py
@@ -115,7 +115,7 @@ class BCPPCompiler(CCompiler) :
# This needs to be compiled to a .res file -- do it now.
try:
self.spawn (["brcc32", "-fo", obj, src])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
continue # the 'for' loop
@@ -139,7 +139,7 @@ class BCPPCompiler(CCompiler) :
self.spawn ([self.cc] + compile_opts + pp_opts +
[input_opt, output_opt] +
extra_postargs + [src])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
return objects
@@ -164,7 +164,7 @@ class BCPPCompiler(CCompiler) :
pass # XXX what goes here?
try:
self.spawn ([self.lib] + lib_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise LibError, msg
else:
log.debug("skipping %s (up-to-date)", output_filename)
@@ -298,7 +298,7 @@ class BCPPCompiler(CCompiler) :
self.mkpath (os.path.dirname (output_filename))
try:
self.spawn ([self.linker] + ld_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise LinkError, msg
else:
@@ -391,7 +391,7 @@ class BCPPCompiler(CCompiler) :
self.mkpath(os.path.dirname(output_file))
try:
self.spawn(pp_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
print msg
raise CompileError, msg
diff --git a/Lib/distutils/command/register.py b/Lib/distutils/command/register.py
index 3177476b3b..cb9525ab0e 100644
--- a/Lib/distutils/command/register.py
+++ b/Lib/distutils/command/register.py
@@ -284,11 +284,11 @@ Your selection [default 1]: ''',
data = ''
try:
result = opener.open(req)
- except urllib2.HTTPError, e:
+ except urllib2.HTTPError as e:
if self.show_response:
data = e.fp.read()
result = e.code, e.msg
- except urllib2.URLError, e:
+ except urllib2.URLError as e:
result = 500, str(e)
else:
if self.show_response:
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index 3dfe6f21a7..eb2db505dd 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -333,7 +333,7 @@ class sdist (Command):
try:
self.filelist.process_template_line(line)
- except DistutilsTemplateError, msg:
+ except DistutilsTemplateError as msg:
self.warn("%s, line %d: %s" % (template.filename,
template.current_line,
msg))
diff --git a/Lib/distutils/command/upload.py b/Lib/distutils/command/upload.py
index 67ba080427..7f96a475b6 100644
--- a/Lib/distutils/command/upload.py
+++ b/Lib/distutils/command/upload.py
@@ -184,7 +184,7 @@ class upload(Command):
http.putheader('Authorization', auth)
http.endheaders()
http.send(body)
- except socket.error, e:
+ except socket.error as e:
self.announce(str(e), log.ERROR)
return
diff --git a/Lib/distutils/core.py b/Lib/distutils/core.py
index 85a28fe795..4dc8eb01aa 100644
--- a/Lib/distutils/core.py
+++ b/Lib/distutils/core.py
@@ -110,7 +110,7 @@ def setup (**attrs):
# (ie. everything except distclass) to initialize it
try:
_setup_distribution = dist = klass(attrs)
- except DistutilsSetupError, msg:
+ except DistutilsSetupError as msg:
if 'name' not in attrs:
raise SystemExit, "error in %s setup command: %s" % \
(attrs['name'], msg)
@@ -135,7 +135,7 @@ def setup (**attrs):
# fault, so turn them into SystemExit to suppress tracebacks.
try:
ok = dist.parse_command_line()
- except DistutilsArgError, msg:
+ except DistutilsArgError as msg:
raise SystemExit, gen_usage(dist.script_name) + "\nerror: %s" % msg
if DEBUG:
@@ -151,7 +151,7 @@ def setup (**attrs):
dist.run_commands()
except KeyboardInterrupt:
raise SystemExit, "interrupted"
- except (IOError, os.error), exc:
+ except (IOError, os.error) as exc:
error = grok_environment_error(exc)
if DEBUG:
@@ -161,7 +161,7 @@ def setup (**attrs):
raise SystemExit, error
except (DistutilsError,
- CCompilerError), msg:
+ CCompilerError) as msg:
if DEBUG:
raise
else:
diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py
index 4fd23e6dc6..44b5850834 100644
--- a/Lib/distutils/cygwinccompiler.py
+++ b/Lib/distutils/cygwinccompiler.py
@@ -142,13 +142,13 @@ class CygwinCCompiler (UnixCCompiler):
# gcc needs '.res' and '.rc' compiled to object files !!!
try:
self.spawn(["windres", "-i", src, "-o", obj])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
else: # for other files use the C-compiler
try:
self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
extra_postargs)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
def link (self,
@@ -379,7 +379,7 @@ def check_config_h():
s = f.read()
f.close()
- except IOError, exc:
+ except IOError as exc:
# if we can't read this file, we cannot say it is wrong
# the compiler will complain later about this file as missing
return (CONFIG_H_UNCERTAIN,
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index 92f49346f7..398f242974 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -75,7 +75,7 @@ def mkpath (name, mode=0777, verbose=0, dry_run=0):
try:
os.mkdir(head)
created_dirs.append(head)
- except OSError, exc:
+ except OSError as exc:
raise DistutilsFileError, \
"could not create '%s': %s" % (head, exc[-1])
@@ -142,7 +142,8 @@ def copy_tree (src, dst,
"cannot copy tree '%s': not a directory" % src
try:
names = os.listdir(src)
- except os.error, (errno, errstr):
+ except os.error as e:
+ (errno, errstr) = e
if dry_run:
names = []
else:
@@ -209,7 +210,7 @@ def remove_tree (directory, verbose=0, dry_run=0):
abspath = os.path.abspath(cmd[1])
if abspath in _path_created:
del _path_created[abspath]
- except (IOError, OSError), exc:
+ except (IOError, OSError) as exc:
log.warn(grok_environment_error(
exc, "error removing %s: " % directory))
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index d098cb9713..d21c5e2f1b 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -398,7 +398,7 @@ Common commands: (see '--help-commands' for more)
setattr(self, opt, strtobool(val))
else:
setattr(self, opt, val)
- except ValueError, msg:
+ except ValueError as msg:
raise DistutilsOptionError, msg
# parse_config_files ()
@@ -515,7 +515,7 @@ Common commands: (see '--help-commands' for more)
# it takes.
try:
cmd_class = self.get_command_class(command)
- except DistutilsModuleError, msg:
+ except DistutilsModuleError as msg:
raise DistutilsArgError, msg
# Require that the command class be derived from Command -- want
@@ -917,7 +917,7 @@ Common commands: (see '--help-commands' for more)
raise DistutilsOptionError, \
("error in %s: command '%s' has no such option '%s'"
% (source, command_name, option))
- except ValueError, msg:
+ except ValueError as msg:
raise DistutilsOptionError, msg
def reinitialize_command (self, command, reinit_subcommands=0):
diff --git a/Lib/distutils/emxccompiler.py b/Lib/distutils/emxccompiler.py
index f52e63232d..8aef2b7a9d 100644
--- a/Lib/distutils/emxccompiler.py
+++ b/Lib/distutils/emxccompiler.py
@@ -79,13 +79,13 @@ class EMXCCompiler (UnixCCompiler):
# gcc requires '.rc' compiled to binary ('.res') files !!!
try:
self.spawn(["rc", "-r", src])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
else: # for other files use the C-compiler
try:
self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
extra_postargs)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
def link (self,
@@ -275,7 +275,7 @@ def check_config_h():
s = f.read()
f.close()
- except IOError, exc:
+ except IOError as exc:
# if we can't read this file, we cannot say it is wrong
# the compiler will complain later about this file as missing
return (CONFIG_H_UNCERTAIN,
diff --git a/Lib/distutils/fancy_getopt.py b/Lib/distutils/fancy_getopt.py
index 31cf0c5c3b..62a24e8524 100644
--- a/Lib/distutils/fancy_getopt.py
+++ b/Lib/distutils/fancy_getopt.py
@@ -256,7 +256,7 @@ class FancyGetopt:
short_opts = string.join(self.short_opts)
try:
opts, args = getopt.getopt(args, short_opts, self.long_opts)
- except getopt.error, msg:
+ except getopt.error as msg:
raise DistutilsArgError, msg
for opt, val in opts:
diff --git a/Lib/distutils/file_util.py b/Lib/distutils/file_util.py
index 37b152ed8a..c225ad3172 100644
--- a/Lib/distutils/file_util.py
+++ b/Lib/distutils/file_util.py
@@ -32,27 +32,31 @@ def _copy_file_contents (src, dst, buffer_size=16*1024):
try:
try:
fsrc = open(src, 'rb')
- except os.error, (errno, errstr):
+ except os.error as e:
+ (errno, errstr) = e
raise DistutilsFileError, \
"could not open '%s': %s" % (src, errstr)
if os.path.exists(dst):
try:
os.unlink(dst)
- except os.error, (errno, errstr):
+ except os.error as e:
+ (errno, errstr) = e
raise DistutilsFileError, \
"could not delete '%s': %s" % (dst, errstr)
try:
fdst = open(dst, 'wb')
- except os.error, (errno, errstr):
+ except os.error as e:
+ (errno, errstr) = e
raise DistutilsFileError, \
"could not create '%s': %s" % (dst, errstr)
while 1:
try:
buf = fsrc.read(buffer_size)
- except os.error, (errno, errstr):
+ except os.error as e:
+ (errno, errstr) = e
raise DistutilsFileError, \
"could not read from '%s': %s" % (src, errstr)
@@ -61,7 +65,8 @@ def _copy_file_contents (src, dst, buffer_size=16*1024):
try:
fdst.write(buf)
- except os.error, (errno, errstr):
+ except os.error as e:
+ (errno, errstr) = e
raise DistutilsFileError, \
"could not write to '%s': %s" % (dst, errstr)
@@ -146,7 +151,7 @@ def copy_file (src, dst,
import macostools
try:
macostools.copy(src, dst, 0, preserve_times)
- except os.error, exc:
+ except os.error as exc:
raise DistutilsFileError, \
"could not copy '%s' to '%s': %s" % (src, dst, exc[-1])
@@ -217,7 +222,8 @@ def move_file (src, dst,
copy_it = 0
try:
os.rename(src, dst)
- except os.error, (num, msg):
+ except os.error as e:
+ (num, msg) = e
if num == errno.EXDEV:
copy_it = 1
else:
@@ -228,7 +234,8 @@ def move_file (src, dst,
copy_file(src, dst)
try:
os.unlink(src)
- except os.error, (num, msg):
+ except os.error as e:
+ (num, msg) = e
try:
os.unlink(dst)
except os.error:
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 9ec3508c76..968a4ffd46 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -129,7 +129,7 @@ class MacroExpander:
self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv1.1")
else:
self.set_macro("FrameworkSDKDir", net, "sdkinstallroot")
- except KeyError, exc: #
+ except KeyError as exc: #
raise DistutilsPlatformError, \
("""Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
@@ -371,7 +371,7 @@ class MSVCCompiler (CCompiler) :
try:
self.spawn ([self.rc] + pp_opts +
[output_opt] + [input_opt])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
continue
elif ext in self._mc_extensions:
@@ -400,7 +400,7 @@ class MSVCCompiler (CCompiler) :
self.spawn ([self.rc] +
["/fo" + obj] + [rc_file])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
continue
else:
@@ -414,7 +414,7 @@ class MSVCCompiler (CCompiler) :
self.spawn ([self.cc] + compile_opts + pp_opts +
[input_opt, output_opt] +
extra_postargs)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
return objects
@@ -440,7 +440,7 @@ class MSVCCompiler (CCompiler) :
pass # XXX what goes here?
try:
self.spawn ([self.lib] + lib_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise LibError, msg
else:
@@ -519,7 +519,7 @@ class MSVCCompiler (CCompiler) :
self.mkpath (os.path.dirname (output_filename))
try:
self.spawn ([self.linker] + ld_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise LinkError, msg
else:
diff --git a/Lib/distutils/spawn.py b/Lib/distutils/spawn.py
index e5654ff009..6b07f52ebe 100644
--- a/Lib/distutils/spawn.py
+++ b/Lib/distutils/spawn.py
@@ -78,7 +78,7 @@ def _spawn_nt (cmd,
# spawn for NT requires a full path to the .exe
try:
rc = os.spawnv(os.P_WAIT, executable, cmd)
- except OSError, exc:
+ except OSError as exc:
# this seems to happen when the command isn't found
raise DistutilsExecError, \
"command '%s' failed: %s" % (cmd[0], exc[-1])
@@ -103,7 +103,7 @@ def _spawn_os2 (cmd,
# spawnv for OS/2 EMX requires a full path to the .exe
try:
rc = os.spawnv(os.P_WAIT, executable, cmd)
- except OSError, exc:
+ except OSError as exc:
# this seems to happen when the command isn't found
raise DistutilsExecError, \
"command '%s' failed: %s" % (cmd[0], exc[-1])
@@ -131,7 +131,7 @@ def _spawn_posix (cmd,
#print "cmd[0] =", cmd[0]
#print "cmd =", cmd
exec_fn(cmd[0], cmd)
- except OSError, e:
+ except OSError as e:
sys.stderr.write("unable to execute %s: %s\n" %
(cmd[0], e.strerror))
os._exit(1)
@@ -146,7 +146,7 @@ def _spawn_posix (cmd,
while 1:
try:
(pid, status) = os.waitpid(pid, 0)
- except OSError, exc:
+ except OSError as exc:
import errno
if exc.errno == errno.EINTR:
continue
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 8989d92b4e..9de7234683 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -344,7 +344,7 @@ def _init_posix():
try:
filename = get_makefile_filename()
parse_makefile(filename, g)
- except IOError, msg:
+ except IOError as msg:
my_msg = "invalid Python installation: unable to open %s" % filename
if hasattr(msg, "strerror"):
my_msg = my_msg + " (%s)" % msg.strerror
@@ -355,7 +355,7 @@ def _init_posix():
try:
filename = get_config_h_filename()
parse_config_h(open(filename), g)
- except IOError, msg:
+ except IOError as msg:
my_msg = "invalid Python installation: unable to open %s" % filename
if hasattr(msg, "strerror"):
my_msg = my_msg + " (%s)" % msg.strerror
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index 75e8a5316e..0795f1206d 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -162,7 +162,7 @@ class UnixCCompiler(CCompiler):
self.mkpath(os.path.dirname(output_file))
try:
self.spawn(pp_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
@@ -172,7 +172,7 @@ class UnixCCompiler(CCompiler):
try:
self.spawn(compiler_so + cc_args + [src, '-o', obj] +
extra_postargs)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise CompileError, msg
def create_static_lib(self, objects, output_libname,
@@ -196,7 +196,7 @@ class UnixCCompiler(CCompiler):
if self.ranlib:
try:
self.spawn(self.ranlib + [output_filename])
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise LibError, msg
else:
log.debug("skipping %s (up-to-date)", output_filename)
@@ -250,7 +250,7 @@ class UnixCCompiler(CCompiler):
linker = _darwin_compiler_fixup(linker, ld_args)
self.spawn(linker + ld_args)
- except DistutilsExecError, msg:
+ except DistutilsExecError as msg:
raise LinkError, msg
else:
log.debug("skipping %s (up-to-date)", output_filename)
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 1bcda93fe0..16d8bcba4d 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -229,7 +229,7 @@ def subst_vars (s, local_vars):
try:
return re.sub(r'\$([a-zA-Z_][a-zA-Z_0-9]*)', _subst, s)
- except KeyError, var:
+ except KeyError as var:
raise ValueError, "invalid variable '$%s'" % var
# subst_vars ()
diff --git a/Lib/doctest.py b/Lib/doctest.py
index 435e13bc32..d120a01306 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1604,8 +1604,8 @@ class DebugRunner(DocTestRunner):
... {}, 'foo', 'foo.py', 0)
>>> try:
... runner.run(test)
- ... except UnexpectedException, failure:
- ... pass
+ ... except UnexpectedException as f:
+ ... failure = f
>>> failure.test is test
True
@@ -1632,8 +1632,8 @@ class DebugRunner(DocTestRunner):
>>> try:
... runner.run(test)
- ... except DocTestFailure, failure:
- ... pass
+ ... except DocTestFailure as f:
+ ... failure = f
DocTestFailure objects provide access to the test:
@@ -2141,8 +2141,8 @@ class DocTestCase(unittest.TestCase):
>>> case = DocTestCase(test)
>>> try:
... case.debug()
- ... except UnexpectedException, failure:
- ... pass
+ ... except UnexpectedException as f:
+ ... failure = f
The UnexpectedException contains the test, the example, and
the original exception:
@@ -2170,8 +2170,8 @@ class DocTestCase(unittest.TestCase):
>>> try:
... case.debug()
- ... except DocTestFailure, failure:
- ... pass
+ ... except DocTestFailure as f:
+ ... failure = f
DocTestFailure objects provide access to the test:
diff --git a/Lib/encodings/uu_codec.py b/Lib/encodings/uu_codec.py
index 43fb93c1b7..3baf779753 100644
--- a/Lib/encodings/uu_codec.py
+++ b/Lib/encodings/uu_codec.py
@@ -81,7 +81,7 @@ def uu_decode(input,errors='strict'):
break
try:
data = a2b_uu(s)
- except binascii.Error, v:
+ except binascii.Error as v:
# Workaround for broken uuencoders by /Fredrik Lundh
nbytes = (((ord(s[0])-32) & 63) * 4 + 5) / 3
data = a2b_uu(s[:nbytes])
diff --git a/Lib/filecmp.py b/Lib/filecmp.py
index 9885765031..51a97a55db 100644
--- a/Lib/filecmp.py
+++ b/Lib/filecmp.py
@@ -148,12 +148,12 @@ class dircmp:
ok = 1
try:
a_stat = os.stat(a_path)
- except os.error, why:
+ except os.error as why:
# print 'Can\'t stat', a_path, ':', why[1]
ok = 0
try:
b_stat = os.stat(b_path)
- except os.error, why:
+ except os.error as why:
# print 'Can\'t stat', b_path, ':', why[1]
ok = 0
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index 9cb67dd556..72f5c894e0 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -119,7 +119,7 @@ class FTP:
try:
self.sock = socket.socket(af, socktype, proto)
self.sock.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
if self.sock:
self.sock.close()
self.sock = None
@@ -277,7 +277,7 @@ class FTP:
try:
sock = socket.socket(af, socktype, proto)
sock.bind(sa)
- except socket.error, msg:
+ except socket.error as msg:
if sock:
sock.close()
sock = None
@@ -496,7 +496,7 @@ class FTP:
if dirname == '..':
try:
return self.voidcmd('CDUP')
- except error_perm, msg:
+ except error_perm as msg:
if msg.args[0][:3] != '500':
raise
elif dirname == '':
diff --git a/Lib/hotshot/stones.py b/Lib/hotshot/stones.py
index cd4c51d483..7f88606329 100644
--- a/Lib/hotshot/stones.py
+++ b/Lib/hotshot/stones.py
@@ -19,7 +19,7 @@ def main(logfile):
stats.sort_stats('time', 'calls')
try:
stats.print_stats(20)
- except IOError, e:
+ except IOError as e:
if e.errno != errno.EPIPE:
raise
diff --git a/Lib/htmllib.py b/Lib/htmllib.py
index 24a2e2f3c7..652519f173 100644
--- a/Lib/htmllib.py
+++ b/Lib/htmllib.py
@@ -463,7 +463,7 @@ def test(args = None):
else:
try:
f = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print file, ":", msg
sys.exit(1)
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 1e0037f8f8..93c081a789 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -667,7 +667,7 @@ class HTTPConnection:
if self.debuglevel > 0:
print "connect: (%s, %s)" % (self.host, self.port)
self.sock.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
if self.debuglevel > 0:
print 'connect fail:', (self.host, self.port)
if self.sock:
@@ -713,7 +713,7 @@ class HTTPConnection:
data=str.read(blocksize)
else:
self.sock.sendall(str)
- except socket.error, v:
+ except socket.error as v:
if v[0] == 32: # Broken pipe
self.close()
raise
@@ -868,7 +868,7 @@ class HTTPConnection:
try:
self._send_request(method, url, body, headers)
- except socket.error, v:
+ except socket.error as v:
# trap 'Broken pipe' if we're allowed to automatically reconnect
if v[0] != 32 or not self.auto_open:
raise
@@ -890,7 +890,7 @@ class HTTPConnection:
thelen=None
try:
thelen=str(len(body))
- except TypeError, te:
+ except TypeError as te:
# If this is a file-like object, try to
# fstat its file descriptor
import os
@@ -1019,7 +1019,7 @@ class SSLFile(SharedSocketClient):
while True:
try:
buf = self._ssl.read(self._bufsize)
- except socket.sslerror, err:
+ except socket.sslerror as err:
if (err[0] == socket.SSL_ERROR_WANT_READ
or err[0] == socket.SSL_ERROR_WANT_WRITE):
continue
@@ -1027,7 +1027,7 @@ class SSLFile(SharedSocketClient):
or err[0] == socket.SSL_ERROR_EOF):
break
raise
- except socket.error, err:
+ except socket.error as err:
if err[0] == errno.EINTR:
continue
if err[0] == errno.EBADF:
@@ -1215,7 +1215,7 @@ class HTTP:
"""
try:
response = self._conn.getresponse()
- except BadStatusLine, e:
+ except BadStatusLine as e:
### hmm. if getresponse() ever closes the socket on a bad request,
### then we are going to have problems with self.sock
diff --git a/Lib/idlelib/ClassBrowser.py b/Lib/idlelib/ClassBrowser.py
index e5a60a5134..d3f90483d2 100644
--- a/Lib/idlelib/ClassBrowser.py
+++ b/Lib/idlelib/ClassBrowser.py
@@ -94,7 +94,7 @@ class ModuleBrowserTreeItem(TreeItem):
return []
try:
dict = pyclbr.readmodule_ex(name, [dir] + sys.path)
- except ImportError, msg:
+ except ImportError as msg:
return []
items = []
self.classes = {}
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 1841b1cf62..400c31c797 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -505,7 +505,7 @@ class EditorWindow(object):
# XXX Ought to insert current file's directory in front of path
try:
(f, file, (suffix, mode, type)) = _find_module(name)
- except (NameError, ImportError), msg:
+ except (NameError, ImportError) as msg:
tkMessageBox.showerror("Import error", str(msg), parent=self.text)
return
if type != imp.PY_SOURCE:
diff --git a/Lib/idlelib/GrepDialog.py b/Lib/idlelib/GrepDialog.py
index ab136bc112..99d2e4dabc 100644
--- a/Lib/idlelib/GrepDialog.py
+++ b/Lib/idlelib/GrepDialog.py
@@ -82,7 +82,7 @@ class GrepDialog(SearchDialogBase):
for fn in list:
try:
f = open(fn)
- except IOError, msg:
+ except IOError as msg:
print msg
continue
lineno = 0
@@ -110,7 +110,7 @@ class GrepDialog(SearchDialogBase):
def findfiles(self, dir, base, rec):
try:
names = os.listdir(dir or os.curdir)
- except os.error, msg:
+ except os.error as msg:
print msg
return []
list = []
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py
index deeb5c527c..e23b40c606 100644
--- a/Lib/idlelib/IOBinding.py
+++ b/Lib/idlelib/IOBinding.py
@@ -246,7 +246,7 @@ class IOBinding:
f = open(filename,'rb')
chars = f.read()
f.close()
- except IOError, msg:
+ except IOError as msg:
tkMessageBox.showerror("I/O Error", str(msg), master=self.text)
return False
@@ -289,7 +289,7 @@ class IOBinding:
# Next look for coding specification
try:
enc = coding_spec(chars)
- except LookupError, name:
+ except LookupError as name:
tkMessageBox.showerror(
title="Error loading the file",
message="The encoding '%s' is not known to this Python "\
@@ -380,7 +380,7 @@ class IOBinding:
f.flush()
f.close()
return True
- except IOError, msg:
+ except IOError as msg:
tkMessageBox.showerror("I/O Error", str(msg),
master=self.text)
return False
@@ -400,7 +400,7 @@ class IOBinding:
try:
enc = coding_spec(chars)
failed = None
- except LookupError, msg:
+ except LookupError as msg:
failed = msg
enc = None
if enc:
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 20d00bef92..46ef211c05 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -380,7 +380,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
try:
self.rpcclt = MyRPCClient(addr)
break
- except socket.error, err:
+ except socket.error as err:
pass
else:
self.display_port_binding_error()
@@ -389,7 +389,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
self.rpcclt.listening_sock.settimeout(10)
try:
self.rpcclt.accept()
- except socket.timeout, err:
+ except socket.timeout as err:
self.display_no_subprocess_error()
return None
self.rpcclt.register("stdin", self.tkconsole)
@@ -423,7 +423,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
self.spawn_subprocess()
try:
self.rpcclt.accept()
- except socket.timeout, err:
+ except socket.timeout as err:
self.display_no_subprocess_error()
return None
self.transfer_path()
@@ -1324,7 +1324,7 @@ def main():
startup = False
try:
opts, args = getopt.getopt(sys.argv[1:], "c:deihnr:st:")
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stderr.write("Error: %s\n" % str(msg))
sys.stderr.write(usage_msg)
sys.exit(2)
diff --git a/Lib/idlelib/ScriptBinding.py b/Lib/idlelib/ScriptBinding.py
index 3746eb8304..a83f715ab3 100644
--- a/Lib/idlelib/ScriptBinding.py
+++ b/Lib/idlelib/ScriptBinding.py
@@ -66,13 +66,13 @@ class ScriptBinding:
f = open(filename, 'r')
try:
tabnanny.process_tokens(tokenize.generate_tokens(f.readline))
- except tokenize.TokenError, msg:
+ except tokenize.TokenError as msg:
msgtxt, (lineno, start) = msg
self.editwin.gotoline(lineno)
self.errorbox("Tabnanny Tokenizing Error",
"Token Error: %s" % msgtxt)
return False
- except tabnanny.NannyNag, nag:
+ except tabnanny.NannyNag as nag:
# The error messages from tabnanny are too confusing...
self.editwin.gotoline(nag.get_lineno())
self.errorbox("Tab/space error", indent_message)
@@ -97,7 +97,7 @@ class ScriptBinding:
try:
# If successful, return the compiled code
return compile(source, filename, "exec")
- except (SyntaxError, OverflowError), err:
+ except (SyntaxError, OverflowError) as err:
try:
msg, (errorfilename, lineno, offset, line) = err
if not errorfilename:
diff --git a/Lib/idlelib/SearchEngine.py b/Lib/idlelib/SearchEngine.py
index cc40a00c50..6745faff02 100644
--- a/Lib/idlelib/SearchEngine.py
+++ b/Lib/idlelib/SearchEngine.py
@@ -66,7 +66,7 @@ class SearchEngine:
flags = flags | re.IGNORECASE
try:
prog = re.compile(pat, flags)
- except re.error, what:
+ except re.error as what:
try:
msg, col = what
except:
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 61364a5073..6b29003f20 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -114,7 +114,7 @@ def manage_socket(address):
try:
server = MyRPCServer(address, MyHandler)
break
- except socket.error, err:
+ except socket.error as err:
print>>sys.__stderr__,"IDLE Subprocess: socket error: "\
+ err[1] + ", retrying...."
else:
diff --git a/Lib/imaplib.py b/Lib/imaplib.py
index 08e15207a4..11e262ed50 100644
--- a/Lib/imaplib.py
+++ b/Lib/imaplib.py
@@ -845,7 +845,7 @@ class IMAP4:
try:
self.send('%s%s' % (data, CRLF))
- except (socket.error, OSError), val:
+ except (socket.error, OSError) as val:
raise self.abort('socket error: %s' % val)
if literal is None:
@@ -870,7 +870,7 @@ class IMAP4:
try:
self.send(literal)
self.send(CRLF)
- except (socket.error, OSError), val:
+ except (socket.error, OSError) as val:
raise self.abort('socket error: %s' % val)
if not literator:
@@ -883,9 +883,9 @@ class IMAP4:
self._check_bye()
try:
typ, data = self._get_tagged_response(tag)
- except self.abort, val:
+ except self.abort as val:
raise self.abort('command: %s => %s' % (name, val))
- except self.error, val:
+ except self.error as val:
raise self.error('command: %s => %s' % (name, val))
self._check_bye()
if typ == 'BAD':
@@ -984,7 +984,7 @@ class IMAP4:
try:
self._get_response()
- except self.abort, val:
+ except self.abort as val:
if __debug__:
if self.debug >= 1:
self.print_log()
@@ -1402,7 +1402,7 @@ if __name__ == '__main__':
try:
optlist, args = getopt.getopt(sys.argv[1:], 'd:s:')
- except getopt.error, val:
+ except getopt.error as val:
optlist, args = (), ()
stream_command = None
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index f8538edf30..157b066a0d 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -85,7 +85,7 @@ def _cnfmerge(cnfs):
for c in _flatten(cnfs):
try:
cnf.update(c)
- except (AttributeError, TypeError), msg:
+ except (AttributeError, TypeError) as msg:
print "_cnfmerge: fallback due to:", msg
for k, v in c.items():
cnf[k] = v
@@ -1401,7 +1401,7 @@ class CallWrapper:
if self.subst:
args = self.subst(*args)
return self.func(*args)
- except SystemExit, msg:
+ except SystemExit as msg:
raise SystemExit, msg
except:
self.widget._report_exception()
diff --git a/Lib/linecache.py b/Lib/linecache.py
index 4838625f08..89383ea27a 100644
--- a/Lib/linecache.py
+++ b/Lib/linecache.py
@@ -78,7 +78,7 @@ def updatecache(filename, module_globals=None):
fullname = filename
try:
stat = os.stat(fullname)
- except os.error, msg:
+ except os.error as msg:
basename = os.path.split(filename)[1]
# Try for a __loader__, if available
@@ -128,7 +128,7 @@ def updatecache(filename, module_globals=None):
fp = open(fullname, 'rU')
lines = fp.readlines()
fp.close()
- except IOError, msg:
+ except IOError as msg:
## print '*** Cannot open', fullname, ':', msg
return []
size, mtime = stat.st_size, stat.st_mtime
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index a9970d023f..41d577f694 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -288,7 +288,7 @@ def listen(port=DEFAULT_LOGGING_CONFIG_PORT):
except:
traceback.print_exc()
os.remove(file)
- except socket.error, e:
+ except socket.error as e:
if type(e.args) != types.TupleType:
raise
else:
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 8d1df4ba4e..2293a6c573 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -258,7 +258,7 @@ class Maildir(Mailbox):
os.remove(tmp_file.name)
else:
os.rename(tmp_file.name, dest)
- except OSError, e:
+ except OSError as e:
os.remove(tmp_file.name)
if e.errno == errno.EEXIST:
raise ExternalClashError('Name clash with existing message: %s'
@@ -280,7 +280,7 @@ class Maildir(Mailbox):
self.remove(key)
except KeyError:
pass
- except OSError, e:
+ except OSError as e:
if e.errno != errno.ENOENT:
raise
@@ -437,12 +437,12 @@ class Maildir(Mailbox):
path = os.path.join(self._path, 'tmp', uniq)
try:
os.stat(path)
- except OSError, e:
+ except OSError as e:
if e.errno == errno.ENOENT:
Maildir._count += 1
try:
return _create_carefully(path)
- except OSError, e:
+ except OSError as e:
if e.errno != errno.EEXIST:
raise
else:
@@ -495,7 +495,7 @@ class _singlefileMailbox(Mailbox):
Mailbox.__init__(self, path, factory, create)
try:
f = open(self._path, 'rb+')
- except IOError, e:
+ except IOError as e:
if e.errno == errno.ENOENT:
if create:
f = open(self._path, 'wb+')
@@ -605,7 +605,7 @@ class _singlefileMailbox(Mailbox):
self._file.close()
try:
os.rename(new_file.name, self._path)
- except OSError, e:
+ except OSError as e:
if e.errno == errno.EEXIST or \
(os.name == 'os2' and e.errno == errno.EACCES):
os.remove(self._path)
@@ -837,7 +837,7 @@ class MH(Mailbox):
path = os.path.join(self._path, str(key))
try:
f = open(path, 'rb+')
- except IOError, e:
+ except IOError as e:
if e.errno == errno.ENOENT:
raise KeyError('No message with key: %s' % key)
else:
@@ -859,7 +859,7 @@ class MH(Mailbox):
path = os.path.join(self._path, str(key))
try:
f = open(path, 'rb+')
- except IOError, e:
+ except IOError as e:
if e.errno == errno.ENOENT:
raise KeyError('No message with key: %s' % key)
else:
@@ -885,7 +885,7 @@ class MH(Mailbox):
f = open(os.path.join(self._path, str(key)), 'r+')
else:
f = open(os.path.join(self._path, str(key)), 'r')
- except IOError, e:
+ except IOError as e:
if e.errno == errno.ENOENT:
raise KeyError('No message with key: %s' % key)
else:
@@ -912,7 +912,7 @@ class MH(Mailbox):
f = open(os.path.join(self._path, str(key)), 'r+')
else:
f = open(os.path.join(self._path, str(key)), 'r')
- except IOError, e:
+ except IOError as e:
if e.errno == errno.ENOENT:
raise KeyError('No message with key: %s' % key)
else:
@@ -932,7 +932,7 @@ class MH(Mailbox):
"""Return a file-like representation or raise a KeyError."""
try:
f = open(os.path.join(self._path, str(key)), 'rb')
- except IOError, e:
+ except IOError as e:
if e.errno == errno.ENOENT:
raise KeyError('No message with key: %s' % key)
else:
@@ -1843,7 +1843,7 @@ def _lock_file(f, dotlock=True):
if fcntl:
try:
fcntl.lockf(f, fcntl.LOCK_EX | fcntl.LOCK_NB)
- except IOError, e:
+ except IOError as e:
if e.errno in (errno.EAGAIN, errno.EACCES):
raise ExternalClashError('lockf: lock unavailable: %s' %
f.name)
@@ -1853,7 +1853,7 @@ def _lock_file(f, dotlock=True):
try:
pre_lock = _create_temporary(f.name + '.lock')
pre_lock.close()
- except IOError, e:
+ except IOError as e:
if e.errno == errno.EACCES:
return # Without write access, just skip dotlocking.
else:
@@ -1866,7 +1866,7 @@ def _lock_file(f, dotlock=True):
else:
os.rename(pre_lock.name, f.name + '.lock')
dotlock_done = True
- except OSError, e:
+ except OSError as e:
if e.errno == errno.EEXIST or \
(os.name == 'os2' and e.errno == errno.EACCES):
os.remove(pre_lock.name)
diff --git a/Lib/mhlib.py b/Lib/mhlib.py
index 1a90375210..8ae6bad1ee 100644
--- a/Lib/mhlib.py
+++ b/Lib/mhlib.py
@@ -370,7 +370,7 @@ class Folder:
count = len(all)
try:
anchor = self._parseindex(head, all)
- except Error, msg:
+ except Error as msg:
seqs = self.getsequences()
if not head in seqs:
if not msg:
@@ -407,7 +407,7 @@ class Folder:
# Neither X:Y nor X-Y; must be a number or a (pseudo-)sequence
try:
n = self._parseindex(seq, all)
- except Error, msg:
+ except Error as msg:
seqs = self.getsequences()
if not seq in seqs:
if not msg:
@@ -471,7 +471,7 @@ class Folder:
pass
try:
os.rename(path, commapath)
- except os.error, msg:
+ except os.error as msg:
errors.append(msg)
else:
deleted.append(n)
@@ -499,7 +499,7 @@ class Folder:
try:
shutil.copy2(path, topath)
os.unlink(path)
- except (IOError, os.error), msg:
+ except (IOError, os.error) as msg:
errors.append(msg)
try:
os.unlink(topath)
@@ -989,7 +989,7 @@ def test():
'all'):
try:
do('f.parsesequence(%r)' % (seq,))
- except Error, msg:
+ except Error as msg:
print "Error:", msg
stuff = os.popen("pick %r 2>/dev/null" % (seq,)).read()
list = map(int, stuff.split())
diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py
index b0d2f18172..83071d4b8e 100644
--- a/Lib/mimetypes.py
+++ b/Lib/mimetypes.py
@@ -510,7 +510,7 @@ More than one type argument may be given.
try:
opts, args = getopt.getopt(sys.argv[1:], 'hle',
['help', 'lenient', 'extension'])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(1, msg)
strict = 1
diff --git a/Lib/modulefinder.py b/Lib/modulefinder.py
index 9c90d8d7b1..04c9abff8c 100644
--- a/Lib/modulefinder.py
+++ b/Lib/modulefinder.py
@@ -317,7 +317,7 @@ class ModuleFinder:
return
try:
self.import_hook(name, caller, level=level)
- except ImportError, msg:
+ except ImportError as msg:
self.msg(2, "ImportError:", str(msg))
self._add_badmodule(name, caller)
else:
@@ -328,7 +328,7 @@ class ModuleFinder:
continue
try:
self.import_hook(name, caller, [sub], level=level)
- except ImportError, msg:
+ except ImportError as msg:
self.msg(2, "ImportError:", str(msg))
fullname = name + "." + sub
self._add_badmodule(fullname, caller)
@@ -602,7 +602,7 @@ def test():
import getopt
try:
opts, args = getopt.getopt(sys.argv[1:], "dmp:qx:")
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
return
diff --git a/Lib/msilib/__init__.py b/Lib/msilib/__init__.py
index 9efef91273..b14bc324c7 100644
--- a/Lib/msilib/__init__.py
+++ b/Lib/msilib/__init__.py
@@ -111,7 +111,7 @@ def add_data(db, table, values):
raise TypeError, "Unsupported type %s" % field.__class__.__name__
try:
v.Modify(MSIMODIFY_INSERT, r)
- except Exception, e:
+ except Exception as e:
raise MSIError("Could not insert "+repr(values)+" into "+table)
r.ClearData()
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index cc51d1da82..6e6a2b6d0d 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -127,7 +127,7 @@ class NNTP:
except NNTPPermanentError:
# error 500, probably 'not implemented'
pass
- except NNTPTemporaryError, e:
+ except NNTPTemporaryError as e:
if user and e.response[:3] == '480':
# Need authorization before 'mode reader'
readermode_afterauth = 1
diff --git a/Lib/optparse.py b/Lib/optparse.py
index f8f643de1c..e1c675a220 100644
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -1376,7 +1376,7 @@ class OptionParser (OptionContainer):
try:
stop = self._process_args(largs, rargs, values)
- except (BadOptionError, OptionValueError), err:
+ except (BadOptionError, OptionValueError) as err:
self.error(str(err))
args = largs + rargs
diff --git a/Lib/os.py b/Lib/os.py
index 35f97fb351..9599cf3f12 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -163,7 +163,7 @@ def makedirs(name, mode=0777):
if head and tail and not path.exists(head):
try:
makedirs(head, mode)
- except OSError, e:
+ except OSError as e:
# be happy if someone already created the path
if e.errno != EEXIST:
raise
@@ -284,7 +284,7 @@ def walk(top, topdown=True, onerror=None):
# Note that listdir and error are globals in this module due
# to earlier import-*.
names = listdir(top)
- except error, err:
+ except error as err:
if onerror is not None:
onerror(err)
return
@@ -390,7 +390,7 @@ def _execvpe(file, args, env=None):
fullname = path.join(dir, file)
try:
func(fullname, *argrest)
- except error, e:
+ except error as e:
tb = sys.exc_info()[2]
if (e.errno != ENOENT and e.errno != ENOTDIR
and saved_exc is None):
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 88303d00c4..afe69d276f 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -330,7 +330,7 @@ class Pdb(bdb.Bdb, cmd.Cmd):
arg = arg[colon+1:].lstrip()
try:
lineno = int(arg)
- except ValueError, msg:
+ except ValueError as msg:
print >>self.stdout, '*** Bad lineno:', arg
return
else:
@@ -618,7 +618,7 @@ class Pdb(bdb.Bdb, cmd.Cmd):
self.curframe.f_lineno = arg
self.stack[self.curindex] = self.stack[self.curindex][0], arg
self.print_stack_entry(self.stack[self.curindex])
- except ValueError, e:
+ except ValueError as e:
print >>self.stdout, '*** Jump failed:', e
do_j = do_jump
diff --git a/Lib/pickle.py b/Lib/pickle.py
index b0b3aa1281..b32ee8358b 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -816,7 +816,7 @@ class Unpickler:
while 1:
key = read(1)
dispatch[key](self)
- except _Stop, stopinst:
+ except _Stop as stopinst:
return stopinst.value
# Return largest index k such that self.stack[k] is self.mark.
@@ -1018,7 +1018,7 @@ class Unpickler:
if not instantiated:
try:
value = klass(*args)
- except TypeError, err:
+ except TypeError as err:
raise TypeError, "in constructor for %s: %s" % (
klass.__name__, str(err)), sys.exc_info()[2]
self.append(value)
diff --git a/Lib/pkgutil.py b/Lib/pkgutil.py
index 37738e4a75..5b6b16995a 100644
--- a/Lib/pkgutil.py
+++ b/Lib/pkgutil.py
@@ -532,7 +532,7 @@ def extend_path(path, name):
if os.path.isfile(pkgfile):
try:
f = open(pkgfile)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write("Can't open %s: %s\n" %
(pkgfile, msg))
else:
diff --git a/Lib/plat-irix5/torgb.py b/Lib/plat-irix5/torgb.py
index 54c86c477d..02bcb53559 100755
--- a/Lib/plat-irix5/torgb.py
+++ b/Lib/plat-irix5/torgb.py
@@ -80,7 +80,7 @@ def _torgb(filename, temps):
fname = filename
try:
ftype = imghdr.what(fname)
- except IOError, msg:
+ except IOError as msg:
if type(msg) == type(()) and len(msg) == 2 and \
type(msg[0]) == type(0) and type(msg[1]) == type(''):
msg = msg[1]
diff --git a/Lib/plat-irix6/torgb.py b/Lib/plat-irix6/torgb.py
index 54c86c477d..02bcb53559 100644
--- a/Lib/plat-irix6/torgb.py
+++ b/Lib/plat-irix6/torgb.py
@@ -80,7 +80,7 @@ def _torgb(filename, temps):
fname = filename
try:
ftype = imghdr.what(fname)
- except IOError, msg:
+ except IOError as msg:
if type(msg) == type(()) and len(msg) == 2 and \
type(msg[0]) == type(0) and type(msg[1]) == type(''):
msg = msg[1]
diff --git a/Lib/plat-mac/EasyDialogs.py b/Lib/plat-mac/EasyDialogs.py
index 1bd46a8fb0..340e3edf56 100644
--- a/Lib/plat-mac/EasyDialogs.py
+++ b/Lib/plat-mac/EasyDialogs.py
@@ -651,7 +651,7 @@ def AskFileForOpen(
try:
rr = Nav.NavChooseFile(args)
good = 1
- except Nav.error, arg:
+ except Nav.error as arg:
if arg[0] != -128: # userCancelledErr
raise Nav.error, arg
return None
@@ -704,7 +704,7 @@ def AskFileForSave(
try:
rr = Nav.NavPutFile(args)
good = 1
- except Nav.error, arg:
+ except Nav.error as arg:
if arg[0] != -128: # userCancelledErr
raise Nav.error, arg
return None
@@ -764,7 +764,7 @@ def AskFolder(
try:
rr = Nav.NavChooseFolder(args)
good = 1
- except Nav.error, arg:
+ except Nav.error as arg:
if arg[0] != -128: # userCancelledErr
raise Nav.error, arg
return None
diff --git a/Lib/plat-mac/MiniAEFrame.py b/Lib/plat-mac/MiniAEFrame.py
index 569cd7bae0..1d990af1c5 100644
--- a/Lib/plat-mac/MiniAEFrame.py
+++ b/Lib/plat-mac/MiniAEFrame.py
@@ -70,7 +70,7 @@ class MiniApplication:
msg = "High Level Event: %r %r" % (code(message), code(h | (v<<16)))
try:
AE.AEProcessAppleEvent(event)
- except AE.Error, err:
+ except AE.Error as err:
print 'AE error: ', err
print 'in', msg
traceback.print_exc()
diff --git a/Lib/plat-mac/aetools.py b/Lib/plat-mac/aetools.py
index 55288bf429..7a52eb9a8e 100644
--- a/Lib/plat-mac/aetools.py
+++ b/Lib/plat-mac/aetools.py
@@ -57,7 +57,7 @@ aekeywords = [
def missed(ae):
try:
desc = ae.AEGetAttributeDesc('miss', 'keyw')
- except AE.Error, msg:
+ except AE.Error as msg:
return None
return desc.data
@@ -86,7 +86,7 @@ def unpackevent(ae, formodulename=""):
for key in aekeywords:
try:
desc = ae.AEGetAttributeDesc(key, '****')
- except (AE.Error, MacOS.Error), msg:
+ except (AE.Error, MacOS.Error) as msg:
if msg[0] != -1701 and msg[0] != -1704:
raise
continue
diff --git a/Lib/plat-mac/applesingle.py b/Lib/plat-mac/applesingle.py
index 76bdb0691c..fdd163d4f7 100644
--- a/Lib/plat-mac/applesingle.py
+++ b/Lib/plat-mac/applesingle.py
@@ -48,7 +48,7 @@ class AppleSingle(object):
header = fileobj.read(AS_HEADER_LENGTH)
try:
magic, version, ig, nentry = struct.unpack(AS_HEADER_FORMAT, header)
- except ValueError, arg:
+ except ValueError as arg:
raise Error, "Unpack header error: %s" % (arg,)
if verbose:
print 'Magic: 0x%8.8x' % (magic,)
@@ -65,7 +65,7 @@ class AppleSingle(object):
for hdr in headers:
try:
restype, offset, length = struct.unpack(AS_ENTRY_FORMAT, hdr)
- except ValueError, arg:
+ except ValueError as arg:
raise Error, "Unpack entry error: %s" % (arg,)
if verbose:
print "Fork %d, offset %d, length %d" % (restype, offset, length)
diff --git a/Lib/plat-mac/argvemulator.py b/Lib/plat-mac/argvemulator.py
index 2d66f1c748..fe9e8f8fcd 100644
--- a/Lib/plat-mac/argvemulator.py
+++ b/Lib/plat-mac/argvemulator.py
@@ -52,7 +52,7 @@ class ArgvCollector:
if what == kHighLevelEvent:
try:
AE.AEProcessAppleEvent(event)
- except AE.Error, err:
+ except AE.Error as err:
msg = "High Level Event: %r %r" % (hex(message), hex(h | (v<<16)))
print 'AE error: ', err
print 'in', msg
@@ -77,7 +77,7 @@ class ArgvCollector:
fsref = alias.FSResolveAlias(None)[0]
pathname = fsref.as_pathname()
sys.argv.append(pathname)
- except Exception, e:
+ except Exception as e:
print "argvemulator.py warning: can't unpack an open document event"
import traceback
traceback.print_exc()
diff --git a/Lib/plat-mac/buildtools.py b/Lib/plat-mac/buildtools.py
index 7c5d0f4402..4a0efbfb35 100644
--- a/Lib/plat-mac/buildtools.py
+++ b/Lib/plat-mac/buildtools.py
@@ -78,7 +78,7 @@ def process(template, filename, destname, copy_codefragment=0,
fp.close()
try:
code = compile(text + '\n', filename, "exec")
- except SyntaxError, arg:
+ except SyntaxError as arg:
raise BuildError, "Syntax error in script %s: %s" % (filename, arg)
except EOFError:
raise BuildError, "End-of-file in script %s" % (filename,)
diff --git a/Lib/plat-mac/bundlebuilder.py b/Lib/plat-mac/bundlebuilder.py
index d21fc3e5bc..d58adf25f5 100755
--- a/Lib/plat-mac/bundlebuilder.py
+++ b/Lib/plat-mac/bundlebuilder.py
@@ -764,7 +764,7 @@ def makedirs(dir):
directory. Don't moan if any path element already exists."""
try:
os.makedirs(dir)
- except OSError, why:
+ except OSError as why:
if why.errno != errno.EEXIST:
raise
diff --git a/Lib/plat-mac/gensuitemodule.py b/Lib/plat-mac/gensuitemodule.py
index 53c0a5270a..7d03d8f6e7 100644
--- a/Lib/plat-mac/gensuitemodule.py
+++ b/Lib/plat-mac/gensuitemodule.py
@@ -114,7 +114,7 @@ def main_interactive(interact=0, basepkgname='StdSuites'):
try:
processfile(filename, edit_modnames=edit_modnames, basepkgname=basepkgname,
verbose=sys.stderr)
- except MacOS.Error, arg:
+ except MacOS.Error as arg:
print "Error getting terminology:", arg
print "Retry, manually parsing resources"
processfile_fromresource(filename, edit_modnames=edit_modnames,
@@ -190,7 +190,7 @@ def processfile(fullname, output=None, basepkgname=None,
print >>verbose, "\nASKING FOR aete DICTIONARY IN", repr(fullname)
try:
aedescobj, launched = OSATerminology.GetAppTerminology(fullname)
- except MacOS.Error, arg:
+ except MacOS.Error as arg:
if arg[0] in (-1701, -192): # errAEDescNotFound, resNotFound
if verbose:
print >>verbose, "GetAppTerminology failed with errAEDescNotFound/resNotFound, trying manually"
@@ -244,7 +244,7 @@ def getappterminology(fullname, verbose=None):
talker = aetools.TalkTo(cr)
try:
talker._start()
- except (MacOS.Error, aetools.Error), arg:
+ except (MacOS.Error, aetools.Error) as arg:
if verbose:
print >>verbose, 'Warning: start() failed, continuing anyway:', arg
reply = talker.send("ascr", "gdte")
diff --git a/Lib/plat-mac/macresource.py b/Lib/plat-mac/macresource.py
index d5839a11df..91dfffa1c6 100644
--- a/Lib/plat-mac/macresource.py
+++ b/Lib/plat-mac/macresource.py
@@ -76,14 +76,14 @@ def open_pathname(pathname, verbose=0):
AppleSingle file"""
try:
refno = Res.FSpOpenResFile(pathname, 1)
- except Res.Error, arg:
+ except Res.Error as arg:
if arg[0] in (-37, -39):
# No resource fork. We may be on OSX, and this may be either
# a data-fork based resource file or a AppleSingle file
# from the CVS repository.
try:
refno = Res.FSOpenResourceFile(pathname, u'', 1)
- except Res.Error, arg:
+ except Res.Error as arg:
if arg[0] != -199:
# -199 is "bad resource map"
raise
@@ -103,14 +103,14 @@ def resource_pathname(pathname, verbose=0):
try:
refno = Res.FSpOpenResFile(pathname, 1)
Res.CloseResFile(refno)
- except Res.Error, arg:
+ except Res.Error as arg:
if arg[0] in (-37, -39):
# No resource fork. We may be on OSX, and this may be either
# a data-fork based resource file or a AppleSingle file
# from the CVS repository.
try:
refno = Res.FSOpenResourceFile(pathname, u'', 1)
- except Res.Error, arg:
+ except Res.Error as arg:
if arg[0] != -199:
# -199 is "bad resource map"
raise
diff --git a/Lib/plat-mac/pimp.py b/Lib/plat-mac/pimp.py
index ff696b14ef..6927ad7fac 100644
--- a/Lib/plat-mac/pimp.py
+++ b/Lib/plat-mac/pimp.py
@@ -76,7 +76,7 @@ def getDefaultDatabase(experimental=False):
url = DEFAULT_PIMPDATABASE_FMT % (PIMP_VERSION, status, pyvers, osname, rel, machine)
try:
urllib2.urlopen(url)
- except urllib2.HTTPError, arg:
+ except urllib2.HTTPError as arg:
pass
else:
break
@@ -589,13 +589,13 @@ class PimpPackage:
installTest = self._dict['Install-test'].strip() + '\n'
try:
exec(installTest, namespace)
- except ImportError, arg:
+ except ImportError as arg:
return "no", str(arg)
- except _scriptExc_NotInstalled, arg:
+ except _scriptExc_NotInstalled as arg:
return "no", str(arg)
- except _scriptExc_OldInstalled, arg:
+ except _scriptExc_OldInstalled as arg:
return "old", str(arg)
- except _scriptExc_BadInstalled, arg:
+ except _scriptExc_BadInstalled as arg:
return "bad", str(arg)
except:
sys.stderr.write("-------------------------------------\n")
diff --git a/Lib/plat-mac/terminalcommand.py b/Lib/plat-mac/terminalcommand.py
index 292f09c7d8..a2f008c8da 100644
--- a/Lib/plat-mac/terminalcommand.py
+++ b/Lib/plat-mac/terminalcommand.py
@@ -35,7 +35,7 @@ def run(command):
try:
theEvent.AESend(SEND_MODE, kAENormalPriority, kAEDefaultTimeout)
- except AE.Error, why:
+ except AE.Error as why:
if why[0] != -600: # Terminal.app not yet running
raise
os.system(START_TERMINAL)
diff --git a/Lib/platform.py b/Lib/platform.py
index 5fd13a3d5a..cf588191dd 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -404,10 +404,10 @@ def _syscmd_ver(system='',release='',version='',
raise os.error,'command failed'
# XXX How can I supress shell errors from being written
# to stderr ?
- except os.error,why:
+ except os.error as why:
#print 'Command %s failed: %s' % (cmd,why)
continue
- except IOError,why:
+ except IOError as why:
#print 'Command %s failed: %s' % (cmd,why)
continue
else:
diff --git a/Lib/poplib.py b/Lib/poplib.py
index 1cf114abc3..b7a7a8af75 100644
--- a/Lib/poplib.py
+++ b/Lib/poplib.py
@@ -86,7 +86,7 @@ class POP3:
try:
self.sock = socket.socket(af, socktype, proto)
self.sock.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
if self.sock:
self.sock.close()
self.sock = None
@@ -262,7 +262,7 @@ class POP3:
"""Signoff: commit changes on server, unlock mailbox, close connection."""
try:
resp = self._shortcmd('QUIT')
- except error_proto, val:
+ except error_proto as val:
resp = val
self.file.close()
self.sock.close()
@@ -347,7 +347,7 @@ class POP3_SSL(POP3):
try:
self.sock = socket.socket(af, socktype, proto)
self.sock.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
if self.sock:
self.sock.close()
self.sock = None
@@ -399,7 +399,7 @@ class POP3_SSL(POP3):
"""Signoff: commit changes on server, unlock mailbox, close connection."""
try:
resp = self._shortcmd('QUIT')
- except error_proto, val:
+ except error_proto as val:
resp = val
self.sock.close()
del self.sslobj, self.sock
diff --git a/Lib/pstats.py b/Lib/pstats.py
index ba0b8049f4..2b152c3127 100644
--- a/Lib/pstats.py
+++ b/Lib/pstats.py
@@ -618,7 +618,7 @@ if __name__ == '__main__':
if line:
try:
self.stats = Stats(line)
- except IOError, args:
+ except IOError as args:
print >> self.stream, args[1]
return
self.prompt = line + "% "
diff --git a/Lib/pty.py b/Lib/pty.py
index d3eb64f0a0..8c65313314 100644
--- a/Lib/pty.py
+++ b/Lib/pty.py
@@ -56,7 +56,7 @@ def _open_terminal():
else:
try:
tty_name, master_fd = sgi._getpty(os.O_RDWR, 0666, 0)
- except IOError, msg:
+ except IOError as msg:
raise os.error, msg
return master_fd, tty_name
for x in 'pqrstuvwxyzPQRST':
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 1cb41f1e0e..23c5d18b15 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -123,7 +123,7 @@ def compile(file, cfile=None, dfile=None, doraise=False):
codestring = codestring + '\n'
try:
codeobject = __builtin__.compile(codestring, dfile or file,'exec')
- except Exception,err:
+ except Exception as err:
py_exc = PyCompileError(err.__class__,err.args,dfile or file)
if doraise:
raise py_exc
@@ -157,7 +157,7 @@ def main(args=None):
for filename in args:
try:
compile(filename, doraise=True)
- except PyCompileError,err:
+ except PyCompileError as err:
sys.stderr.write(err.msg)
if __name__ == "__main__":
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index d1ab01c214..892e278248 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1479,7 +1479,7 @@ def doc(thing, title='Python Library Documentation: %s', forceload=0):
object = type(object)
desc += ' object'
pager(title % desc + '\n\n' + text.document(object, name))
- except (ImportError, ErrorDuringImport), value:
+ except (ImportError, ErrorDuringImport) as value:
print value
def writedoc(thing, forceload=0):
@@ -1491,7 +1491,7 @@ def writedoc(thing, forceload=0):
file.write(page)
file.close()
print 'wrote', name + '.html'
- except (ImportError, ErrorDuringImport), value:
+ except (ImportError, ErrorDuringImport) as value:
print value
def writedocs(dir, pkgpath='', done=None):
@@ -1920,7 +1920,7 @@ def serve(port, callback=None, completer=None):
if path and path != '.':
try:
obj = locate(path, forceload=1)
- except ErrorDuringImport, value:
+ except ErrorDuringImport as value:
self.send_document(path, html.escape(str(value)))
return
if obj:
@@ -2223,7 +2223,7 @@ def cli():
writedoc(arg)
else:
help.help(arg)
- except ErrorDuringImport, value:
+ except ErrorDuringImport as value:
print value
except (getopt.error, BadUsage):
diff --git a/Lib/quopri.py b/Lib/quopri.py
index 8788afc2f1..171a59e0ae 100755
--- a/Lib/quopri.py
+++ b/Lib/quopri.py
@@ -194,7 +194,7 @@ def main():
import getopt
try:
opts, args = getopt.getopt(sys.argv[1:], 'td')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stdout = sys.stderr
print msg
print "usage: quopri [-t | -d] [file] ..."
@@ -218,7 +218,7 @@ def main():
else:
try:
fp = open(file)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write("%s: can't open (%s)\n" % (file, msg))
sts = 1
continue
diff --git a/Lib/re.py b/Lib/re.py
index a33e34e4e1..7388e4bca3 100644
--- a/Lib/re.py
+++ b/Lib/re.py
@@ -229,7 +229,7 @@ def _compile(*key):
raise TypeError, "first argument must be string or compiled pattern"
try:
p = sre_compile.compile(pattern, flags)
- except error, v:
+ except error as v:
raise error, v # invalid expression
if len(_cache) >= _MAXCACHE:
_cache.clear()
@@ -244,7 +244,7 @@ def _compile_repl(*key):
repl, pattern = key
try:
p = sre_parse.parse_template(repl, pattern)
- except error, v:
+ except error as v:
raise error, v # invalid expression
if len(_cache_repl) >= _MAXCACHE:
_cache_repl.clear()
diff --git a/Lib/rexec.py b/Lib/rexec.py
index 37dff62e50..665f294dd4 100644
--- a/Lib/rexec.py
+++ b/Lib/rexec.py
@@ -551,7 +551,7 @@ def test():
if args and args[0] != '-':
try:
fp = open(args[0])
- except IOError, msg:
+ except IOError as msg:
print "%s: can't open file %r" % (sys.argv[0], args[0])
return 1
if fp.isatty():
@@ -566,7 +566,7 @@ def test():
r.s_apply(code.InteractiveConsole.runcode, (self, co))
try:
RestrictedConsole(r.modules['__main__'].__dict__).interact()
- except SystemExit, n:
+ except SystemExit as n:
return n
else:
text = fp.read()
@@ -574,7 +574,7 @@ def test():
c = compile(text, fp.name, 'exec')
try:
r.s_exec(c)
- except SystemExit, n:
+ except SystemExit as n:
return n
except:
traceback.print_exc()
diff --git a/Lib/sgmllib.py b/Lib/sgmllib.py
index 3ab57c2307..1574f44a9d 100644
--- a/Lib/sgmllib.py
+++ b/Lib/sgmllib.py
@@ -530,7 +530,7 @@ def test(args = None):
else:
try:
f = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print file, ":", msg
sys.exit(1)
diff --git a/Lib/shutil.py b/Lib/shutil.py
index c3ff687bff..7da5cac7d7 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -121,18 +121,18 @@ def copytree(src, dst, symlinks=False):
else:
copy2(srcname, dstname)
# XXX What about devices, sockets etc.?
- except (IOError, os.error), why:
+ except (IOError, os.error) as why:
errors.append((srcname, dstname, str(why)))
# catch the Error from the recursive copytree so that we can
# continue with other files
- except Error, err:
+ except Error as err:
errors.extend(err.args[0])
try:
copystat(src, dst)
except WindowsError:
# can't copy file access times on Windows
pass
- except OSError, why:
+ except OSError as why:
errors.extend((src, dst, str(why)))
if errors:
raise Error, errors
@@ -157,7 +157,7 @@ def rmtree(path, ignore_errors=False, onerror=None):
names = []
try:
names = os.listdir(path)
- except os.error, err:
+ except os.error as err:
onerror(os.listdir, path, sys.exc_info())
for name in names:
fullname = os.path.join(path, name)
@@ -170,7 +170,7 @@ def rmtree(path, ignore_errors=False, onerror=None):
else:
try:
os.remove(fullname)
- except os.error, err:
+ except os.error as err:
onerror(os.remove, fullname, sys.exc_info())
try:
os.rmdir(path)
diff --git a/Lib/site.py b/Lib/site.py
index 1513818abd..5b03b5e802 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -391,7 +391,7 @@ def execsitecustomize():
import sitecustomize
except ImportError:
pass
- except Exception, err:
+ except Exception as err:
if os.environ.get("PYTHONVERBOSE"):
raise
sys.stderr.write(
diff --git a/Lib/smtpd.py b/Lib/smtpd.py
index c656ec7639..3b818564c0 100755
--- a/Lib/smtpd.py
+++ b/Lib/smtpd.py
@@ -357,10 +357,10 @@ class PureProxy(SMTPServer):
refused = s.sendmail(mailfrom, rcpttos, data)
finally:
s.quit()
- except smtplib.SMTPRecipientsRefused, e:
+ except smtplib.SMTPRecipientsRefused as e:
print >> DEBUGSTREAM, 'got SMTPRecipientsRefused'
refused = e.recipients
- except (socket.error, smtplib.SMTPException), e:
+ except (socket.error, smtplib.SMTPException) as e:
print >> DEBUGSTREAM, 'got', e.__class__
# All recipients were refused. If the exception had an associated
# error code, use it. Otherwise,fake it with a non-triggering
@@ -464,7 +464,7 @@ def parseargs():
opts, args = getopt.getopt(
sys.argv[1:], 'nVhc:d',
['class=', 'nosetuid', 'version', 'help', 'debug'])
- except getopt.error, e:
+ except getopt.error as e:
usage(1, e)
options = Options()
@@ -528,7 +528,7 @@ if __name__ == '__main__':
nobody = pwd.getpwnam('nobody')[2]
try:
os.setuid(nobody)
- except OSError, e:
+ except OSError as e:
if e.errno != errno.EPERM: raise
print >> sys.stderr, \
'Cannot setuid "nobody"; try running with -n option.'
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index a7305ce92e..a96082afb7 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -306,7 +306,7 @@ class SMTP:
af, socktype, proto, canonname, sa = res
try:
self._get_socket(af,socktype,proto,sa)
- except socket.error, msg:
+ except socket.error as msg:
if self.debuglevel > 0: print>>stderr, 'connect fail:', msg
if self.sock:
self.sock.close()
diff --git a/Lib/sqlite3/test/dbapi.py b/Lib/sqlite3/test/dbapi.py
index b08da9c5fa..6fe93abe6c 100644
--- a/Lib/sqlite3/test/dbapi.py
+++ b/Lib/sqlite3/test/dbapi.py
@@ -326,7 +326,7 @@ class CursorTests(unittest.TestCase):
self.fail("should have raised a TypeError")
except TypeError:
return
- except Exception, e:
+ except Exception as e:
print "raised", e.__class__
self.fail("raised wrong exception.")
diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py
index 761bdaa6b7..d67028fe71 100644
--- a/Lib/sqlite3/test/hooks.py
+++ b/Lib/sqlite3/test/hooks.py
@@ -36,7 +36,7 @@ class CollationTests(unittest.TestCase):
try:
con.create_collation("X", 42)
self.fail("should have raised a TypeError")
- except TypeError, e:
+ except TypeError as e:
self.failUnlessEqual(e.args[0], "parameter must be callable")
def CheckCreateCollationNotAscii(self):
@@ -44,7 +44,7 @@ class CollationTests(unittest.TestCase):
try:
con.create_collation("collä", cmp)
self.fail("should have raised a ProgrammingError")
- except sqlite.ProgrammingError, e:
+ except sqlite.ProgrammingError as e:
pass
def CheckCollationIsUsed(self):
@@ -73,7 +73,7 @@ class CollationTests(unittest.TestCase):
try:
result = con.execute(sql).fetchall()
self.fail("should have raised an OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
self.failUnlessEqual(e.args[0].lower(), "no such collation sequence: mycoll")
def CheckCollationRegisterTwice(self):
@@ -101,7 +101,7 @@ class CollationTests(unittest.TestCase):
try:
con.execute("select 'a' as x union select 'b' as x order by x collate mycoll")
self.fail("should have raised an OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
if not e.args[0].startswith("no such collation sequence"):
self.fail("wrong OperationalError raised")
diff --git a/Lib/sqlite3/test/userfunctions.py b/Lib/sqlite3/test/userfunctions.py
index e455fb69bd..a7cdcaecf1 100644
--- a/Lib/sqlite3/test/userfunctions.py
+++ b/Lib/sqlite3/test/userfunctions.py
@@ -205,7 +205,7 @@ class FunctionTests(unittest.TestCase):
cur.execute("select raiseexception()")
cur.fetchone()
self.fail("should have raised OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
self.failUnlessEqual(e.args[0], 'user-defined function raised exception')
def CheckParamString(self):
@@ -279,7 +279,7 @@ class AggregateTests(unittest.TestCase):
try:
cur.execute("select nostep(t) from test")
self.fail("should have raised an AttributeError")
- except AttributeError, e:
+ except AttributeError as e:
self.failUnlessEqual(e.args[0], "'AggrNoStep' object has no attribute 'step'")
def CheckAggrNoFinalize(self):
@@ -288,7 +288,7 @@ class AggregateTests(unittest.TestCase):
cur.execute("select nofinalize(t) from test")
val = cur.fetchone()[0]
self.fail("should have raised an OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
self.failUnlessEqual(e.args[0], "user-defined aggregate's 'finalize' method raised error")
def CheckAggrExceptionInInit(self):
@@ -297,7 +297,7 @@ class AggregateTests(unittest.TestCase):
cur.execute("select excInit(t) from test")
val = cur.fetchone()[0]
self.fail("should have raised an OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
self.failUnlessEqual(e.args[0], "user-defined aggregate's '__init__' method raised error")
def CheckAggrExceptionInStep(self):
@@ -306,7 +306,7 @@ class AggregateTests(unittest.TestCase):
cur.execute("select excStep(t) from test")
val = cur.fetchone()[0]
self.fail("should have raised an OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
self.failUnlessEqual(e.args[0], "user-defined aggregate's 'step' method raised error")
def CheckAggrExceptionInFinalize(self):
@@ -315,7 +315,7 @@ class AggregateTests(unittest.TestCase):
cur.execute("select excFinalize(t) from test")
val = cur.fetchone()[0]
self.fail("should have raised an OperationalError")
- except sqlite.OperationalError, e:
+ except sqlite.OperationalError as e:
self.failUnlessEqual(e.args[0], "user-defined aggregate's 'finalize' method raised error")
def CheckAggrCheckParamStr(self):
@@ -384,7 +384,7 @@ class AuthorizerTests(unittest.TestCase):
def CheckTableAccess(self):
try:
self.con.execute("select * from t2")
- except sqlite.DatabaseError, e:
+ except sqlite.DatabaseError as e:
if not e.args[0].endswith("prohibited"):
self.fail("wrong exception text: %s" % e.args[0])
return
@@ -393,7 +393,7 @@ class AuthorizerTests(unittest.TestCase):
def CheckColumnAccess(self):
try:
self.con.execute("select c2 from t1")
- except sqlite.DatabaseError, e:
+ except sqlite.DatabaseError as e:
if not e.args[0].endswith("prohibited"):
self.fail("wrong exception text: %s" % e.args[0])
return
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 62b70baaa9..f5800fb0db 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -792,7 +792,7 @@ class Popen(object):
env,
cwd,
startupinfo)
- except pywintypes.error, e:
+ except pywintypes.error as e:
# Translate pywintypes.error to WindowsError, which is
# a subclass of OSError. FIXME: We should really
# translate errno using _sys_errlist (or simliar), but
@@ -1190,7 +1190,7 @@ def _demo_posix():
print "Trying a weird file..."
try:
print Popen(["/this/path/does/not/exist"]).communicate()
- except OSError, e:
+ except OSError as e:
if e.errno == errno.ENOENT:
print "The file didn't exist. I thought so..."
print "Child traceback:"
diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py
index 76665ac91a..1d2c6db2bc 100755
--- a/Lib/tabnanny.py
+++ b/Lib/tabnanny.py
@@ -43,7 +43,7 @@ def main():
global verbose, filename_only
try:
opts, args = getopt.getopt(sys.argv[1:], "qv")
- except getopt.error, msg:
+ except getopt.error as msg:
errprint(msg)
return
for o, a in opts:
@@ -95,7 +95,7 @@ def check(file):
try:
f = open(file)
- except IOError, msg:
+ except IOError as msg:
errprint("%r: I/O Error: %s" % (file, msg))
return
@@ -105,15 +105,15 @@ def check(file):
try:
process_tokens(tokenize.generate_tokens(f.readline))
- except tokenize.TokenError, msg:
+ except tokenize.TokenError as msg:
errprint("%r: Token Error: %s" % (file, msg))
return
- except IndentationError, msg:
+ except IndentationError as msg:
errprint("%r: Indentation Error: %s" % (file, msg))
return
- except NannyNag, nag:
+ except NannyNag as nag:
badline = nag.get_lineno()
line = nag.get_line()
if verbose:
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 3ffdff360b..2088e5c288 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1540,7 +1540,7 @@ class TarFile(object):
self.chown(tarinfo, path)
self.utime(tarinfo, path)
self.chmod(tarinfo, path)
- except ExtractError, e:
+ except ExtractError as e:
if self.errorlevel > 1:
raise
else:
@@ -1565,7 +1565,7 @@ class TarFile(object):
try:
self._extract_member(tarinfo, os.path.join(path, tarinfo.name))
- except EnvironmentError, e:
+ except EnvironmentError as e:
if self.errorlevel > 0:
raise
else:
@@ -1573,7 +1573,7 @@ class TarFile(object):
self._dbg(1, "tarfile: %s" % e.strerror)
else:
self._dbg(1, "tarfile: %s %r" % (e.strerror, e.filename))
- except ExtractError, e:
+ except ExtractError as e:
if self.errorlevel > 1:
raise
else:
@@ -1681,7 +1681,7 @@ class TarFile(object):
"""
try:
os.mkdir(targetpath)
- except EnvironmentError, e:
+ except EnvironmentError as e:
if e.errno != errno.EEXIST:
raise
@@ -1745,11 +1745,11 @@ class TarFile(object):
try:
self._extract_member(self.getmember(linkpath), targetpath)
- except (EnvironmentError, KeyError), e:
+ except (EnvironmentError, KeyError) as e:
linkpath = os.path.normpath(linkpath)
try:
shutil.copy2(linkpath, targetpath)
- except EnvironmentError, e:
+ except EnvironmentError as e:
raise IOError("link could not be created")
def chown(self, tarinfo, targetpath):
@@ -1777,7 +1777,7 @@ class TarFile(object):
else:
if sys.platform != "os2emx":
os.chown(targetpath, u, g)
- except EnvironmentError, e:
+ except EnvironmentError as e:
raise ExtractError("could not change owner")
def chmod(self, tarinfo, targetpath):
@@ -1786,7 +1786,7 @@ class TarFile(object):
if hasattr(os, 'chmod'):
try:
os.chmod(targetpath, tarinfo.mode)
- except EnvironmentError, e:
+ except EnvironmentError as e:
raise ExtractError("could not change mode")
def utime(self, tarinfo, targetpath):
@@ -1800,7 +1800,7 @@ class TarFile(object):
return
try:
os.utime(targetpath, (tarinfo.mtime, tarinfo.mtime))
- except EnvironmentError, e:
+ except EnvironmentError as e:
raise ExtractError("could not change modification time")
#--------------------------------------------------------------------------
@@ -1833,7 +1833,7 @@ class TarFile(object):
tarinfo = self.proc_member(tarinfo)
- except HeaderError, e:
+ except HeaderError as e:
if self.ignore_zeros:
self._dbg(2, "0x%X: %s" % (self.offset, e))
self.offset += BLOCKSIZE
diff --git a/Lib/telnetlib.py b/Lib/telnetlib.py
index a13e85cc98..4964d59093 100644
--- a/Lib/telnetlib.py
+++ b/Lib/telnetlib.py
@@ -227,7 +227,7 @@ class Telnet:
try:
self.sock = socket.socket(af, socktype, proto)
self.sock.connect(sa)
- except socket.error, msg:
+ except socket.error as msg:
if self.sock:
self.sock.close()
self.sock = None
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 2e8cd6d7d5..f4f10581bd 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -201,7 +201,7 @@ def _get_default_tempdir():
_os.unlink(filename)
del fp, fd
return dir
- except (OSError, IOError), e:
+ except (OSError, IOError) as e:
if e[0] != _errno.EEXIST:
break # no point trying more names in this directory
pass
@@ -236,7 +236,7 @@ def _mkstemp_inner(dir, pre, suf, flags):
fd = _os.open(file, flags, 0600)
_set_cloexec(fd)
return (fd, _os.path.abspath(file))
- except OSError, e:
+ except OSError as e:
if e.errno == _errno.EEXIST:
continue # try again
raise
@@ -327,7 +327,7 @@ def mkdtemp(suffix="", prefix=template, dir=None):
try:
_os.mkdir(file, 0700)
return file
- except OSError, e:
+ except OSError as e:
if e.errno == _errno.EEXIST:
continue # try again
raise
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index 30c1e7c59d..0f1386efb0 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -585,7 +585,7 @@ class AbstractPickleTests(unittest.TestCase):
badpickle = pickle.PROTO + chr(oob) + build_none
try:
self.loads(badpickle)
- except ValueError, detail:
+ except ValueError as detail:
self.failUnless(str(detail).startswith(
"unsupported pickle protocol"))
else:
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 8c0f2e4a0e..ce39649968 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -211,7 +211,7 @@ def main(tests=None, testdir=None, verbose=0, quiet=False, generate=False,
'coverdir=', 'nocoverdir', 'runleaks',
'huntrleaks=', 'verbose2', 'memlimit=',
])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(2, msg)
# Defaults
@@ -556,19 +556,19 @@ def runtest_inner(test, generate, verbose, quiet,
dash_R(the_module, test, indirect_test, huntrleaks)
finally:
sys.stdout = save_stdout
- except test_support.ResourceDenied, msg:
+ except test_support.ResourceDenied as msg:
if not quiet:
print test, "skipped --", msg
sys.stdout.flush()
return -2
- except (ImportError, test_support.TestSkipped), msg:
+ except (ImportError, test_support.TestSkipped) as msg:
if not quiet:
print test, "skipped --", msg
sys.stdout.flush()
return -1
except KeyboardInterrupt:
raise
- except test_support.TestFailed, msg:
+ except test_support.TestFailed as msg:
print "test", test, "failed --", msg
sys.stdout.flush()
return 0
@@ -640,7 +640,7 @@ def cleanup_test_droppings(testname, verbose):
print "%r left behind %s %r" % (testname, kind, name)
try:
nuker(name)
- except Exception, msg:
+ except Exception as msg:
print >> sys.stderr, ("%r left behind %s %r and it couldn't be "
"removed: %s" % (testname, kind, name, msg))
diff --git a/Lib/test/sortperf.py b/Lib/test/sortperf.py
index cc83ee43d9..3c95b89182 100644
--- a/Lib/test/sortperf.py
+++ b/Lib/test/sortperf.py
@@ -37,7 +37,7 @@ def randfloats(n):
os.unlink(fn)
except os.error:
pass
- except IOError, msg:
+ except IOError as msg:
print "can't write", fn, ":", msg
else:
result = marshal.load(fp)
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 1aa68dedd0..2116ea4ca8 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -970,7 +970,7 @@ class MixinStrUnicodeUserStringTest:
def f():
yield 4 + ""
self.fixtype(' ').join(f())
- except TypeError, e:
+ except TypeError as e:
if '+' not in str(e):
self.fail('join() ate exception message')
else:
diff --git a/Lib/test/test_bool.py b/Lib/test/test_bool.py
index 8121e03e06..954423f1e9 100644
--- a/Lib/test/test_bool.py
+++ b/Lib/test/test_bool.py
@@ -373,13 +373,11 @@ class BoolTest(unittest.TestCase):
return badval
try:
bool(A())
- except (Exception), e_bool:
- pass
- try:
- len(A())
- except (Exception), e_len:
- pass
- self.assertEqual(str(e_bool), str(e_len))
+ except (Exception) as e_bool:
+ try:
+ len(A())
+ except (Exception) as e_len:
+ self.assertEqual(str(e_bool), str(e_len))
def test_main():
test_support.run_unittest(BoolTest)
diff --git a/Lib/test/test_cfgparser.py b/Lib/test/test_cfgparser.py
index 3979f15455..1b288b4426 100644
--- a/Lib/test/test_cfgparser.py
+++ b/Lib/test/test_cfgparser.py
@@ -181,7 +181,7 @@ class TestCaseBase(unittest.TestCase):
def get_error(self, exc, section, option):
try:
self.cf.get(section, option)
- except exc, e:
+ except exc as e:
return e
else:
self.fail("expected exception type %s.%s"
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index 52e5e913f4..9cf6a121ac 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -50,7 +50,7 @@ def do_test(buf, method):
raise ValueError, "unknown method: %s" % method
try:
return cgi.parse(fp, env, strict_parsing=1)
- except StandardError, err:
+ except StandardError as err:
return ComparableException(err)
# A list of test cases. Each test case is a a two-tuple that contains
diff --git a/Lib/test/test_class.py b/Lib/test/test_class.py
index 3201dd8c5d..1758fd469a 100644
--- a/Lib/test/test_class.py
+++ b/Lib/test/test_class.py
@@ -372,7 +372,7 @@ class A:
a = property(booh)
try:
A().a # Raised AttributeError: A instance has no attribute 'a'
-except AttributeError, x:
+except AttributeError as x:
if str(x) != "booh":
print "attribute error for A().a got masked:", str(x)
@@ -384,7 +384,7 @@ class I:
__init__ = property(booh)
try:
I() # In debug mode, printed XXX undetected error and raises AttributeError
-except AttributeError, x:
+except AttributeError as x:
pass
else:
print "attribute error for I.__init__ got masked"
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index 3c800f8777..0711923714 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -595,7 +595,7 @@ class UnicodeInternalTest(unittest.TestCase):
if sys.maxunicode > 0xffff:
try:
"\x00\x00\x00\x00\x00\x11\x11\x00".decode("unicode_internal")
- except UnicodeDecodeError, ex:
+ except UnicodeDecodeError as ex:
self.assertEquals("unicode_internal", ex.encoding)
self.assertEquals("\x00\x00\x00\x00\x00\x11\x11\x00", ex.object)
self.assertEquals(4, ex.start)
@@ -782,7 +782,7 @@ class NameprepTest(unittest.TestCase):
prepped = unicode(prepped, "utf-8")
try:
self.assertEquals(nameprep(orig), prepped)
- except Exception,e:
+ except Exception as e:
raise test_support.TestFailed("Test 3.%d: %s" % (pos+1, str(e)))
class IDNACodecTest(unittest.TestCase):
diff --git a/Lib/test/test_compiler.py b/Lib/test/test_compiler.py
index 2ecd093d84..ebccb36e0e 100644
--- a/Lib/test/test_compiler.py
+++ b/Lib/test/test_compiler.py
@@ -44,7 +44,7 @@ class CompilerTest(unittest.TestCase):
else:
try:
compiler.compile(buf, basename, "exec")
- except Exception, e:
+ except Exception as e:
args = list(e.args)
args[0] += "[in file %s]" % basename
e.args = tuple(args)
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py
index 747785d54f..914242850e 100644
--- a/Lib/test/test_contextlib.py
+++ b/Lib/test/test_contextlib.py
@@ -76,7 +76,7 @@ class ContextManagerTestCase(unittest.TestCase):
state.append(1)
try:
yield 42
- except ZeroDivisionError, e:
+ except ZeroDivisionError as e:
state.append(e.args[0])
self.assertEqual(state, [1, 42, 999])
with woohoo() as x:
diff --git a/Lib/test/test_cookielib.py b/Lib/test/test_cookielib.py
index 544f29fbf4..9b06869cea 100644
--- a/Lib/test/test_cookielib.py
+++ b/Lib/test/test_cookielib.py
@@ -257,7 +257,7 @@ class FileCookieJarTests(TestCase):
try:
c.load(filename="for this test to work, a file with this "
"filename should not exist")
- except IOError, exc:
+ except IOError as exc:
# exactly IOError, not LoadError
self.assertEqual(exc.__class__, IOError)
else:
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index ed92bfe0d9..0a9db4e244 100755
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -16,7 +16,8 @@ def cleanup():
for suffix in ['', '.pag', '.dir', '.db']:
try:
os.unlink(filename + suffix)
- except OSError, (errno, strerror):
+ except OSError as e:
+ (errno, strerror) = e
# if we can't delete the file because of permissions,
# nothing will work, so skip the test
if errno == 1:
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index 50df93d7e3..f9a9e82701 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -146,7 +146,7 @@ class DecimalTest(unittest.TestCase):
print 'Error in test cases:'
print line
continue
- except DecimalException, exception:
+ except DecimalException as exception:
#Exception raised where there shoudn't have been one.
self.fail('Exception "'+exception.__class__.__name__ + '" raised on line '+line)
@@ -238,7 +238,7 @@ class DecimalTest(unittest.TestCase):
funct(self.context.create_decimal(v))
except error:
pass
- except Signals, e:
+ except Signals as e:
self.fail("Raised %s in %s when %s disabled" % \
(e, s, error))
else:
@@ -258,7 +258,7 @@ class DecimalTest(unittest.TestCase):
funct(*vals)
except error:
pass
- except Signals, e:
+ except Signals as e:
self.fail("Raised %s in %s when %s disabled" % \
(e, s, error))
else:
@@ -268,7 +268,7 @@ class DecimalTest(unittest.TestCase):
result = str(funct(*vals))
if fname == 'same_quantum':
result = str(int(eval(result))) # 'True', 'False' -> '1', '0'
- except Signals, error:
+ except Signals as error:
self.fail("Raised %s in %s" % (error, s))
except: #Catch any error long enough to state the test case.
print "ERROR:", s
diff --git a/Lib/test/test_defaultdict.py b/Lib/test/test_defaultdict.py
index 134b5a8cb2..602e0d929f 100644
--- a/Lib/test/test_defaultdict.py
+++ b/Lib/test/test_defaultdict.py
@@ -43,7 +43,7 @@ class TestDefaultDict(unittest.TestCase):
self.assertEqual(d2.default_factory, None)
try:
d2[15]
- except KeyError, err:
+ except KeyError as err:
self.assertEqual(err.args, (15,))
else:
self.fail("d2[15] didn't raise KeyError")
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 2968e3d7d0..96ff9f3940 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -945,7 +945,7 @@ def mro_disagreement():
def raises(exc, expected, callable, *args):
try:
callable(*args)
- except exc, msg:
+ except exc as msg:
if not str(msg).startswith(expected):
raise TestFailed, "Message %r, expected %r" % (str(msg),
expected)
@@ -1813,7 +1813,7 @@ def weakrefs():
no = NoWeak()
try:
weakref.ref(no)
- except TypeError, msg:
+ except TypeError as msg:
verify(str(msg).find("weak reference") >= 0)
else:
verify(0, "weakref.ref(no) should be illegal")
@@ -1866,7 +1866,7 @@ def properties():
for attr in "__doc__", "fget", "fset", "fdel":
try:
setattr(raw, attr, 42)
- except TypeError, msg:
+ except TypeError as msg:
if str(msg).find('readonly') < 0:
raise TestFailed("when setting readonly attr %r on a "
"property, got unexpected TypeError "
@@ -2416,7 +2416,7 @@ f = t(%r, 'w') # rexec can't catch this by itself
for code in code1, code2, code3:
try:
sandbox.r_exec(code)
- except IOError, msg:
+ except IOError as msg:
if str(msg).find("restricted") >= 0:
outcome = "OK"
else:
@@ -3523,7 +3523,7 @@ def test_mutable_bases():
try:
D.__bases__ = ()
- except TypeError, msg:
+ except TypeError as msg:
if str(msg) == "a new-style class can't have only classic bases":
raise TestFailed, "wrong error message for .__bases__ = ()"
else:
diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index ff6ccde204..c7fa15da25 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -414,7 +414,7 @@ class DictTest(unittest.TestCase):
e = E()
try:
e[42]
- except RuntimeError, err:
+ except RuntimeError as err:
self.assertEqual(err.args, (42,))
else:
self.fail_("e[42] didn't raise RuntimeError")
@@ -425,7 +425,7 @@ class DictTest(unittest.TestCase):
f = F()
try:
f[42]
- except KeyError, err:
+ except KeyError as err:
self.assertEqual(err.args, (42,))
else:
self.fail_("f[42] didn't raise KeyError")
@@ -434,7 +434,7 @@ class DictTest(unittest.TestCase):
g = G()
try:
g[42]
- except KeyError, err:
+ except KeyError as err:
self.assertEqual(err.args, (42,))
else:
self.fail_("g[42] didn't raise KeyError")
@@ -444,7 +444,7 @@ class DictTest(unittest.TestCase):
d = {}
try:
d[(1,)]
- except KeyError, e:
+ except KeyError as e:
self.assertEqual(e.args, ((1,),))
else:
self.fail("missing KeyError")
diff --git a/Lib/test/test_dl.py b/Lib/test/test_dl.py
index b70a4cfee2..9c70427070 100755
--- a/Lib/test/test_dl.py
+++ b/Lib/test/test_dl.py
@@ -18,7 +18,7 @@ for s, func in sharedlibs:
if verbose:
print 'trying to open:', s,
l = dl.open(s)
- except dl.error, err:
+ except dl.error as err:
if verbose:
print 'failed', repr(str(err))
pass
diff --git a/Lib/test/test_eof.py b/Lib/test/test_eof.py
index aae35182bd..1187d077fd 100644
--- a/Lib/test/test_eof.py
+++ b/Lib/test/test_eof.py
@@ -11,7 +11,7 @@ class EOFTestCase(unittest.TestCase):
try:
eval("""'this is a test\
""")
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(str(msg), expect)
else:
raise test_support.TestFailed
@@ -20,7 +20,7 @@ class EOFTestCase(unittest.TestCase):
expect = "EOF while scanning triple-quoted string (<string>, line 1)"
try:
eval("""'''this is a test""")
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(str(msg), expect)
else:
raise test_support.TestFailed
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 7619aae3a2..4a6b8c5cff 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -21,17 +21,17 @@ class ExceptionTests(unittest.TestCase):
try:
import exceptions
reload(exceptions)
- except ImportError, e:
+ except ImportError as e:
self.fail("reloading exceptions: %s" % e)
def raise_catch(self, exc, excname):
try:
raise exc, "spam"
- except exc, err:
+ except exc as err:
buf1 = str(err)
try:
raise exc("spam")
- except exc, err:
+ except exc as err:
buf2 = str(err)
self.assertEquals(buf1, buf2)
self.assertEquals(exc.__name__, excname)
@@ -115,7 +115,7 @@ class ExceptionTests(unittest.TestCase):
self.raise_catch(Exception, "Exception")
try: x = 1/0
- except Exception, e: pass
+ except Exception as e: pass
def testSyntaxErrorMessage(self):
# make sure the right exception message is raised for each of
@@ -124,7 +124,7 @@ class ExceptionTests(unittest.TestCase):
def ckmsg(src, msg):
try:
compile(src, '<fragment>', 'exec')
- except SyntaxError, e:
+ except SyntaxError as e:
if e.msg != msg:
self.fail("expected %s, got %s" % (msg, e.msg))
else:
@@ -163,7 +163,7 @@ class ExceptionTests(unittest.TestCase):
import _testcapi
try:
_testcapi.raise_exception(BadException, 1)
- except TypeError, err:
+ except TypeError as err:
exc, err, tb = sys.exc_info()
co = tb.tb_frame.f_code
self.assertEquals(co.co_name, "test_capi1")
@@ -175,7 +175,7 @@ class ExceptionTests(unittest.TestCase):
import _testcapi
try:
_testcapi.raise_exception(BadException, 0)
- except RuntimeError, err:
+ except RuntimeError as err:
exc, err, tb = sys.exc_info()
co = tb.tb_frame.f_code
self.assertEquals(co.co_name, "__init__")
@@ -285,7 +285,7 @@ class ExceptionTests(unittest.TestCase):
for exc, args, expected in exceptionList:
try:
raise exc(*args)
- except BaseException, e:
+ except BaseException as e:
if type(e) is not exc:
raise
# Verify module name
@@ -344,6 +344,16 @@ class ExceptionTests(unittest.TestCase):
self.failUnless(str(Exception('a')))
self.failUnless(unicode(Exception(u'a')))
+ def testExceptionCleanup(self):
+ # Make sure "except V as N" exceptions are cleaned up properly
+
+ try:
+ raise Exception()
+ except Exception as e:
+ self.failUnless(e)
+ del e
+ self.failIf('e' in locals())
+
def test_main():
run_unittest(ExceptionTests)
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index 284dbb2143..11cf43afb9 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -35,21 +35,21 @@ else:
try:
g()
-except TypeError, err:
+except TypeError as err:
print "TypeError:", err
else:
print "should raise TypeError: not enough arguments; expected 1, got 0"
try:
g(*())
-except TypeError, err:
+except TypeError as err:
print "TypeError:", err
else:
print "should raise TypeError: not enough arguments; expected 1, got 0"
try:
g(*(), **{})
-except TypeError, err:
+except TypeError as err:
print "TypeError:", err
else:
print "should raise TypeError: not enough arguments; expected 1, got 0"
@@ -61,7 +61,7 @@ g(1, 2, 3, *(4, 5))
class Nothing: pass
try:
g(*Nothing())
-except TypeError, attr:
+except TypeError as attr:
pass
else:
print "should raise TypeError"
@@ -71,7 +71,7 @@ class Nothing:
return 5
try:
g(*Nothing())
-except TypeError, attr:
+except TypeError as attr:
pass
else:
print "should raise TypeError"
@@ -93,7 +93,7 @@ class Nothing:
return self
try:
g(*Nothing())
-except TypeError, attr:
+except TypeError as attr:
pass
else:
print "should raise TypeError"
@@ -132,77 +132,77 @@ del kw['x']
try:
g(1, 2, 3, **{'x':4, 'y':5})
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: keyword parameter redefined"
try:
g(1, 2, 3, a=4, b=5, *(6, 7), **{'a':8, 'b':9})
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: keyword parameter redefined"
try:
f(**{1:2})
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: keywords must be strings"
try:
h(**{'e': 2})
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: unexpected keyword argument: e"
try:
h(*h)
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: * argument must be a tuple"
try:
dir(*h)
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: * argument must be a tuple"
try:
None(*h)
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: * argument must be a tuple"
try:
h(**h)
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: ** argument must be a dictionary"
try:
dir(**h)
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: ** argument must be a dictionary"
try:
None(**h)
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: ** argument must be a dictionary"
try:
dir(b=1,**{'b':1})
-except TypeError, err:
+except TypeError as err:
print err
else:
print "should raise TypeError: dir() got multiple values for keyword argument 'b'"
@@ -226,13 +226,13 @@ print Foo.method(*(x, 1, 2))
print Foo.method(x, *(1, 2))
try:
print Foo.method(*(1, 2, 3))
-except TypeError, err:
+except TypeError as err:
pass
else:
print 'expected a TypeError for unbound method call'
try:
print Foo.method(1, *(2, 3))
-except TypeError, err:
+except TypeError as err:
pass
else:
print 'expected a TypeError for unbound method call'
@@ -276,4 +276,4 @@ for name in ['za', 'zade', 'zabk', 'zabdv', 'zabdevk']:
for k in kwargs: kwdict[k] = k + k
print func.func_name, args, sortdict(kwdict), '->',
try: func(*args, **kwdict)
- except TypeError, err: print err
+ except TypeError as err: print err
diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
index 234920d073..52c4a02fd6 100644
--- a/Lib/test/test_file.py
+++ b/Lib/test/test_file.py
@@ -159,7 +159,7 @@ class OtherFileTests(unittest.TestCase):
bad_mode = "qwerty"
try:
f = open(TESTFN, bad_mode)
- except ValueError, msg:
+ except ValueError as msg:
if msg[0] != 0:
s = str(msg)
if s.find(TESTFN) != -1 or s.find(bad_mode) == -1:
@@ -183,7 +183,7 @@ class OtherFileTests(unittest.TestCase):
d = int(f.read())
f.close()
f.close()
- except IOError, msg:
+ except IOError as msg:
self.fail('error setting buffer size %d: %s' % (s, str(msg)))
self.assertEquals(d, s)
diff --git a/Lib/test/test_format.py b/Lib/test/test_format.py
index 8bf5d6e4a9..ace3bc96a2 100644
--- a/Lib/test/test_format.py
+++ b/Lib/test/test_format.py
@@ -199,7 +199,7 @@ if verbose:
def test_exc(formatstr, args, exception, excmsg):
try:
testformat(formatstr, args)
- except exception, exc:
+ except exception as exc:
if str(exc) == excmsg:
if verbose:
print "yes"
diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py
index 673799dc86..678b9a8d98 100644
--- a/Lib/test/test_frozen.py
+++ b/Lib/test/test_frozen.py
@@ -12,17 +12,17 @@ import sys, os
try:
import __hello__
-except ImportError, x:
+except ImportError as x:
raise TestFailed, "import __hello__ failed:" + str(x)
try:
import __phello__
-except ImportError, x:
+except ImportError as x:
raise TestFailed, "import __phello__ failed:" + str(x)
try:
import __phello__.spam
-except ImportError, x:
+except ImportError as x:
raise TestFailed, "import __phello__.spam failed:" + str(x)
if sys.platform != "mac": # On the Mac this import does succeed.
diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index 9a5f8298cc..1437489d90 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -29,7 +29,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture3(self):
try:
from test import badsyntax_future3
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future3", '3'))
else:
self.fail("expected exception didn't occur")
@@ -37,7 +37,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture4(self):
try:
from test import badsyntax_future4
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future4", '3'))
else:
self.fail("expected exception didn't occur")
@@ -45,7 +45,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture5(self):
try:
from test import badsyntax_future5
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future5", '4'))
else:
self.fail("expected exception didn't occur")
@@ -53,7 +53,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture6(self):
try:
from test import badsyntax_future6
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future6", '3'))
else:
self.fail("expected exception didn't occur")
@@ -61,7 +61,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture7(self):
try:
from test import badsyntax_future7
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future7", '3'))
else:
self.fail("expected exception didn't occur")
@@ -69,7 +69,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture8(self):
try:
from test import badsyntax_future8
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future8", '3'))
else:
self.fail("expected exception didn't occur")
@@ -77,7 +77,7 @@ class FutureTest(unittest.TestCase):
def test_badfuture9(self):
try:
from test import badsyntax_future9
- except SyntaxError, msg:
+ except SyntaxError as msg:
self.assertEqual(get_error_location(msg), ("badsyntax_future9", '3'))
else:
self.fail("expected exception didn't occur")
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
index 2ffd2f8f96..30df034194 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -1554,7 +1554,7 @@ Now check some throw() conditions:
... while True:
... try:
... print (yield)
-... except ValueError,v:
+... except ValueError as v:
... print "caught ValueError (%s)" % (v),
>>> import sys
>>> g = f()
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py
index 34c550e6ba..0d36a62bab 100644
--- a/Lib/test/test_grammar.py
+++ b/Lib/test/test_grammar.py
@@ -554,7 +554,7 @@ hello world
assert 1, lambda x:x+1
try:
assert 0, "msg"
- except AssertionError, e:
+ except AssertionError as e:
self.assertEquals(e.args[0], "msg")
else:
if __debug__:
@@ -612,7 +612,7 @@ hello world
def testTry(self):
### try_stmt: 'try' ':' suite (except_clause ':' suite)+ ['else' ':' suite]
### | 'try' ':' suite 'finally' ':' suite
- ### except_clause: 'except' [expr [',' expr]]
+ ### except_clause: 'except' [expr ['as' expr]]
try:
1/0
except ZeroDivisionError:
@@ -621,14 +621,14 @@ hello world
pass
try: 1/0
except EOFError: pass
- except TypeError, msg: pass
- except RuntimeError, msg: pass
+ except TypeError as msg: pass
+ except RuntimeError as msg: pass
except: pass
else: pass
try: 1/0
except (EOFError, TypeError, ZeroDivisionError): pass
try: 1/0
- except (EOFError, TypeError, ZeroDivisionError), msg: pass
+ except (EOFError, TypeError, ZeroDivisionError) as msg: pass
try: pass
finally: pass
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 58de944b85..f3d1d49cf3 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -55,7 +55,7 @@ class ImportTest(unittest.TestCase):
try:
try:
mod = __import__(TESTFN)
- except ImportError, err:
+ except ImportError as err:
self.fail("import from %s failed: %s" % (ext, err))
self.assertEquals(mod.a, a,
@@ -68,7 +68,7 @@ class ImportTest(unittest.TestCase):
try:
try:
reload(mod)
- except ImportError, err:
+ except ImportError as err:
self.fail("import from .pyc/.pyo failed: %s" % err)
finally:
try:
diff --git a/Lib/test/test_linuxaudiodev.py b/Lib/test/test_linuxaudiodev.py
index fe902b5a03..05e4041662 100644
--- a/Lib/test/test_linuxaudiodev.py
+++ b/Lib/test/test_linuxaudiodev.py
@@ -27,7 +27,7 @@ def play_sound_file(path):
try:
a = linuxaudiodev.open('w')
- except linuxaudiodev.error, msg:
+ except linuxaudiodev.error as msg:
if msg[0] in (errno.EACCES, errno.ENOENT, errno.ENODEV, errno.EBUSY):
raise TestSkipped, msg
raise TestFailed, msg
@@ -62,27 +62,27 @@ def test_errors():
nchannels = 1
try:
a.setparameters(-1, size, nchannels, fmt)
- except ValueError, msg:
+ except ValueError as msg:
print msg
try:
a.setparameters(rate, -2, nchannels, fmt)
- except ValueError, msg:
+ except ValueError as msg:
print msg
try:
a.setparameters(rate, size, 3, fmt)
- except ValueError, msg:
+ except ValueError as msg:
print msg
try:
a.setparameters(rate, size, nchannels, 177)
- except ValueError, msg:
+ except ValueError as msg:
print msg
try:
a.setparameters(rate, size, nchannels, linuxaudiodev.AFMT_U16_LE)
- except ValueError, msg:
+ except ValueError as msg:
print msg
try:
a.setparameters(rate, 16, nchannels, fmt)
- except ValueError, msg:
+ except ValueError as msg:
print msg
def test():
diff --git a/Lib/test/test_nis.py b/Lib/test/test_nis.py
index 590868f010..55dd32c7e0 100644
--- a/Lib/test/test_nis.py
+++ b/Lib/test/test_nis.py
@@ -6,7 +6,7 @@ class NisTests(unittest.TestCase):
def test_maps(self):
try:
maps = nis.maps()
- except nis.error, msg:
+ except nis.error as msg:
# NIS is probably not active, so this test isn't useful
if verbose:
self.fail("(failing because of verbose mode) %s" % msg)
diff --git a/Lib/test/test_opcodes.py b/Lib/test/test_opcodes.py
index 1a2f5d6ce7..0ee51a8305 100644
--- a/Lib/test/test_opcodes.py
+++ b/Lib/test/test_opcodes.py
@@ -47,12 +47,12 @@ class OpcodeTest(unittest.TestCase):
b = BClass()
try: raise AClass, b
- except BClass, v:
+ except BClass as v:
if v != b: self.fail("v!=b")
else: self.fail("no exception")
try: raise b
- except AClass, v:
+ except AClass as v:
if v != b: self.fail("v!=b AClass")
else:
self.fail("no exception")
@@ -63,7 +63,7 @@ class OpcodeTest(unittest.TestCase):
##else: self.fail("no exception")
try: raise DClass, a
- except DClass, v:
+ except DClass as v:
self.assert_(isinstance(v, DClass))
else:
self.fail("no exception")
diff --git a/Lib/test/test_optparse.py b/Lib/test/test_optparse.py
index 4582fa7ae8..1c4970f06b 100644
--- a/Lib/test/test_optparse.py
+++ b/Lib/test/test_optparse.py
@@ -114,7 +114,7 @@ Args were %(args)s.""" % locals ())
try:
func(*args, **kwargs)
- except expected_exception, err:
+ except expected_exception as err:
actual_message = str(err)
if isinstance(expected_message, retype):
self.assert_(expected_message.search(actual_message),
@@ -152,7 +152,7 @@ and kwargs %(kwargs)r
"""
try:
self.parser.parse_args(cmdline_args)
- except InterceptedError, err:
+ except InterceptedError as err:
self.assertEqual(err.error_message, expected_output)
else:
self.assertFalse("expected parse failure")
@@ -175,7 +175,7 @@ and kwargs %(kwargs)r
output = sys.stdout.getvalue()
sys.stdout = save_stdout
- except InterceptedError, err:
+ except InterceptedError as err:
self.assert_(
type(output) is types.StringType,
"expected output to be an ordinary string, not %r"
@@ -460,7 +460,7 @@ def _check_duration(option, opt, value):
return int(value)
else:
return int(value[:-1]) * _time_units[value[-1]]
- except ValueError, IndexError:
+ except ValueError as IndexError:
raise OptionValueError(
'option %s: invalid duration: %r' % (opt, value))
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 1c87d0601d..93e530c22c 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -179,7 +179,7 @@ class StatAttributeTests(unittest.TestCase):
import statvfs
try:
result = os.statvfs(self.fname)
- except OSError, e:
+ except OSError as e:
# On AtheOS, glibc always returns ENOSYS
import errno
if e.errno == errno.ENOSYS:
diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py
index 5868ea7f1e..0377e9c4ea 100644
--- a/Lib/test/test_ossaudiodev.py
+++ b/Lib/test/test_ossaudiodev.py
@@ -48,7 +48,7 @@ def _assert(expr, message=None):
def play_sound_file(data, rate, ssize, nchannels):
try:
dsp = ossaudiodev.open('w')
- except IOError, msg:
+ except IOError as msg:
if msg[0] in (errno.EACCES, errno.ENOENT, errno.ENODEV, errno.EBUSY):
raise TestSkipped, msg
raise TestFailed, msg
@@ -142,7 +142,7 @@ def test_bad_setparameters(dsp):
try:
result = dsp.setparameters(fmt, channels, rate, True)
raise AssertionError("setparameters: expected OSSAudioError")
- except ossaudiodev.OSSAudioError, err:
+ except ossaudiodev.OSSAudioError as err:
print "setparameters: got OSSAudioError as expected"
def test():
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index 0bf12186a0..36bc4e3be9 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -15,7 +15,7 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase):
t = st1.totuple()
try:
st2 = parser.sequence2st(t)
- except parser.ParserError, why:
+ except parser.ParserError as why:
self.fail("could not roundtrip %r: %s" % (s, why))
self.assertEquals(t, st2.totuple(),
diff --git a/Lib/test/test_pep277.py b/Lib/test/test_pep277.py
index f3070893f6..ff71bf2fbb 100644
--- a/Lib/test/test_pep277.py
+++ b/Lib/test/test_pep277.py
@@ -50,7 +50,7 @@ class UnicodeFileTests(unittest.TestCase):
fn(filename)
raise test_support.TestFailed("Expected to fail calling '%s(%r)'"
% (fn.__name__, filename))
- except expected_exception, details:
+ except expected_exception as details:
if check_fn_in_exception and details.filename != filename:
raise test_support.TestFailed("Function '%s(%r) failed with "
"bad filename in the exception: %r"
diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
index 06988183ec..73092c1ce2 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
@@ -177,7 +177,7 @@ expat.ParserCreate(namespace_separator=' ')
print "Legal values tested o.k."
try:
expat.ParserCreate(namespace_separator=42)
-except TypeError, e:
+except TypeError as e:
print "Caught expected TypeError:"
print e
else:
@@ -185,7 +185,7 @@ else:
try:
expat.ParserCreate(namespace_separator='too long')
-except ValueError, e:
+except ValueError as e:
print "Caught expected ValueError:"
print e
else:
@@ -321,7 +321,7 @@ parser.StartElementHandler = StartElementHandler
try:
parser.Parse("<a><b><c/></b></a>", 1)
-except RuntimeError, e:
+except RuntimeError as e:
if e.args[0] != "a":
print "Expected RuntimeError for element 'a'; found %r" % e.args[0]
else:
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 02f4dcab09..dafd82e98a 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -633,7 +633,7 @@ def run_re_tests():
else:
try:
result = obj.search(s)
- except re.error, msg:
+ except re.error as msg:
print '=== Unexpected exception', t, repr(msg)
if outcome == SYNTAX_ERROR:
# This should have been a syntax error; forget it.
diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py
index 88e990098a..a37ee7b7cd 100644
--- a/Lib/test/test_runpy.py
+++ b/Lib/test/test_runpy.py
@@ -117,7 +117,7 @@ class RunModuleTest(unittest.TestCase):
entry = parts[0]
try:
del sys.modules[entry]
- except KeyError, ex:
+ except KeyError as ex:
if verbose: print ex # Persist with cleaning up
if verbose: print " Removed sys.modules entries"
del sys.path[0]
@@ -126,18 +126,18 @@ class RunModuleTest(unittest.TestCase):
for name in files:
try:
os.remove(os.path.join(root, name))
- except OSError, ex:
+ except OSError as ex:
if verbose: print ex # Persist with cleaning up
for name in dirs:
fullname = os.path.join(root, name)
try:
os.rmdir(fullname)
- except OSError, ex:
+ except OSError as ex:
if verbose: print ex # Persist with cleaning up
try:
os.rmdir(top)
if verbose: print " Removed package tree"
- except OSError, ex:
+ except OSError as ex:
if verbose: print ex # Persist with cleaning up
def _check_module(self, depth):
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py
index 83ffcf119a..d3939c06cf 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -479,7 +479,7 @@ def test_expat_inpsource_location():
source.setSystemId(name)
try:
parser.parse(source)
- except SAXException, e:
+ except SAXException as e:
return e.getSystemId() == name
def test_expat_incomplete():
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 9bd0d436a4..0d08b79622 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -332,7 +332,7 @@ class TestSet(TestJointOps):
for v1 in ['Q', (1,)]:
try:
self.s.remove(v1)
- except KeyError, e:
+ except KeyError as e:
v2 = e.args[0]
self.assertEqual(v1, v2)
else:
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index df37f73bda..e1412579d7 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -129,7 +129,7 @@ class ThreadableTest:
raise TypeError, "test_func must be a callable function"
try:
test_func()
- except Exception, strerror:
+ except Exception as strerror:
self.queue.put(strerror)
self.clientTearDown()
diff --git a/Lib/test/test_socket_ssl.py b/Lib/test/test_socket_ssl.py
index 3c9c9f03c0..5d308c5848 100644
--- a/Lib/test/test_socket_ssl.py
+++ b/Lib/test/test_socket_ssl.py
@@ -58,7 +58,7 @@ def test_timeout():
except socket.timeout:
error_msg('timed out')
return
- except socket.error, exc: # In case connection is refused.
+ except socket.error as exc: # In case connection is refused.
if exc.args[0] == errno.ECONNREFUSED:
error_msg('was refused')
return
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py
index e4cbb2b588..202f2da2e7 100644
--- a/Lib/test/test_socketserver.py
+++ b/Lib/test/test_socketserver.py
@@ -155,7 +155,8 @@ class ForgivingTCPServer(TCPServer):
self.server_address = host, port
TCPServer.server_bind(self)
break
- except socket.error, (err, msg):
+ except socket.error as e:
+ (err, msg) = e
if err != errno.EADDRINUSE:
raise
print >>sys.__stderr__, \
diff --git a/Lib/test/test_strftime.py b/Lib/test/test_strftime.py
index e9d3826f40..00fa227b62 100755
--- a/Lib/test/test_strftime.py
+++ b/Lib/test/test_strftime.py
@@ -119,7 +119,7 @@ def strftest(now):
for e in expectations:
try:
result = time.strftime(e[0], now)
- except ValueError, error:
+ except ValueError as error:
print "Standard '%s' format gave error:" % e[0], error
continue
if re.match(escapestr(e[1], ampm), result): continue
@@ -132,7 +132,7 @@ def strftest(now):
for e in nonstandard_expectations:
try:
result = time.strftime(e[0], now)
- except ValueError, result:
+ except ValueError as result:
if verbose:
print "Error for nonstandard '%s' format (%s): %s" % \
(e[0], e[2], str(result))
diff --git a/Lib/test/test_string.py b/Lib/test/test_string.py
index fdd431d249..6d5e8e4690 100644
--- a/Lib/test/test_string.py
+++ b/Lib/test/test_string.py
@@ -55,7 +55,7 @@ class StringTest(
def f():
yield 4 + ""
self.fixtype(' ').join(f())
- except TypeError, e:
+ except TypeError as e:
if '+' not in str(e):
self.fail('join() ate exception message')
else:
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index ba65649857..df94f7b5f6 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -206,7 +206,7 @@ class StrptimeTests(unittest.TestCase):
_strptime.strptime("2005", bad_format)
except ValueError:
continue
- except Exception, err:
+ except Exception as err:
self.fail("'%s' raised %s, not ValueError" %
(bad_format, err.__class__.__name__))
else:
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 64f8d40a40..fcc0f45fff 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -67,7 +67,7 @@ class ProcessTestCase(unittest.TestCase):
try:
subprocess.check_call([sys.executable, "-c",
"import sys; sys.exit(47)"])
- except subprocess.CalledProcessError, e:
+ except subprocess.CalledProcessError as e:
self.assertEqual(e.returncode, 47)
else:
self.fail("Expected CalledProcessError")
@@ -475,7 +475,7 @@ class ProcessTestCase(unittest.TestCase):
try:
p = subprocess.Popen([sys.executable, "-c", ""],
cwd="/this/path/does/not/exist")
- except OSError, e:
+ except OSError as e:
# The attribute child_traceback should contain "os.chdir"
# somewhere.
self.assertNotEqual(e.child_traceback.find("os.chdir"), -1)
diff --git a/Lib/test/test_sunaudiodev.py b/Lib/test/test_sunaudiodev.py
index f203d9a304..0427db5754 100644
--- a/Lib/test/test_sunaudiodev.py
+++ b/Lib/test/test_sunaudiodev.py
@@ -16,7 +16,7 @@ def play_sound_file(path):
fp.close()
try:
a = sunaudiodev.open('w')
- except sunaudiodev.error, msg:
+ except sunaudiodev.error as msg:
raise TestFailed, msg
else:
a.write(data)
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 2c19698480..6115800569 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -102,7 +102,8 @@ def bind_port(sock, host='', preferred_port=54321):
try:
sock.bind((host, port))
return port
- except socket.error, (err, msg):
+ except socket.error as e:
+ (err, msg) = e
if err != errno.EADDRINUSE:
raise
print >>sys.__stderr__, \
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index a0eaac6d0c..2c7315ddb4 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -387,7 +387,7 @@ class SyntaxTestCase(unittest.TestCase):
"""
try:
compile(code, filename, mode)
- except SyntaxError, err:
+ except SyntaxError as err:
if subclass and not isinstance(err, subclass):
self.fail("SyntaxError is not a %s" % subclass.__name__)
mo = re.search(errtext, str(err))
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index fdeb5001a1..897c6b08d4 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -54,7 +54,7 @@ class SysModuleTest(unittest.TestCase):
self.assertRaises(TypeError, eh)
try:
raise ValueError(42)
- except ValueError, exc:
+ except ValueError as exc:
eh(*sys.exc_info())
sys.stderr = savestderr
@@ -84,7 +84,7 @@ class SysModuleTest(unittest.TestCase):
def clear():
try:
raise ValueError, 42
- except ValueError, exc:
+ except ValueError as exc:
clear_check(exc)
# Raise an exception and check that it can be cleared
@@ -94,7 +94,7 @@ class SysModuleTest(unittest.TestCase):
# unaffected by calling exc_clear in a nested frame.
try:
raise ValueError, 13
- except ValueError, exc:
+ except ValueError as exc:
typ1, value1, traceback1 = sys.exc_info()
clear()
typ2, value2, traceback2 = sys.exc_info()
@@ -104,16 +104,13 @@ class SysModuleTest(unittest.TestCase):
self.assert_(value1 is value2)
self.assert_(traceback1 is traceback2)
- # Check that an exception can be cleared outside of an except block
- clear_check(exc)
-
def test_exit(self):
self.assertRaises(TypeError, sys.exit, 42, 42)
# call without argument
try:
sys.exit(0)
- except SystemExit, exc:
+ except SystemExit as exc:
self.assertEquals(exc.code, 0)
except:
self.fail("wrong exception")
@@ -124,7 +121,7 @@ class SysModuleTest(unittest.TestCase):
# entry will be unpacked
try:
sys.exit(42)
- except SystemExit, exc:
+ except SystemExit as exc:
self.assertEquals(exc.code, 42)
except:
self.fail("wrong exception")
@@ -134,7 +131,7 @@ class SysModuleTest(unittest.TestCase):
# call with integer argument
try:
sys.exit((42,))
- except SystemExit, exc:
+ except SystemExit as exc:
self.assertEquals(exc.code, 42)
except:
self.fail("wrong exception")
@@ -144,7 +141,7 @@ class SysModuleTest(unittest.TestCase):
# call with string argument
try:
sys.exit("exit")
- except SystemExit, exc:
+ except SystemExit as exc:
self.assertEquals(exc.code, "exit")
except:
self.fail("wrong exception")
@@ -154,7 +151,7 @@ class SysModuleTest(unittest.TestCase):
# call with tuple argument with two entries
try:
sys.exit((17, 23))
- except SystemExit, exc:
+ except SystemExit as exc:
self.assertEquals(exc.code, (17, 23))
except:
self.fail("wrong exception")
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
index 2b39715e98..9ae913d358 100644
--- a/Lib/test/test_tarfile.py
+++ b/Lib/test/test_tarfile.py
@@ -545,7 +545,7 @@ class ExtractHardlinkTest(BaseTest):
try:
# Extract 1-LNKTYPE which is a hardlink to 0-REGTYPE
self.tar.extract("1-LNKTYPE", dirname())
- except EnvironmentError, e:
+ except EnvironmentError as e:
import errno
if e.errno == errno.ENOENT:
self.fail("hardlink not extracted properly")
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py
index fa170ef58d..4255d8afa3 100644
--- a/Lib/test/test_tcl.py
+++ b/Lib/test/test_tcl.py
@@ -107,7 +107,7 @@ class TclTest(unittest.TestCase):
filename = "doesnotexists"
try:
os.remove(filename)
- except Exception,e:
+ except Exception as e:
pass
self.assertRaises(TclError,tcl.evalfile,filename)
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index 08aec8e83e..42d1a4a197 100644
--- a/Lib/test/test_trace.py
+++ b/Lib/test/test_trace.py
@@ -97,7 +97,7 @@ def raises():
def test_raise():
try:
raises()
- except Exception, exc:
+ except Exception as exc:
x = 1
test_raise.events = [(0, 'call'),
@@ -127,7 +127,7 @@ def _settrace_and_raise(tracefunc):
def settrace_and_raise(tracefunc):
try:
_settrace_and_raise(tracefunc)
- except RuntimeError, exc:
+ except RuntimeError as exc:
pass
settrace_and_raise.events = [(2, 'exception'),
@@ -432,7 +432,7 @@ def no_jump_too_far_forwards(output):
try:
output.append(2)
output.append(3)
- except ValueError, e:
+ except ValueError as e:
output.append('after' in str(e))
no_jump_too_far_forwards.jump = (3, 6)
@@ -442,7 +442,7 @@ def no_jump_too_far_backwards(output):
try:
output.append(2)
output.append(3)
- except ValueError, e:
+ except ValueError as e:
output.append('before' in str(e))
no_jump_too_far_backwards.jump = (3, -1)
@@ -472,7 +472,7 @@ no_jump_to_except_2.output = [True]
def no_jump_to_except_3(output):
try:
output.append(2)
- except ValueError, e:
+ except ValueError as e:
output.append('except' in str(e))
no_jump_to_except_3.jump = (2, 3)
@@ -481,7 +481,7 @@ no_jump_to_except_3.output = [True]
def no_jump_to_except_4(output):
try:
output.append(2)
- except (ValueError, RuntimeError), e:
+ except (ValueError, RuntimeError) as e:
output.append('except' in str(e))
no_jump_to_except_4.jump = (2, 3)
@@ -492,7 +492,7 @@ def no_jump_forwards_into_block(output):
output.append(2)
for i in 1, 2:
output.append(4)
- except ValueError, e:
+ except ValueError as e:
output.append('into' in str(e))
no_jump_forwards_into_block.jump = (2, 4)
@@ -503,7 +503,7 @@ def no_jump_backwards_into_block(output):
for i in 1, 2:
output.append(3)
output.append(4)
- except ValueError, e:
+ except ValueError as e:
output.append('into' in str(e))
no_jump_backwards_into_block.jump = (4, 3)
@@ -516,7 +516,7 @@ def no_jump_into_finally_block(output):
x = 1
finally:
output.append(6)
- except ValueError, e:
+ except ValueError as e:
output.append('finally' in str(e))
no_jump_into_finally_block.jump = (4, 6)
@@ -529,7 +529,7 @@ def no_jump_out_of_finally_block(output):
finally:
output.append(5)
output.append(6)
- except ValueError, e:
+ except ValueError as e:
output.append('finally' in str(e))
no_jump_out_of_finally_block.jump = (5, 1)
@@ -539,7 +539,7 @@ no_jump_out_of_finally_block.output = [3, True]
def no_jump_to_non_integers(output):
try:
output.append(2)
- except ValueError, e:
+ except ValueError as e:
output.append('integer' in str(e))
no_jump_to_non_integers.jump = (2, "Spam")
@@ -551,7 +551,7 @@ def no_jump_without_trace_function():
try:
previous_frame = sys._getframe().f_back
previous_frame.f_lineno = previous_frame.f_lineno
- except ValueError, e:
+ except ValueError as e:
# This is the exception we wanted; make sure the error message
# talks about trace functions.
if 'trace' not in str(e):
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 48c5d190e7..5c8a4e4858 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -12,7 +12,7 @@ class TracebackCases(unittest.TestCase):
def get_exception_format(self, func, exc):
try:
func()
- except exc, value:
+ except exc as value:
return traceback.format_exception_only(exc, value)
else:
raise ValueError, "call did not raise exception"
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
index 00cf202b04..50acff8342 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -236,7 +236,7 @@ class OtherNetworkTests(unittest.TestCase):
debug(url)
try:
f = urllib2.urlopen(url, req)
- except (IOError, socket.error, OSError), err:
+ except (IOError, socket.error, OSError) as err:
debug(err)
if expected_err:
msg = ("Didn't get expected error(s) %s for %s %s, got %s" %
diff --git a/Lib/test/test_userdict.py b/Lib/test/test_userdict.py
index 447f434db0..25aa307abe 100644
--- a/Lib/test/test_userdict.py
+++ b/Lib/test/test_userdict.py
@@ -168,7 +168,7 @@ class UserDictTest(mapping_tests.TestHashMappingProtocol):
e = E()
try:
e[42]
- except RuntimeError, err:
+ except RuntimeError as err:
self.assertEqual(err.args, (42,))
else:
self.fail_("e[42] didn't raise RuntimeError")
@@ -180,7 +180,7 @@ class UserDictTest(mapping_tests.TestHashMappingProtocol):
f = F()
try:
f[42]
- except KeyError, err:
+ except KeyError as err:
self.assertEqual(err.args, (42,))
else:
self.fail_("f[42] didn't raise KeyError")
@@ -189,7 +189,7 @@ class UserDictTest(mapping_tests.TestHashMappingProtocol):
g = G()
try:
g[42]
- except KeyError, err:
+ except KeyError as err:
self.assertEqual(err.args, (42,))
else:
self.fail_("g[42] didn't raise KeyError")
diff --git a/Lib/test/test_uu.py b/Lib/test/test_uu.py
index 16a55e4959..712814823d 100644
--- a/Lib/test/test_uu.py
+++ b/Lib/test/test_uu.py
@@ -50,7 +50,7 @@ class UUTest(unittest.TestCase):
try:
uu.decode(inp, out)
self.fail("No exception thrown")
- except uu.Error, e:
+ except uu.Error as e:
self.assertEqual(str(e), "Truncated input file")
def test_missingbegin(self):
@@ -59,7 +59,7 @@ class UUTest(unittest.TestCase):
try:
uu.decode(inp, out)
self.fail("No exception thrown")
- except uu.Error, e:
+ except uu.Error as e:
self.assertEqual(str(e), "No valid begin line found in input file")
class UUStdIOTest(unittest.TestCase):
diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py
index 5830fd64f5..81bd7601f6 100644
--- a/Lib/test/test_winreg.py
+++ b/Lib/test/test_winreg.py
@@ -142,7 +142,7 @@ except (IndexError, ValueError):
if remote_name is not None:
try:
remote_key = ConnectRegistry(remote_name, HKEY_CURRENT_USER)
- except EnvironmentError, exc:
+ except EnvironmentError as exc:
print "Could not connect to the remote machine -", exc.strerror
remote_key = None
if remote_key is not None:
diff --git a/Lib/timeit.py b/Lib/timeit.py
index 190b8c58e7..5dd3ca9249 100644
--- a/Lib/timeit.py
+++ b/Lib/timeit.py
@@ -209,7 +209,7 @@ def main(args=None):
opts, args = getopt.getopt(args, "n:s:r:tcvh",
["number=", "setup=", "repeat=",
"time", "clock", "verbose", "help"])
- except getopt.error, err:
+ except getopt.error as err:
print err
print "use -h/--help for command line help"
return 2
diff --git a/Lib/toaiff.py b/Lib/toaiff.py
index 3c8a02ba72..438d225dd8 100644
--- a/Lib/toaiff.py
+++ b/Lib/toaiff.py
@@ -87,7 +87,7 @@ def _toaiff(filename, temps):
ftype = sndhdr.whathdr(fname)
if ftype:
ftype = ftype[0] # All we're interested in
- except IOError, msg:
+ except IOError as msg:
if type(msg) == type(()) and len(msg) == 2 and \
type(msg[0]) == type(0) and type(msg[1]) == type(''):
msg = msg[1]
diff --git a/Lib/token.py b/Lib/token.py
index 2770cfd675..477827ac0a 100755
--- a/Lib/token.py
+++ b/Lib/token.py
@@ -93,7 +93,7 @@ def main():
outFileName = args[1]
try:
fp = open(inFileName)
- except IOError, err:
+ except IOError as err:
sys.stdout.write("I/O error: %s\n" % str(err))
sys.exit(1)
lines = fp.read().split("\n")
@@ -113,7 +113,7 @@ def main():
# load the output skeleton from the target:
try:
fp = open(outFileName)
- except IOError, err:
+ except IOError as err:
sys.stderr.write("I/O error: %s\n" % str(err))
sys.exit(2)
format = fp.read().split("\n")
@@ -130,7 +130,7 @@ def main():
format[start:end] = lines
try:
fp = open(outFileName, 'w')
- except IOError, err:
+ except IOError as err:
sys.stderr.write("I/O error: %s\n" % str(err))
sys.exit(4)
fp.write("\n".join(format))
diff --git a/Lib/trace.py b/Lib/trace.py
index c7ed0a58a7..ca44eae927 100644
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -220,7 +220,7 @@ class CoverageResults:
counts, calledfuncs, callers = \
pickle.load(open(self.infile, 'rb'))
self.update(self.__class__(counts, calledfuncs, callers))
- except (IOError, EOFError, ValueError), err:
+ except (IOError, EOFError, ValueError) as err:
print >> sys.stderr, ("Skipping counts file %r: %s"
% (self.infile, err))
@@ -328,7 +328,7 @@ class CoverageResults:
try:
pickle.dump((self.counts, self.calledfuncs, self.callers),
open(self.outfile, 'wb'), 1)
- except IOError, err:
+ except IOError as err:
print >> sys.stderr, "Can't save counts files because %s" % err
def write_results_file(self, path, lines, lnotab, lines_hit):
@@ -336,7 +336,7 @@ class CoverageResults:
try:
outfile = open(path, "w")
- except IOError, err:
+ except IOError as err:
print >> sys.stderr, ("trace: Could not open %r for writing: %s"
"- skipping" % (path, err))
return 0, 0
@@ -422,7 +422,7 @@ def find_executable_linenos(filename):
"""Return dict where keys are line numbers in the line number table."""
try:
prog = open(filename, "rU").read()
- except IOError, err:
+ except IOError as err:
print >> sys.stderr, ("Not printing coverage data for %r: %s"
% (filename, err))
return {}
@@ -658,7 +658,7 @@ def main(argv=None):
"coverdir=", "listfuncs",
"trackcalls"])
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stderr.write("%s: %s\n" % (sys.argv[0], msg))
sys.stderr.write("Try `%s --help' for more information\n"
% sys.argv[0])
@@ -778,7 +778,7 @@ def main(argv=None):
outfile=counts_file)
try:
t.run('execfile(%r)' % (progname,))
- except IOError, err:
+ except IOError as err:
_err_exit("Cannot run file %r because: %s" % (sys.argv[0], err))
except SystemExit:
pass
diff --git a/Lib/unittest.py b/Lib/unittest.py
index b34b389b78..9163e84cd5 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -783,7 +783,7 @@ Examples:
else:
self.testNames = (self.defaultTest,)
self.createTests()
- except getopt.error, msg:
+ except getopt.error as msg:
self.usageExit(msg)
def createTests(self):
diff --git a/Lib/urllib.py b/Lib/urllib.py
index 27ec2c9d7f..aacc3739ff 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -190,7 +190,7 @@ class URLopener:
return getattr(self, name)(url)
else:
return getattr(self, name)(url, data)
- except socket.error, msg:
+ except socket.error as msg:
raise IOError, ('socket error', msg), sys.exc_info()[2]
def open_unknown(self, fullurl, data=None):
@@ -217,7 +217,7 @@ class URLopener:
hdrs = fp.info()
del fp
return url2pathname(splithost(url1)[1]), hdrs
- except IOError, msg:
+ except IOError as msg:
pass
fp = self.open(url, data)
headers = fp.info()
@@ -461,7 +461,7 @@ class URLopener:
localname = url2pathname(file)
try:
stats = os.stat(localname)
- except OSError, e:
+ except OSError as e:
raise IOError(e.errno, e.strerror, e.filename)
size = stats.st_size
modified = email.Utils.formatdate(stats.st_mtime, usegmt=True)
@@ -544,7 +544,7 @@ class URLopener:
headers += "Content-Length: %d\n" % retrlen
headers = mimetools.Message(StringIO(headers))
return addinfourl(fp, headers, "ftp:" + url)
- except ftperrors(), msg:
+ except ftperrors() as msg:
raise IOError, ('ftp error', msg), sys.exc_info()[2]
def open_data(self, url, data=None):
@@ -861,7 +861,7 @@ class ftpwrapper:
try:
cmd = 'RETR ' + file
conn = self.ftp.ntransfercmd(cmd)
- except ftplib.error_perm, reason:
+ except ftplib.error_perm as reason:
if str(reason)[:3] != '550':
raise IOError, ('ftp error', reason), sys.exc_info()[2]
if not conn:
@@ -1503,7 +1503,7 @@ def main():
import getopt, sys
try:
opts, args = getopt.getopt(sys.argv[1:], "th")
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print "Use -h for help"
return
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index a880e647a8..d14996ddfd 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -1072,7 +1072,7 @@ class AbstractHTTPHandler(BaseHandler):
try:
h.request(req.get_method(), req.get_selector(), req.data, headers)
r = h.getresponse()
- except socket.error, err: # XXX what error?
+ except socket.error as err: # XXX what error?
raise URLError(err)
# Pick apart the HTTPResponse object to get the addinfourl
@@ -1254,7 +1254,7 @@ class FTPHandler(BaseHandler):
try:
host = socket.gethostbyname(host)
- except socket.error, msg:
+ except socket.error as msg:
raise URLError(msg)
path, attrs = splitattr(req.get_selector())
dirs = path.split('/')
@@ -1280,7 +1280,7 @@ class FTPHandler(BaseHandler):
sf = StringIO(headers)
headers = mimetools.Message(sf)
return addinfourl(fp, headers, req.get_full_url())
- except ftplib.all_errors, msg:
+ except ftplib.all_errors as msg:
raise IOError, ('ftp error', msg), sys.exc_info()[2]
def connect_ftp(self, user, passwd, host, port, dirs):
diff --git a/Lib/uu.py b/Lib/uu.py
index da89f7298d..887d99a35e 100755
--- a/Lib/uu.py
+++ b/Lib/uu.py
@@ -132,7 +132,7 @@ def decode(in_file, out_file=None, mode=None, quiet=0):
while s and s.strip() != 'end':
try:
data = binascii.a2b_uu(s)
- except binascii.Error, v:
+ except binascii.Error as v:
# Workaround for broken uuencoders by /Fredrik Lundh
nbytes = (((ord(s[0])-32) & 63) * 4 + 5) // 3
data = binascii.a2b_uu(s[:nbytes])
diff --git a/Lib/warnings.py b/Lib/warnings.py
index b7fac69976..c0a96d6de4 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -192,7 +192,7 @@ def _processoptions(args):
for arg in args:
try:
_setoption(arg)
- except _OptionError, msg:
+ except _OptionError as msg:
print >>sys.stderr, "Invalid -W option ignored:", msg
# Helper for _processoptions()
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 0d5f44f7b2..28e6bdebbe 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -625,7 +625,7 @@ def main():
-t: open new tab""" % sys.argv[0]
try:
opts, args = getopt.getopt(sys.argv[1:], 'ntd')
- except getopt.error, msg:
+ except getopt.error as msg:
print >>sys.stderr, msg
print >>sys.stderr, usage
sys.exit(1)
diff --git a/Lib/xdrlib.py b/Lib/xdrlib.py
index 796dfafd2f..23e1ff2518 100644
--- a/Lib/xdrlib.py
+++ b/Lib/xdrlib.py
@@ -68,12 +68,12 @@ class Packer:
def pack_float(self, x):
try: self.__buf.write(struct.pack('>f', x))
- except struct.error, msg:
+ except struct.error as msg:
raise ConversionError, msg
def pack_double(self, x):
try: self.__buf.write(struct.pack('>d', x))
- except struct.error, msg:
+ except struct.error as msg:
raise ConversionError, msg
def pack_fstring(self, n, s):
diff --git a/Lib/xml/sax/__init__.py b/Lib/xml/sax/__init__.py
index d55ffb7d56..242c689240 100644
--- a/Lib/xml/sax/__init__.py
+++ b/Lib/xml/sax/__init__.py
@@ -79,7 +79,7 @@ def make_parser(parser_list = []):
for parser_name in parser_list + default_parser_list:
try:
return _create_parser(parser_name)
- except ImportError,e:
+ except ImportError as e:
import sys
if parser_name in sys.modules:
# The parser module was found, but importing it
diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py
index bb9c294e5e..c4fb93040d 100644
--- a/Lib/xml/sax/expatreader.py
+++ b/Lib/xml/sax/expatreader.py
@@ -205,7 +205,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
# document. When feeding chunks, they are not normally final -
# except when invoked from close.
self._parser.Parse(data, isFinal)
- except expat.error, e:
+ except expat.error as e:
exc = SAXParseException(expat.ErrorString(e.code), e, self)
# FIXME: when to invoke error()?
self._err_handler.fatalError(exc)
diff --git a/Lib/xmllib.py b/Lib/xmllib.py
index 2a189cdd8f..59fbcd189b 100644
--- a/Lib/xmllib.py
+++ b/Lib/xmllib.py
@@ -896,7 +896,7 @@ def test(args = None):
else:
try:
f = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print file, ":", msg
sys.exit(1)
@@ -914,7 +914,7 @@ def test(args = None):
for c in data:
x.feed(c)
x.close()
- except Error, msg:
+ except Error as msg:
t1 = time()
print msg
if do_time:
diff --git a/Lib/xmlrpclib.py b/Lib/xmlrpclib.py
index da3d396aa0..f584ad74b2 100644
--- a/Lib/xmlrpclib.py
+++ b/Lib/xmlrpclib.py
@@ -1454,7 +1454,7 @@ if __name__ == "__main__":
try:
print server.currentTime.getCurrentTime()
- except Error, v:
+ except Error as v:
print "ERROR", v
multi = MultiCall(server)
@@ -1463,5 +1463,5 @@ if __name__ == "__main__":
try:
for response in multi():
print response
- except Error, v:
+ except Error as v:
print "ERROR", v
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index 5c3fff3e74..0f3bccc3d8 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -812,7 +812,7 @@ class PyZipFile(ZipFile):
print "Compiling", file_py
try:
py_compile.compile(file_py, file_pyc, None, True)
- except py_compile.PyCompileError,err:
+ except py_compile.PyCompileError as err:
print err.msg
fname = file_pyc
else:
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index 8bdebe6806..034828b62d 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -335,7 +335,7 @@ def parseOptions(args=None):
try:
options, args = getopt.getopt(args, '?hb',
[ 'build-dir=', 'third-party=', 'sdk-path=' , 'src-dir='])
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
sys.exit(1)
diff --git a/Mac/Demo/applescript/makedisk.py b/Mac/Demo/applescript/makedisk.py
index 91210ee351..013331cac6 100644
--- a/Mac/Demo/applescript/makedisk.py
+++ b/Mac/Demo/applescript/makedisk.py
@@ -7,7 +7,7 @@ talker.activate()
filespec = macfs.FSSpec('my disk image.img')
try:
objref = talker.create('my disk image', saving_as=filespec, leave_image_mounted=1)
-except Disk_Copy.Error, arg:
+except Disk_Copy.Error as arg:
print "ERROR: my disk image:", arg
else:
print 'objref=', objref
diff --git a/Mac/Demo/imgbrowse/imgbrowse.py b/Mac/Demo/imgbrowse/imgbrowse.py
index 28dffd3767..57cddd3eb4 100644
--- a/Mac/Demo/imgbrowse/imgbrowse.py
+++ b/Mac/Demo/imgbrowse/imgbrowse.py
@@ -52,7 +52,7 @@ class imgbrowse(FrameWork.Application):
bar = EasyDialogs.ProgressBar('Reading and converting...')
try:
rdr = img.reader(imgformat.macrgb16, pathname)
- except img.error, arg:
+ except img.error as arg:
EasyDialogs.Message(repr(arg))
return
w, h = rdr.width, rdr.height
diff --git a/Mac/Demo/mlte/mlted.py b/Mac/Demo/mlte/mlted.py
index 323ea6249a..f9ccd216eb 100644
--- a/Mac/Demo/mlte/mlted.py
+++ b/Mac/Demo/mlte/mlted.py
@@ -275,7 +275,7 @@ class Mlted(Application):
fp = open(path, 'rb') # NOTE binary, we need cr as end-of-line
data = fp.read()
fp.close()
- except IOError, arg:
+ except IOError as arg:
EasyDialogs.Message("IOERROR: %r" % (arg,))
return
else:
diff --git a/Mac/Demo/resources/copyres.py b/Mac/Demo/resources/copyres.py
index cb1fa8e286..da55b0648f 100644
--- a/Mac/Demo/resources/copyres.py
+++ b/Mac/Demo/resources/copyres.py
@@ -39,7 +39,7 @@ def copyres(src, dst):
UseResFile(output)
try:
res2 = Get1Resource(type, id)
- except (RuntimeError, Res.Error), msg:
+ except (RuntimeError, Res.Error) as msg:
res2 = None
if res2:
print "Duplicate type+id, not copied"
diff --git a/Mac/Demo/textedit/ped.py b/Mac/Demo/textedit/ped.py
index 3e91b32a65..8cd4713469 100644
--- a/Mac/Demo/textedit/ped.py
+++ b/Mac/Demo/textedit/ped.py
@@ -273,7 +273,7 @@ class Ped(Application):
fp = open(path, 'rb') # NOTE binary, we need cr as end-of-line
data = fp.read()
fp.close()
- except IOError, arg:
+ except IOError as arg:
EasyDialogs.Message("IOERROR: %r" % (arg,))
return
else:
diff --git a/Mac/scripts/BuildApplet.py b/Mac/scripts/BuildApplet.py
index e71ebc1261..9ddcd0b2bd 100644
--- a/Mac/scripts/BuildApplet.py
+++ b/Mac/scripts/BuildApplet.py
@@ -31,7 +31,7 @@ if not sys.executable.startswith(sys.exec_prefix):
def main():
try:
buildapplet()
- except buildtools.BuildError, detail:
+ except buildtools.BuildError as detail:
EasyDialogs.Message(detail)
diff --git a/Mac/scripts/buildpkg.py b/Mac/scripts/buildpkg.py
index e6dc4748bb..e50c4058aa 100644
--- a/Mac/scripts/buildpkg.py
+++ b/Mac/scripts/buildpkg.py
@@ -451,7 +451,7 @@ def main():
try:
opts, args = getopt.getopt(sys.argv[1:], shortOpts, longOpts)
- except getopt.GetoptError, details:
+ except getopt.GetoptError as details:
print details
printUsage()
return
diff --git a/Misc/BeOS-setup.py b/Misc/BeOS-setup.py
index 991e608fa5..556ddc5f6c 100644
--- a/Misc/BeOS-setup.py
+++ b/Misc/BeOS-setup.py
@@ -127,7 +127,7 @@ class PyBuildExt(build_ext):
try:
build_ext.build_extension(self, ext)
- except (CCompilerError, DistutilsError), why:
+ except (CCompilerError, DistutilsError) as why:
self.announce('WARNING: building of extension "%s" failed: %s' %
(ext.name, sys.exc_info()[1]))
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index d474a9ab9d..d159b6bf06 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -2110,8 +2110,8 @@ validate_except_clause(node *tree)
if (res && (nch > 1))
res = validate_test(CHILD(tree, 1));
if (res && (nch == 4))
- res = (validate_comma(CHILD(tree, 2))
- && validate_test(CHILD(tree, 3)));
+ res = (validate_name(CHILD(tree, 2), "as")
+ && validate_ntype(CHILD(tree, 3), NAME));
return (res);
}
diff --git a/Python/compile.c b/Python/compile.c
index d2374a93f5..481cc85886 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1955,13 +1955,66 @@ compiler_try_except(struct compiler *c, stmt_ty s)
}
ADDOP(c, POP_TOP);
if (handler->name) {
+ basicblock *cleanup_end, *cleanup_body;
+ expr_context_ty orig_ctx;
+
+ assert(handler->name->kind == Name_kind);
+
+ cleanup_end = compiler_new_block(c);
+ cleanup_body = compiler_new_block(c);
+ if(!(cleanup_end || cleanup_body))
+ return 0;
+
VISIT(c, expr, handler->name);
+ ADDOP(c, POP_TOP);
+
+ /*
+ try:
+ # body
+ except type as name:
+ try:
+ # body
+ finally:
+ name = None
+ del name
+ */
+
+ /* second try: */
+ ADDOP_JREL(c, SETUP_FINALLY, cleanup_end);
+ compiler_use_next_block(c, cleanup_body);
+ if (!compiler_push_fblock(c, FINALLY_TRY, cleanup_body))
+ return 0;
+
+ /* second # body */
+ VISIT_SEQ(c, stmt, handler->body);
+ ADDOP(c, POP_BLOCK);
+ compiler_pop_fblock(c, FINALLY_TRY, cleanup_body);
+
+ /* finally: */
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ compiler_use_next_block(c, cleanup_end);
+ if (!compiler_push_fblock(c, FINALLY_END, cleanup_end))
+ return 0;
+
+ /* name = None */
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ orig_ctx = handler->name->v.Name.ctx;
+ handler->name->v.Name.ctx = Store;
+ VISIT(c, expr, handler->name);
+
+ /* del name */
+ handler->name->v.Name.ctx = Del;
+ VISIT(c, expr, handler->name);
+ handler->name->v.Name.ctx = orig_ctx;
+
+ ADDOP(c, END_FINALLY);
+ compiler_pop_fblock(c, FINALLY_END, cleanup_end);
}
else {
- ADDOP(c, POP_TOP);
+ ADDOP(c, POP_TOP);
+ ADDOP(c, POP_TOP);
+ VISIT_SEQ(c, stmt, handler->body);
}
- ADDOP(c, POP_TOP);
- VISIT_SEQ(c, stmt, handler->body);
ADDOP_JREL(c, JUMP_FORWARD, end);
compiler_use_next_block(c, except);
if (handler->type)
diff --git a/Python/graminit.c b/Python/graminit.c
index 93ee69a87e..3f0224045e 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -1049,7 +1049,7 @@ static arc arcs_46_1[2] = {
{0, 1},
};
static arc arcs_46_2[2] = {
- {28, 3},
+ {83, 3},
{0, 2},
};
static arc arcs_46_3[1] = {
diff --git a/Tools/audiopy/audiopy b/Tools/audiopy/audiopy
index b817c5cc05..869d87ada6 100755
--- a/Tools/audiopy/audiopy
+++ b/Tools/audiopy/audiopy
@@ -309,7 +309,7 @@ Email: bwarsaw@python.org''' % __version__)
info.o_gain = self.__scalevar.get()
try:
self.__devctl.setinfo(info)
- except sunaudiodev.error, msg:
+ except sunaudiodev.error as msg:
# TBD: what to do? it's probably temporary.
pass
@@ -496,7 +496,8 @@ Version: %s''' % __version__
# now set the values
try:
device.setinfo(info)
- except sunaudiodev.error, (code, msg):
+ except sunaudiodev.error as e:
+ (code, msg) = e
if code <> errno.EINVAL:
raise
device.close()
diff --git a/Tools/bgen/bgen/scantools.py b/Tools/bgen/bgen/scantools.py
index d809a65f24..bae29a0a1c 100644
--- a/Tools/bgen/bgen/scantools.py
+++ b/Tools/bgen/bgen/scantools.py
@@ -293,7 +293,7 @@ if missing: raise "Missing Types"
def openrepairfile(self, filename = "REPAIR"):
try:
return open(filename, "rU")
- except IOError, msg:
+ except IOError as msg:
print repr(filename), ":", msg
print "Cannot open repair file -- assume no repair needed"
return None
@@ -419,7 +419,7 @@ if missing: raise "Missing Types"
def openoutput(self, filename):
try:
file = open(filename, 'w')
- except IOError, arg:
+ except IOError as arg:
raise IOError, (filename, arg)
self.setfiletype(filename)
return file
@@ -460,7 +460,7 @@ if missing: raise "Missing Types"
# If not on the path, or absolute, try default open()
try:
return open(filename, 'rU')
- except IOError, arg:
+ except IOError as arg:
raise IOError, (arg, filename)
def getline(self):
diff --git a/Tools/compiler/compile.py b/Tools/compiler/compile.py
index 9d50425d38..51a9f0c19d 100644
--- a/Tools/compiler/compile.py
+++ b/Tools/compiler/compile.py
@@ -40,7 +40,7 @@ def main():
else:
compileFile(filename, DISPLAY)
- except SyntaxError, err:
+ except SyntaxError as err:
print err
if err.lineno is not None:
print err.lineno
diff --git a/Tools/compiler/regrtest.py b/Tools/compiler/regrtest.py
index 4244d62c04..d86d746055 100644
--- a/Tools/compiler/regrtest.py
+++ b/Tools/compiler/regrtest.py
@@ -42,7 +42,7 @@ def compile_files(dir):
print file,
try:
compileFile(source)
- except SyntaxError, err:
+ except SyntaxError as err:
print err
continue
# make sure the .pyc file is not over-written
diff --git a/Tools/faqwiz/faqw.py b/Tools/faqwiz/faqw.py
index a26e0d60ee..06db125ad3 100755
--- a/Tools/faqwiz/faqw.py
+++ b/Tools/faqwiz/faqw.py
@@ -24,7 +24,7 @@ try:
os.chdir(FAQDIR)
sys.path.insert(0, SRCDIR)
import faqwiz
-except SystemExit, n:
+except SystemExit as n:
sys.exit(n)
except:
t, v, tb = sys.exc_info()
diff --git a/Tools/faqwiz/faqwiz.py b/Tools/faqwiz/faqwiz.py
index bdd270c380..d8b8cd5559 100644
--- a/Tools/faqwiz/faqwiz.py
+++ b/Tools/faqwiz/faqwiz.py
@@ -348,7 +348,7 @@ class FaqDir:
raise InvalidFile(file)
try:
fp = open(file)
- except IOError, msg:
+ except IOError as msg:
raise NoSuchFile(file, msg)
try:
return self.entryclass(fp, file, sec_num)
@@ -387,11 +387,11 @@ class FaqWizard:
else:
try:
meth()
- except InvalidFile, exc:
+ except InvalidFile as exc:
self.error("Invalid entry file name %s" % exc.file)
- except NoSuchFile, exc:
+ except NoSuchFile as exc:
self.error("No entry with file name %s" % exc.file)
- except NoSuchSection, exc:
+ except NoSuchSection as exc:
self.error("No section number %s" % exc.section)
self.epilogue()
@@ -796,7 +796,7 @@ class FaqWizard:
pass
try:
f = open(file, 'w')
- except IOError, why:
+ except IOError as why:
self.error(CANTWRITE, file=file, why=why)
return
date = time.ctime(now)
diff --git a/Tools/freeze/checkextensions_win32.py b/Tools/freeze/checkextensions_win32.py
index a198ecf39b..ba3853c0be 100644
--- a/Tools/freeze/checkextensions_win32.py
+++ b/Tools/freeze/checkextensions_win32.py
@@ -131,7 +131,7 @@ def parse_dsp(dsp):
dsp_path, dsp_name = os.path.split(dsp)
try:
lines = open(dsp, "r").readlines()
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write("%s: %s\n" % (dsp, msg))
return None
for line in lines:
diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index 3e6a580231..786d53a685 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -145,7 +145,7 @@ def main():
if sys.argv[pos] == '-i':
try:
options = open(sys.argv[pos+1]).read().split()
- except IOError, why:
+ except IOError as why:
usage("File name '%s' specified with the -i option "
"can not be read - %s" % (sys.argv[pos+1], why) )
# Replace the '-i' and the filename with the read params.
@@ -156,7 +156,7 @@ def main():
# Now parse the command line with the extras inserted.
try:
opts, args = getopt.getopt(sys.argv[1:], 'r:a:dEe:hmo:p:P:qs:wX:x:l:')
- except getopt.error, msg:
+ except getopt.error as msg:
usage('getopt error: ' + str(msg))
# proces option arguments
@@ -311,7 +311,7 @@ def main():
try:
os.mkdir(odir)
print "Created output directory", odir
- except os.error, msg:
+ except os.error as msg:
usage('%s: mkdir failed (%s)' % (odir, str(msg)))
base = ''
if odir:
@@ -333,7 +333,7 @@ def main():
try:
custom_entry_point, python_entry_is_main = \
winmakemakefile.get_custom_entry_point(subsystem)
- except ValueError, why:
+ except ValueError as why:
usage(why)
diff --git a/Tools/i18n/msgfmt.py b/Tools/i18n/msgfmt.py
index 64331313cd..353be8b9c6 100755
--- a/Tools/i18n/msgfmt.py
+++ b/Tools/i18n/msgfmt.py
@@ -110,7 +110,7 @@ def make(filename, outfile):
try:
lines = open(infile).readlines()
- except IOError, msg:
+ except IOError as msg:
print >> sys.stderr, msg
sys.exit(1)
@@ -167,7 +167,7 @@ def make(filename, outfile):
try:
open(outfile,"wb").write(output)
- except IOError,msg:
+ except IOError as msg:
print >> sys.stderr, msg
@@ -176,7 +176,7 @@ def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'hVo:',
['help', 'version', 'output-file='])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(1, msg)
outfile = None
diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py
index eadd149ea4..24f1ce1541 100755
--- a/Tools/i18n/pygettext.py
+++ b/Tools/i18n/pygettext.py
@@ -512,7 +512,7 @@ def main():
'style=', 'verbose', 'version', 'width=', 'exclude-file=',
'docstrings', 'no-docstrings',
])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(1, msg)
# for holding option values
@@ -635,7 +635,7 @@ def main():
eater.set_filename(filename)
try:
tokenize.tokenize(fp.readline, eater)
- except tokenize.TokenError, e:
+ except tokenize.TokenError as e:
print >> sys.stderr, '%s: %s, line %d, column %d' % (
e[0], filename, e[1][0], e[1][1])
finally:
diff --git a/Tools/pybench/CommandLine.py b/Tools/pybench/CommandLine.py
index 6601be5fb5..ddf958d86a 100644
--- a/Tools/pybench/CommandLine.py
+++ b/Tools/pybench/CommandLine.py
@@ -347,7 +347,7 @@ class Application:
if rc is None:
rc = 0
- except SystemExit,rc:
+ except SystemExit as rc:
pass
except KeyboardInterrupt:
@@ -433,7 +433,7 @@ class Application:
files = l
self.optionlist = optlist
self.files = files + self.files
- except getopt.error,why:
+ except getopt.error as why:
self.help(why)
sys.exit(1)
diff --git a/Tools/pybench/pybench.py b/Tools/pybench/pybench.py
index 392ff50fe2..e0ff732471 100755
--- a/Tools/pybench/pybench.py
+++ b/Tools/pybench/pybench.py
@@ -865,7 +865,7 @@ python pybench.py -s p25.pybench -c p21.pybench
bench.name = compare_to
f.close()
compare_to = bench
- except IOError, reason:
+ except IOError as reason:
print '* Error opening/reading file %s: %s' % (
repr(compare_to),
reason)
@@ -885,7 +885,7 @@ python pybench.py -s p25.pybench -c p21.pybench
else:
bench.print_benchmark(hidenoise=hidenoise,
limitnames=limitnames)
- except IOError, reason:
+ except IOError as reason:
print '* Error opening/reading file %s: %s' % (
repr(show_bench),
reason)
@@ -931,9 +931,9 @@ python pybench.py -s p25.pybench -c p21.pybench
bench.name = reportfile
pickle.dump(bench,f)
f.close()
- except IOError, reason:
+ except IOError as reason:
print '* Error opening/writing reportfile'
- except IOError, reason:
+ except IOError as reason:
print '* Error opening/writing reportfile %s: %s' % (
reportfile,
reason)
diff --git a/Tools/pynche/Main.py b/Tools/pynche/Main.py
index 1fa3f175c8..a0a2d81a31 100644
--- a/Tools/pynche/Main.py
+++ b/Tools/pynche/Main.py
@@ -186,7 +186,7 @@ def main():
sys.argv[1:],
'hd:i:Xv',
['database=', 'initfile=', 'ignore', 'help', 'version'])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(1, msg)
if len(args) == 0:
diff --git a/Tools/scripts/byext.py b/Tools/scripts/byext.py
index 09610b00b9..998b4c0f72 100755
--- a/Tools/scripts/byext.py
+++ b/Tools/scripts/byext.py
@@ -24,7 +24,7 @@ class Stats:
self.addstats("<dir>", "dirs", 1)
try:
names = os.listdir(dir)
- except os.error, err:
+ except os.error as err:
sys.stderr.write("Can't list %s: %s\n" % (dir, err))
self.addstats("<dir>", "unlistable", 1)
return
@@ -53,7 +53,7 @@ class Stats:
self.addstats(ext, "files", 1)
try:
f = open(filename, "rb")
- except IOError, err:
+ except IOError as err:
sys.stderr.write("Can't open %s: %s\n" % (filename, err))
self.addstats(ext, "unopenable", 1)
return
diff --git a/Tools/scripts/byteyears.py b/Tools/scripts/byteyears.py
index ba38cafd17..b4d43356b9 100755
--- a/Tools/scripts/byteyears.py
+++ b/Tools/scripts/byteyears.py
@@ -43,7 +43,7 @@ def main():
for filename in sys.argv[1:]:
try:
st = statfunc(filename)
- except os.error, msg:
+ except os.error as msg:
sys.stderr.write("can't stat %r: %r\n" % (filename, msg))
status = 1
st = ()
diff --git a/Tools/scripts/checkappend.py b/Tools/scripts/checkappend.py
index a8714d9368..2025ba90bf 100755
--- a/Tools/scripts/checkappend.py
+++ b/Tools/scripts/checkappend.py
@@ -50,7 +50,7 @@ def main():
global verbose
try:
opts, args = getopt.getopt(sys.argv[1:], "v")
- except getopt.error, msg:
+ except getopt.error as msg:
errprint(str(msg) + "\n\n" + __doc__)
return
for opt, optarg in opts:
@@ -77,7 +77,7 @@ def check(file):
try:
f = open(file)
- except IOError, msg:
+ except IOError as msg:
errprint("%r: I/O Error: %s" % (file, msg))
return
@@ -104,7 +104,7 @@ class AppendChecker:
def run(self):
try:
tokenize.tokenize(self.file.readline, self.tokeneater)
- except tokenize.TokenError, msg:
+ except tokenize.TokenError as msg:
errprint("%r: Token Error: %s" % (self.fname, msg))
self.nerrors = self.nerrors + 1
return self.nerrors == 0
diff --git a/Tools/scripts/classfix.py b/Tools/scripts/classfix.py
index d30700fbf8..f65e63035e 100755
--- a/Tools/scripts/classfix.py
+++ b/Tools/scripts/classfix.py
@@ -62,7 +62,7 @@ def recursedown(dirname):
bad = 0
try:
names = os.listdir(dirname)
- except os.error, msg:
+ except os.error as msg:
err('%s: cannot list directory: %r\n' % (dirname, msg))
return 1
names.sort()
@@ -83,7 +83,7 @@ def fix(filename):
## dbg('fix(%r)\n' % (filename,))
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
err('%s: cannot open: %r\n' % (filename, msg))
return 1
head, tail = os.path.split(filename)
@@ -106,7 +106,7 @@ def fix(filename):
if g is None:
try:
g = open(tempname, 'w')
- except IOError, msg:
+ except IOError as msg:
f.close()
err('%s: cannot create: %r\n' % (tempname, msg))
return 1
@@ -130,17 +130,17 @@ def fix(filename):
try:
statbuf = os.stat(filename)
os.chmod(tempname, statbuf[ST_MODE] & 07777)
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: chmod failed (%r)\n' % (tempname, msg))
# Then make a backup of the original file as filename~
try:
os.rename(filename, filename + '~')
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: backup failed (%r)\n' % (filename, msg))
# Now move the temp file to the original file
try:
os.rename(tempname, filename)
- except os.error, msg:
+ except os.error as msg:
err('%s: rename failed (%r)\n' % (filename, msg))
return 1
# Return succes
diff --git a/Tools/scripts/cleanfuture.py b/Tools/scripts/cleanfuture.py
index 3f2da3a986..0e90cd3d22 100644
--- a/Tools/scripts/cleanfuture.py
+++ b/Tools/scripts/cleanfuture.py
@@ -59,7 +59,7 @@ def main():
global verbose, recurse, dryrun
try:
opts, args = getopt.getopt(sys.argv[1:], "drv")
- except getopt.error, msg:
+ except getopt.error as msg:
errprint(msg)
return
for o, a in opts:
@@ -92,7 +92,7 @@ def check(file):
print "checking", file, "...",
try:
f = open(file)
- except IOError, msg:
+ except IOError as msg:
errprint("%r: I/O Error: %s" % (file, str(msg)))
return
diff --git a/Tools/scripts/cvsfiles.py b/Tools/scripts/cvsfiles.py
index 53b42943ce..eac59455b2 100755
--- a/Tools/scripts/cvsfiles.py
+++ b/Tools/scripts/cvsfiles.py
@@ -20,7 +20,7 @@ cutofftime = 0
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "n:")
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print __doc__,
return 1
diff --git a/Tools/scripts/dutree.py b/Tools/scripts/dutree.py
index d938ae153e..c9f6ea8c28 100755
--- a/Tools/scripts/dutree.py
+++ b/Tools/scripts/dutree.py
@@ -18,7 +18,7 @@ def main():
total, d = store(size, comps, total, d)
try:
display(total, d)
- except IOError, e:
+ except IOError as e:
if e.errno != errno.EPIPE:
raise
diff --git a/Tools/scripts/finddiv.py b/Tools/scripts/finddiv.py
index 97f63316c7..8fdc52b070 100755
--- a/Tools/scripts/finddiv.py
+++ b/Tools/scripts/finddiv.py
@@ -23,7 +23,7 @@ import tokenize
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "lh")
- except getopt.error, msg:
+ except getopt.error as msg:
usage(msg)
return 2
if not args:
@@ -52,7 +52,7 @@ def process(filename, listnames):
return processdir(filename, listnames)
try:
fp = open(filename)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write("Can't open: %s\n" % msg)
return 1
g = tokenize.generate_tokens(fp.readline)
@@ -70,7 +70,7 @@ def process(filename, listnames):
def processdir(dir, listnames):
try:
names = os.listdir(dir)
- except os.error, msg:
+ except os.error as msg:
sys.stderr.write("Can't list directory: %s\n" % dir)
return 1
files = []
diff --git a/Tools/scripts/findlinksto.py b/Tools/scripts/findlinksto.py
index 8dd4bfb3cb..f23316d573 100755
--- a/Tools/scripts/findlinksto.py
+++ b/Tools/scripts/findlinksto.py
@@ -14,7 +14,7 @@ def main():
opts, args = getopt.getopt(sys.argv[1:], '')
if len(args) < 2:
raise getopt.GetoptError('not enough arguments', None)
- except getopt.GetoptError, msg:
+ except getopt.GetoptError as msg:
sys.stdout = sys.stderr
print msg
print 'usage: findlinksto pattern directory ...'
diff --git a/Tools/scripts/findnocoding.py b/Tools/scripts/findnocoding.py
index 537f0a1853..28a299aaa0 100755
--- a/Tools/scripts/findnocoding.py
+++ b/Tools/scripts/findnocoding.py
@@ -78,7 +78,7 @@ usage = """Usage: %s [-cd] paths...
try:
opts, args = getopt.getopt(sys.argv[1:], 'cd')
-except getopt.error, msg:
+except getopt.error as msg:
print >>sys.stderr, msg
print >>sys.stderr, usage
sys.exit(1)
diff --git a/Tools/scripts/fixcid.py b/Tools/scripts/fixcid.py
index 433a4254e4..29e0e1030c 100755
--- a/Tools/scripts/fixcid.py
+++ b/Tools/scripts/fixcid.py
@@ -62,7 +62,7 @@ def usage():
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'crs:')
- except getopt.error, msg:
+ except getopt.error as msg:
err('Options error: ' + str(msg) + '\n')
usage()
sys.exit(2)
@@ -97,7 +97,7 @@ def recursedown(dirname):
bad = 0
try:
names = os.listdir(dirname)
- except os.error, msg:
+ except os.error as msg:
err(dirname + ': cannot list directory: ' + str(msg) + '\n')
return 1
names.sort()
@@ -124,7 +124,7 @@ def fix(filename):
# File replacement mode
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
err(filename + ': cannot open: ' + str(msg) + '\n')
return 1
head, tail = os.path.split(filename)
@@ -148,7 +148,7 @@ def fix(filename):
if g is None:
try:
g = open(tempname, 'w')
- except IOError, msg:
+ except IOError as msg:
f.close()
err(tempname+': cannot create: '+
str(msg)+'\n')
@@ -175,17 +175,17 @@ def fix(filename):
try:
statbuf = os.stat(filename)
os.chmod(tempname, statbuf[ST_MODE] & 07777)
- except os.error, msg:
+ except os.error as msg:
err(tempname + ': warning: chmod failed (' + str(msg) + ')\n')
# Then make a backup of the original file as filename~
try:
os.rename(filename, filename + '~')
- except os.error, msg:
+ except os.error as msg:
err(filename + ': warning: backup failed (' + str(msg) + ')\n')
# Now move the temp file to the original file
try:
os.rename(tempname, filename)
- except os.error, msg:
+ except os.error as msg:
err(filename + ': rename failed (' + str(msg) + ')\n')
return 1
# Return succes
@@ -276,7 +276,7 @@ NotInComment = {}
def addsubst(substfile):
try:
fp = open(substfile, 'r')
- except IOError, msg:
+ except IOError as msg:
err(substfile + ': cannot read substfile: ' + str(msg) + '\n')
sys.exit(1)
lineno = 0
diff --git a/Tools/scripts/fixdiv.py b/Tools/scripts/fixdiv.py
index b2cab888a6..98b8a817c9 100755
--- a/Tools/scripts/fixdiv.py
+++ b/Tools/scripts/fixdiv.py
@@ -140,7 +140,7 @@ multi_ok = 0
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "hm")
- except getopt.error, msg:
+ except getopt.error as msg:
usage(msg)
return 2
for o, a in opts:
@@ -181,7 +181,7 @@ def readwarnings(warningsfile):
prog = re.compile(PATTERN)
try:
f = open(warningsfile)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write("can't open: %s\n" % msg)
return
warnings = {}
@@ -207,7 +207,7 @@ def process(filename, list):
assert list # if this fails, readwarnings() is broken
try:
fp = open(filename)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write("can't open: %s\n" % msg)
return 1
print "Index:", filename
diff --git a/Tools/scripts/fixheader.py b/Tools/scripts/fixheader.py
index 1bf5c526b8..8e8ac59cd8 100755
--- a/Tools/scripts/fixheader.py
+++ b/Tools/scripts/fixheader.py
@@ -12,7 +12,7 @@ def main():
def process(filename):
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg)))
return
data = f.read()
@@ -22,7 +22,7 @@ def process(filename):
return
try:
f = open(filename, 'w')
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg)))
return
sys.stderr.write('Processing %s ...\n' % filename)
diff --git a/Tools/scripts/fixnotice.py b/Tools/scripts/fixnotice.py
index 0ae4872003..eedf5ba12b 100755
--- a/Tools/scripts/fixnotice.py
+++ b/Tools/scripts/fixnotice.py
@@ -62,7 +62,7 @@ def main():
opts, args = getopt.getopt(sys.argv[1:], 'hv',
['help', 'oldnotice=', 'newnotice=',
'dry-run', 'verbose'])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(1, msg)
for opt, arg in opts:
diff --git a/Tools/scripts/fixps.py b/Tools/scripts/fixps.py
index 2ff15f41ef..c858e5911f 100755
--- a/Tools/scripts/fixps.py
+++ b/Tools/scripts/fixps.py
@@ -11,7 +11,7 @@ def main():
for filename in sys.argv[1:]:
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
print filename, ': can\'t open :', msg
continue
line = f.readline()
diff --git a/Tools/scripts/ftpmirror.py b/Tools/scripts/ftpmirror.py
index caade16551..39ef18e661 100755
--- a/Tools/scripts/ftpmirror.py
+++ b/Tools/scripts/ftpmirror.py
@@ -45,7 +45,7 @@ def main():
global verbose, interactive, mac, rmok, nologin
try:
opts, args = getopt.getopt(sys.argv[1:], 'a:bil:mnp:qrs:v')
- except getopt.error, msg:
+ except getopt.error as msg:
usage(msg)
login = ''
passwd = ''
@@ -108,13 +108,13 @@ def mirrorsubdir(f, localdir):
if verbose: print 'Creating local directory', repr(localdir)
try:
makedir(localdir)
- except os.error, msg:
+ except os.error as msg:
print "Failed to establish local directory", repr(localdir)
return
infofilename = os.path.join(localdir, '.mirrorinfo')
try:
text = open(infofilename, 'r').read()
- except IOError, msg:
+ except IOError as msg:
text = '{}'
try:
info = eval(text)
@@ -190,13 +190,13 @@ def mirrorsubdir(f, localdir):
print "Creating symlink %r -> %r" % (filename, linkto)
try:
os.symlink(linkto, tempname)
- except IOError, msg:
+ except IOError as msg:
print "Can't create %r: %s" % (tempname, msg)
continue
else:
try:
fp = open(tempname, 'wb')
- except IOError, msg:
+ except IOError as msg:
print "Can't create %r: %s" % (tempname, msg)
continue
if verbose:
@@ -209,7 +209,7 @@ def mirrorsubdir(f, localdir):
try:
f.retrbinary('RETR ' + filename,
fp1.write, 8*1024)
- except ftplib.error_perm, msg:
+ except ftplib.error_perm as msg:
print msg
t1 = time.time()
bytes = fp.tell()
@@ -222,7 +222,7 @@ def mirrorsubdir(f, localdir):
pass # Ignore the error
try:
os.rename(tempname, fullname)
- except os.error, msg:
+ except os.error as msg:
print "Can't rename %r to %r: %s" % (tempname, fullname, msg)
continue
info[filename] = infostuff
@@ -292,7 +292,7 @@ def mirrorsubdir(f, localdir):
print 'Remote cwd', repr(subdir)
try:
f.cwd(subdir)
- except ftplib.error_perm, msg:
+ except ftplib.error_perm as msg:
print "Can't chdir to", repr(subdir), ":", repr(msg)
else:
if verbose: print 'Mirroring as', repr(localsubdir)
@@ -322,13 +322,13 @@ def remove(fullname):
return 0
try:
os.rmdir(fullname)
- except os.error, msg:
+ except os.error as msg:
print "Can't remove local directory %r: %s" % (fullname, msg)
return 0
else:
try:
os.unlink(fullname)
- except os.error, msg:
+ except os.error as msg:
print "Can't remove local file %r: %s" % (fullname, msg)
return 0
return 1
diff --git a/Tools/scripts/linktree.py b/Tools/scripts/linktree.py
index 995f2efa9e..7f17046453 100755
--- a/Tools/scripts/linktree.py
+++ b/Tools/scripts/linktree.py
@@ -32,13 +32,13 @@ def main():
return 1
try:
os.mkdir(newtree, 0777)
- except os.error, msg:
+ except os.error as msg:
print newtree + ': cannot mkdir:', msg
return 1
linkname = os.path.join(newtree, link)
try:
os.symlink(os.path.join(os.pardir, oldtree), linkname)
- except os.error, msg:
+ except os.error as msg:
if not link_may_fail:
print linkname + ': cannot symlink:', msg
return 1
@@ -51,7 +51,7 @@ def linknames(old, new, link):
if debug: print 'linknames', (old, new, link)
try:
names = os.listdir(old)
- except os.error, msg:
+ except os.error as msg:
print old + ': warning: cannot listdir:', msg
return
for name in names:
diff --git a/Tools/scripts/logmerge.py b/Tools/scripts/logmerge.py
index edfec2c45d..d07dfc6a13 100755
--- a/Tools/scripts/logmerge.py
+++ b/Tools/scripts/logmerge.py
@@ -180,6 +180,6 @@ def format_output(database):
if __name__ == '__main__':
try:
main()
- except IOError, e:
+ except IOError as e:
if e.errno != errno.EPIPE:
raise
diff --git a/Tools/scripts/md5sum.py b/Tools/scripts/md5sum.py
index e045f1a719..140c0b3e1a 100644
--- a/Tools/scripts/md5sum.py
+++ b/Tools/scripts/md5sum.py
@@ -43,7 +43,7 @@ def sum(*files):
def printsum(filename, out=sys.stdout):
try:
fp = open(filename, rmode)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write('%s: Can\'t open: %s\n' % (filename, msg))
return 1
if fnfilter:
@@ -60,7 +60,7 @@ def printsumfp(fp, filename, out=sys.stdout):
if not data:
break
m.update(data)
- except IOError, msg:
+ except IOError as msg:
sys.stderr.write('%s: I/O error: %s\n' % (filename, msg))
return 1
out.write('%s %s\n' % (m.hexdigest(), filename))
@@ -70,7 +70,7 @@ def main(args = sys.argv[1:], out=sys.stdout):
global fnfilter, rmode, bufsize
try:
opts, args = getopt.getopt(args, 'blts:')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stderr.write('%s: %s\n%s' % (sys.argv[0], msg, usage))
return 2
for o, a in opts:
diff --git a/Tools/scripts/methfix.py b/Tools/scripts/methfix.py
index b81871ff6a..11875a1835 100755
--- a/Tools/scripts/methfix.py
+++ b/Tools/scripts/methfix.py
@@ -59,7 +59,7 @@ def recursedown(dirname):
bad = 0
try:
names = os.listdir(dirname)
- except os.error, msg:
+ except os.error as msg:
err('%s: cannot list directory: %r\n' % (dirname, msg))
return 1
names.sort()
@@ -80,7 +80,7 @@ def fix(filename):
## dbg('fix(%r)\n' % (filename,))
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
err('%s: cannot open: %r\n' % (filename, msg))
return 1
head, tail = os.path.split(filename)
@@ -117,7 +117,7 @@ def fix(filename):
if g is None:
try:
g = open(tempname, 'w')
- except IOError, msg:
+ except IOError as msg:
f.close()
err('%s: cannot create: %r\n' % (tempname, msg))
return 1
@@ -141,17 +141,17 @@ def fix(filename):
try:
statbuf = os.stat(filename)
os.chmod(tempname, statbuf[ST_MODE] & 07777)
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: chmod failed (%r)\n' % (tempname, msg))
# Then make a backup of the original file as filename~
try:
os.rename(filename, filename + '~')
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: backup failed (%r)\n' % (filename, msg))
# Now move the temp file to the original file
try:
os.rename(tempname, filename)
- except os.error, msg:
+ except os.error as msg:
err('%s: rename failed (%r)\n' % (filename, msg))
return 1
# Return succes
diff --git a/Tools/scripts/ndiff.py b/Tools/scripts/ndiff.py
index 88712b8140..2afc1326f8 100755
--- a/Tools/scripts/ndiff.py
+++ b/Tools/scripts/ndiff.py
@@ -61,7 +61,7 @@ def fail(msg):
def fopen(fname):
try:
return open(fname, 'U')
- except IOError, detail:
+ except IOError as detail:
return fail("couldn't open " + fname + ": " + str(detail))
# open two files & spray the diff to stdout; return false iff a problem
@@ -85,7 +85,7 @@ def main(args):
import getopt
try:
opts, args = getopt.getopt(args, "qr:")
- except getopt.error, detail:
+ except getopt.error as detail:
return fail(str(detail))
noisy = 1
qseen = rseen = 0
diff --git a/Tools/scripts/pathfix.py b/Tools/scripts/pathfix.py
index 7f6f191bbe..c59c0f21e3 100755
--- a/Tools/scripts/pathfix.py
+++ b/Tools/scripts/pathfix.py
@@ -37,7 +37,7 @@ def main():
sys.argv[0])
try:
opts, args = getopt.getopt(sys.argv[1:], 'i:')
- except getopt.error, msg:
+ except getopt.error as msg:
err(msg + '\n')
err(usage)
sys.exit(2)
@@ -68,7 +68,7 @@ def recursedown(dirname):
bad = 0
try:
names = os.listdir(dirname)
- except os.error, msg:
+ except os.error as msg:
err('%s: cannot list directory: %r\n' % (dirname, msg))
return 1
names.sort()
@@ -89,7 +89,7 @@ def fix(filename):
## dbg('fix(%r)\n' % (filename,))
try:
f = open(filename, 'r')
- except IOError, msg:
+ except IOError as msg:
err('%s: cannot open: %r\n' % (filename, msg))
return 1
line = f.readline()
@@ -102,7 +102,7 @@ def fix(filename):
tempname = os.path.join(head, '@' + tail)
try:
g = open(tempname, 'w')
- except IOError, msg:
+ except IOError as msg:
f.close()
err('%s: cannot create: %r\n' % (tempname, msg))
return 1
@@ -122,17 +122,17 @@ def fix(filename):
try:
statbuf = os.stat(filename)
os.chmod(tempname, statbuf[ST_MODE] & 07777)
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: chmod failed (%r)\n' % (tempname, msg))
# Then make a backup of the original file as filename~
try:
os.rename(filename, filename + '~')
- except os.error, msg:
+ except os.error as msg:
err('%s: warning: backup failed (%r)\n' % (filename, msg))
# Now move the temp file to the original file
try:
os.rename(tempname, filename)
- except os.error, msg:
+ except os.error as msg:
err('%s: rename failed (%r)\n' % (filename, msg))
return 1
# Return succes
diff --git a/Tools/scripts/pindent.py b/Tools/scripts/pindent.py
index 89ed9e6999..9f444f2d2a 100755
--- a/Tools/scripts/pindent.py
+++ b/Tools/scripts/pindent.py
@@ -491,7 +491,7 @@ def test():
import getopt
try:
opts, args = getopt.getopt(sys.argv[1:], 'cdrs:t:e')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stderr.write('Error: %s\n' % msg)
sys.stderr.write(usage)
sys.exit(2)
diff --git a/Tools/scripts/pysource.py b/Tools/scripts/pysource.py
index 71e0ded9cf..98a78f0b46 100644
--- a/Tools/scripts/pysource.py
+++ b/Tools/scripts/pysource.py
@@ -33,7 +33,7 @@ def print_debug(msg):
def _open(fullpath):
try:
size = os.stat(fullpath).st_size
- except OSError, err: # Permission denied - ignore the file
+ except OSError as err: # Permission denied - ignore the file
print_debug("%s: permission denied: %s" % (fullpath, err))
return None
@@ -43,7 +43,7 @@ def _open(fullpath):
try:
return open(fullpath, 'rU')
- except IOError, err: # Access denied, or a special file - ignore it
+ except IOError as err: # Access denied, or a special file - ignore it
print_debug("%s: access denied: %s" % (fullpath, err))
return None
@@ -81,7 +81,7 @@ def can_be_compiled(fullpath):
try:
compile(code, fullpath, "exec")
- except Exception, err:
+ except Exception as err:
print_debug("%s: cannot compile: %s" % (fullpath, err))
return False
diff --git a/Tools/scripts/redemo.py b/Tools/scripts/redemo.py
index de7f3c4a21..b9bfb9668b 100644
--- a/Tools/scripts/redemo.py
+++ b/Tools/scripts/redemo.py
@@ -104,7 +104,7 @@ class ReDemo:
self.getflags())
bg = self.promptdisplay['background']
self.statusdisplay.config(text="", background=bg)
- except re.error, msg:
+ except re.error as msg:
self.compiled = None
self.statusdisplay.config(
text="re.error: %s" % str(msg),
diff --git a/Tools/scripts/reindent.py b/Tools/scripts/reindent.py
index 5ac98c7f7b..70242cccd7 100644
--- a/Tools/scripts/reindent.py
+++ b/Tools/scripts/reindent.py
@@ -61,7 +61,7 @@ def main():
try:
opts, args = getopt.getopt(sys.argv[1:], "drvh",
["dryrun", "recurse", "verbose", "help"])
- except getopt.error, msg:
+ except getopt.error as msg:
usage(msg)
return
for o, a in opts:
@@ -99,7 +99,7 @@ def check(file):
print "checking", file, "...",
try:
f = open(file)
- except IOError, msg:
+ except IOError as msg:
errprint("%s: I/O Error: %s" % (file, str(msg)))
return
diff --git a/Tools/scripts/rgrep.py b/Tools/scripts/rgrep.py
index b64420645e..9d3d595c6b 100755
--- a/Tools/scripts/rgrep.py
+++ b/Tools/scripts/rgrep.py
@@ -23,11 +23,11 @@ def main():
pattern, filename = args
try:
prog = re.compile(pattern, reflags)
- except re.error, msg:
+ except re.error as msg:
usage("error in regular expression: %s" % str(msg))
try:
f = open(filename)
- except IOError, msg:
+ except IOError as msg:
usage("can't open %s: %s" % (repr(filename), str(msg)), 1)
f.seek(0, 2)
pos = f.tell()
diff --git a/Tools/scripts/texi2html.py b/Tools/scripts/texi2html.py
index 3ecaee68fe..d849d7ccd9 100755
--- a/Tools/scripts/texi2html.py
+++ b/Tools/scripts/texi2html.py
@@ -554,7 +554,7 @@ class TexinfoParser:
file = os.path.join(self.includedir, file)
try:
fp = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print '*** Can\'t open include file', repr(file)
return
print '!'*self.debugging, '--> file', repr(file)
@@ -1797,7 +1797,7 @@ class HTMLHelp:
print>>fp, ''
self.dumpfiles(fp)
fp.close()
- except IOError, msg:
+ except IOError as msg:
print projectfile, ':', msg
sys.exit(1)
@@ -1822,7 +1822,7 @@ class HTMLHelp:
print>>fp, '</BODY>'
print>>fp, '</HTML>'
fp.close()
- except IOError, msg:
+ except IOError as msg:
print contentfile, ':', msg
sys.exit(1)
@@ -1844,7 +1844,7 @@ class HTMLHelp:
print>>fp, '</BODY>'
print>>fp, '</HTML>'
fp.close()
- except IOError, msg:
+ except IOError as msg:
print indexfile , ':', msg
sys.exit(1)
@@ -2063,7 +2063,7 @@ def test():
try:
fp = open(file, 'r')
- except IOError, msg:
+ except IOError as msg:
print file, ':', msg
sys.exit(1)
diff --git a/Tools/scripts/treesync.py b/Tools/scripts/treesync.py
index 4fb1798c60..a7a20987c9 100755
--- a/Tools/scripts/treesync.py
+++ b/Tools/scripts/treesync.py
@@ -78,7 +78,7 @@ def process(slave, master):
print "creating slave directory", slave
try:
os.mkdir(slave)
- except os.error, msg:
+ except os.error as msg:
print "can't make slave directory", slave, ":", msg
return
else:
diff --git a/Tools/scripts/untabify.py b/Tools/scripts/untabify.py
index 9bdf235b67..e4a2cc0d59 100755
--- a/Tools/scripts/untabify.py
+++ b/Tools/scripts/untabify.py
@@ -12,7 +12,7 @@ def main():
opts, args = getopt.getopt(sys.argv[1:], "t:")
if not args:
raise getopt.error, "At least one file argument required"
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print "usage:", sys.argv[0], "[-t tabwidth] file ..."
return
@@ -28,7 +28,7 @@ def process(filename, tabsize):
f = open(filename)
text = f.read()
f.close()
- except IOError, msg:
+ except IOError as msg:
print "%r: I/O error: %s" % (filename, msg)
return
newtext = text.expandtabs(tabsize)
diff --git a/Tools/unicode/comparecodecs.py b/Tools/unicode/comparecodecs.py
index cd417a48b0..a293283c8e 100644
--- a/Tools/unicode/comparecodecs.py
+++ b/Tools/unicode/comparecodecs.py
@@ -18,11 +18,11 @@ def compare_codecs(encoding1, encoding2):
u = unichr(i)
try:
c1 = u.encode(encoding1)
- except UnicodeError, reason:
+ except UnicodeError as reason:
c1 = '<undefined>'
try:
c2 = u.encode(encoding2)
- except UnicodeError, reason:
+ except UnicodeError as reason:
c2 = '<undefined>'
if c1 != c2:
print ' * encoding mismatch for 0x%04X: %-14r != %r' % \
diff --git a/Tools/unicode/gencodec.py b/Tools/unicode/gencodec.py
index dabcd72387..47d81ebf53 100644
--- a/Tools/unicode/gencodec.py
+++ b/Tools/unicode/gencodec.py
@@ -130,7 +130,7 @@ def hexrepr(t, precision=4):
try:
return '(' + ', '.join(['0x%0*X' % (precision, item)
for item in t]) + ')'
- except TypeError, why:
+ except TypeError as why:
print '* failed to convert %r: %s' % (t, why)
raise
@@ -393,7 +393,7 @@ def convertdir(dir, dirprefix='', nameprefix='', comments=1):
else:
pymap(mappathname, map, dirprefix + codefile,name,comments)
marshalmap(mappathname, map, dirprefix + marshalfile)
- except ValueError, why:
+ except ValueError as why:
print '* conversion failed: %s' % why
raise
@@ -414,7 +414,7 @@ def rewritepythondir(dir, dirprefix='', comments=1):
print '* map is empty; skipping'
else:
pymap(mapname, map, dirprefix + codefile,name,comments)
- except ValueError, why:
+ except ValueError as why:
print '* conversion failed: %s' % why
if __name__ == '__main__':
diff --git a/Tools/unicode/listcodecs.py b/Tools/unicode/listcodecs.py
index 19d21e1871..c196cede4e 100644
--- a/Tools/unicode/listcodecs.py
+++ b/Tools/unicode/listcodecs.py
@@ -22,7 +22,7 @@ def listcodecs(dir):
except LookupError:
# Codec not found
continue
- except Exception, reason:
+ except Exception as reason:
# Probably an error from importing the codec; still it's
# a valid code name
if _debug:
diff --git a/Tools/versioncheck/pyversioncheck.py b/Tools/versioncheck/pyversioncheck.py
index 144665383e..00ea49680b 100644
--- a/Tools/versioncheck/pyversioncheck.py
+++ b/Tools/versioncheck/pyversioncheck.py
@@ -49,7 +49,7 @@ def _check1version(package, url, version, verbose=0):
print ' Checking %s'%url
try:
fp = urllib.urlopen(url)
- except IOError, arg:
+ except IOError as arg:
if verbose >= VERBOSE_EACHFILE:
print ' Cannot open:', arg
return -1, None, None
diff --git a/Tools/webchecker/wcgui.py b/Tools/webchecker/wcgui.py
index 96aed0a6b2..c6e216c225 100755
--- a/Tools/webchecker/wcgui.py
+++ b/Tools/webchecker/wcgui.py
@@ -74,7 +74,7 @@ if sys.platform == 'mac':
def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 't:m:qva')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stdout = sys.stderr
print msg
print __doc__%vars(webchecker)
diff --git a/Tools/webchecker/webchecker.py b/Tools/webchecker/webchecker.py
index 923e8e6669..10e93c717e 100755
--- a/Tools/webchecker/webchecker.py
+++ b/Tools/webchecker/webchecker.py
@@ -153,7 +153,7 @@ def main():
try:
opts, args = getopt.getopt(sys.argv[1:], 'Rd:m:nqr:t:vxa')
- except getopt.error, msg:
+ except getopt.error as msg:
sys.stdout = sys.stderr
print msg
print __doc__%globals()
@@ -335,7 +335,7 @@ class Checker:
rp.set_url(url)
try:
rp.read()
- except (OSError, IOError), msg:
+ except (OSError, IOError) as msg:
self.note(1, "I/O error parsing %s: %s", url, msg)
def run(self):
@@ -402,7 +402,7 @@ class Checker:
return
try:
page = self.getpage(url_pair)
- except sgmllib.SGMLParseError, msg:
+ except sgmllib.SGMLParseError as msg:
msg = self.sanitize(msg)
self.note(0, "Error parsing %s: %s",
self.format_url(url_pair), msg)
@@ -541,7 +541,7 @@ class Checker:
url, fragment = url_pair
try:
return self.urlopener.open(url)
- except (OSError, IOError), msg:
+ except (OSError, IOError) as msg:
msg = self.sanitize(msg)
self.note(0, "Error %s", msg)
if self.verbose > 0:
@@ -759,7 +759,7 @@ class MyURLopener(urllib.FancyURLopener):
return self.open_file(url + "index.html")
try:
names = os.listdir(path)
- except os.error, msg:
+ except os.error as msg:
exc_type, exc_value, exc_tb = sys.exc_info()
raise IOError, msg, exc_tb
names.sort()
diff --git a/Tools/webchecker/websucker.py b/Tools/webchecker/websucker.py
index ef2fa44d7e..239cb529af 100755
--- a/Tools/webchecker/websucker.py
+++ b/Tools/webchecker/websucker.py
@@ -21,7 +21,7 @@ def main():
verbose = webchecker.VERBOSE
try:
opts, args = getopt.getopt(sys.argv[1:], "qv")
- except getopt.error, msg:
+ except getopt.error as msg:
print msg
print "usage:", sys.argv[0], "[-qv] ... [rooturl] ..."
return 2
@@ -83,7 +83,7 @@ class Sucker(webchecker.Checker):
f.write(text)
f.close()
self.message("saved %s", path)
- except IOError, msg:
+ except IOError as msg:
self.message("didn't save %s: %s", path, str(msg))
def savefilename(self, url):
diff --git a/setup.py b/setup.py
index 1f529e3af0..b4165189e2 100644
--- a/setup.py
+++ b/setup.py
@@ -186,7 +186,7 @@ class PyBuildExt(build_ext):
try:
build_ext.build_extension(self, ext)
- except (CCompilerError, DistutilsError), why:
+ except (CCompilerError, DistutilsError) as why:
self.announce('WARNING: building of extension "%s" failed: %s' %
(ext.name, sys.exc_info()[1]))
return
@@ -208,7 +208,7 @@ class PyBuildExt(build_ext):
self.get_ext_filename(self.get_ext_fullname(ext.name)))
try:
imp.load_dynamic(ext.name, ext_filename)
- except ImportError, why:
+ except ImportError as why:
self.announce('*** WARNING: renaming "%s" since importing it'
' failed: %s' % (ext.name, why), level=3)
assert not self.inplace