##// END OF EJS Templates
Fix execfile compatibility layer for Python 2 on non-Windows platforms.
Thomas Kluyver -
Show More
@@ -156,17 +156,17 b' else:'
156 def execfile(fname, glob=None, loc=None):
156 def execfile(fname, glob=None, loc=None):
157 loc = loc if (loc is not None) else glob
157 loc = loc if (loc is not None) else glob
158 scripttext = __builtin__.open(fname).read()
158 scripttext = __builtin__.open(fname).read()
159 #compile converts unicode filename to str assuming
159 # compile converts unicode filename to str assuming
160 #ascii. Let's do the conversion before calling compile
160 # ascii. Let's do the conversion before calling compile
161 if isinstance(fname, unicode):
161 if isinstance(fname, unicode):
162 filename = unicode_to_str(fname)
162 filename = unicode_to_str(fname)
163 else:
163 else:
164 filename = fname
164 filename = fname
165 exec compile(scripttext, filename, 'exec') in glob, loc
165 exec compile(scripttext, filename, 'exec') in glob, loc
166 else:
166 else:
167 def execfile(fname, glob=None, loc=None):
167 def execfile(fname, *where):
168 if isinstance(fname, unicode):
168 if isinstance(fname, unicode):
169 filename = fname.encode(sys.getfilesystemencoding())
169 filename = fname.encode(sys.getfilesystemencoding())
170 else:
170 else:
171 filename = fname
171 filename = fname
172 __builtin__.execfile(filename, glob, loc)
172 __builtin__.execfile(filename, *where)
General Comments 0
You need to be logged in to leave comments. Login now