diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index 8bdebe6..034828b 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -335,7 +335,7 @@
     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 91210ee..013331c 100644
--- a/Mac/Demo/applescript/makedisk.py
+++ b/Mac/Demo/applescript/makedisk.py
@@ -7,7 +7,7 @@
 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 28dffd3..57cddd3 100644
--- a/Mac/Demo/imgbrowse/imgbrowse.py
+++ b/Mac/Demo/imgbrowse/imgbrowse.py
@@ -52,7 +52,7 @@
         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 323ea62..f9ccd21 100644
--- a/Mac/Demo/mlte/mlted.py
+++ b/Mac/Demo/mlte/mlted.py
@@ -275,7 +275,7 @@
                 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 cb1fa8e..da55b06 100644
--- a/Mac/Demo/resources/copyres.py
+++ b/Mac/Demo/resources/copyres.py
@@ -39,7 +39,7 @@
             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 3e91b32..8cd4713 100644
--- a/Mac/Demo/textedit/ped.py
+++ b/Mac/Demo/textedit/ped.py
@@ -273,7 +273,7 @@
                 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 e71ebc1..9ddcd0b 100644
--- a/Mac/scripts/BuildApplet.py
+++ b/Mac/scripts/BuildApplet.py
@@ -31,7 +31,7 @@
 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 e6dc474..e50c405 100644
--- a/Mac/scripts/buildpkg.py
+++ b/Mac/scripts/buildpkg.py
@@ -451,7 +451,7 @@
 
     try:
         opts, args = getopt.getopt(sys.argv[1:], shortOpts, longOpts)
-    except getopt.GetoptError, details:
+    except getopt.GetoptError as details:
         print details
         printUsage()
         return
