diff --git a/scripts/ost_startup.py.in b/scripts/ost_startup.py.in
index d3cac43d8daa106a882f696bf8ee02db7ccb5c39..ed156415b61126ee2845b714d2f68c749d8bd0f6 100644
--- a/scripts/ost_startup.py.in
+++ b/scripts/ost_startup.py.in
@@ -31,7 +31,7 @@ class OstOptionParser(optparse.OptionParser):
   def __init__(self, **kwargs):
     optparse.OptionParser.__init__(self, **kwargs)
   def exit(self, status_code, error_message):
-    print error_message,
+    print(error_message, end=' ')
     sys.exit(-1)
 
 parser=OstOptionParser(usage=usage,conflict_handler="resolve", prog='ost''')
@@ -74,8 +74,8 @@ _ostrc=os.path.join(home, '.ostrc')
 if os.path.exists(_ostrc):
   try:
     exec(open(_ostrc))
-  except Exception, e:
-    print e
+  except Exception as e:
+    print(e)
 PushVerbosityLevel(options.vlevel)
 
 # this should probably only be added when running an interactive shell
@@ -86,7 +86,7 @@ if len(parser.rargs)>0 :
   sys_argv_backup=sys.argv
   sys.argv=parser.rargs
   try:
-    execfile(script)
+    exec(compile(open(script).read(), script, 'exec'))
   finally:
     sys.argv=sys_argv_backup