Kill execfile(), use exec() instead
diff --git a/Mac/Modules/launch/launchscan.py b/Mac/Modules/launch/launchscan.py
index 621033b..dd43e37 100644
--- a/Mac/Modules/launch/launchscan.py
+++ b/Mac/Modules/launch/launchscan.py
@@ -19,7 +19,7 @@
     scanner.close()
     scanner.gentypetest(SHORT+"typetest.py")
     print "=== Testing definitions output code ==="
-    execfile(defsoutput, {}, {})
+    exec(open(defsoutput).read(), {}, {})
     print "=== Done scanning and generating, now importing the generated code... ==="
     exec "import " + SHORT + "support"
     print "=== Done.  It's up to you to compile it now! ==="
diff --git a/Mac/Modules/launch/launchsupport.py b/Mac/Modules/launch/launchsupport.py
index 34c2efb..5faf4b3 100644
--- a/Mac/Modules/launch/launchsupport.py
+++ b/Mac/Modules/launch/launchsupport.py
@@ -75,7 +75,7 @@
 """
 
 # From here on it's basically all boiler plate...
-execfile(string.lower(MODPREFIX) + 'typetest.py')
+exec(open(string.lower(MODPREFIX) + 'typetest.py').read())
 
 # Create the generator groups and link them
 module = MacModule(MODNAME, MODPREFIX, includestuff, finalstuff, initstuff)
@@ -89,7 +89,7 @@
 # Create and populate the lists
 functions = []
 ##methods = []
-execfile(INPUTFILE)
+exec(open(INPUTFILE).read())
 
 # add the populated lists to the generator groups
 # (in a different wordl the scan program would generate this)