SF patch 1631942 by Collin Winter:
(a) "except E, V" -> "except E as V"
(b) V is now limited to a simple name (local variable)
(c) V is now deleted at the end of the except block
diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py
index 88e9900..a37ee7b 100644
--- a/Lib/test/test_runpy.py
+++ b/Lib/test/test_runpy.py
@@ -117,7 +117,7 @@
             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 @@
             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):