27 lines
638 B
Python
27 lines
638 B
Python
import sys
|
|
|
|
PY2 = sys.version_info[0] < 3
|
|
PY3 = sys.version_info[0] >= 3
|
|
|
|
if PY3:
|
|
import builtins
|
|
exec_ = getattr(builtins, "exec")
|
|
del builtins
|
|
|
|
else:
|
|
def exec_(_code_, _globs_=None, _locs_=None):
|
|
"""Execute code in a namespace."""
|
|
if _globs_ is None:
|
|
frame = sys._getframe(1)
|
|
_globs_ = frame.f_globals
|
|
if _locs_ is None:
|
|
_locs_ = frame.f_locals
|
|
del frame
|
|
elif _locs_ is None:
|
|
_locs_ = _globs_
|
|
exec("""exec _code_ in _globs_, _locs_""")
|
|
|
|
exec_("""def reraise(tp, value, tb=None):
|
|
raise tp, value, tb
|
|
""")
|