diff --git a/Doc/lib/email-unpack.py b/Doc/lib/email-unpack.py
index fb03e58..e596b98 100644
--- a/Doc/lib/email-unpack.py
+++ b/Doc/lib/email-unpack.py
@@ -35,7 +35,7 @@
 
     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 e965e31..b87bc9d 100644
--- a/Doc/lib/libcsv.tex
+++ b/Doc/lib/libcsv.tex
@@ -426,7 +426,7 @@
 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 b38fcd8..7930acd 100644
--- a/Doc/lib/libgetopt.tex
+++ b/Doc/lib/libgetopt.tex
@@ -126,7 +126,7 @@
 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 449d741..3037e0b 100644
--- a/Doc/lib/libshutil.tex
+++ b/Doc/lib/libshutil.tex
@@ -144,6 +144,6 @@
                 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 f20c56c..69877d3 100644
--- a/Doc/lib/libsocket.tex
+++ b/Doc/lib/libsocket.tex
@@ -813,13 +813,13 @@
     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 @@
     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 f639710..cb30974 100644
--- a/Doc/lib/libsubprocess.tex
+++ b/Doc/lib/libsubprocess.tex
@@ -284,7 +284,7 @@
         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 d0863d9..56474b7 100644
--- a/Doc/lib/libxdrlib.tex
+++ b/Doc/lib/libxdrlib.tex
@@ -246,6 +246,6 @@
 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 c870d26..7af9e76 100644
--- a/Doc/lib/libxmlrpclib.tex
+++ b/Doc/lib/libxmlrpclib.tex
@@ -358,7 +358,7 @@
 
 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 22525e3..76ea7f6 100644
--- a/Doc/lib/sqlite3/complete_statement.py
+++ b/Doc/lib/sqlite3/complete_statement.py
@@ -23,7 +23,7 @@
 
             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 = ""
 
