test_ok1/py/builtin/builtin31.py

41 lines
1.2 KiB
Python

import sys
if sys.version_info >= (3, 0):
exec ("print_ = print ; exec_=exec")
else:
def print_(*args, **kwargs):
""" minimal backport of py3k print statement. """
sep = 'sep' in kwargs and kwargs.pop('sep') or ' '
end = 'end' in kwargs and kwargs.pop('end') or '\n'
file = 'file' in kwargs and kwargs.pop('file') or sys.stdout
if kwargs:
args = ", ".join([str(x) for x in kwargs])
raise TypeError("invalid keyword arguments: %s" % args)
out = sep.join([str(x) for x in args]) + end
file.write(out)
def exec_(obj, globals=None, locals=None):
""" minimal backport of py3k exec statement. """
if globals is None:
frame = sys._getframe(1)
globals = frame.f_globals
if locals is None:
locals = frame.f_locals
elif locals is None:
locals = globals
exec2(obj, globals, locals)
if sys.version_info >= (3,0):
exec ("""
def _reraise(cls, val, tb):
assert hasattr(val, '__traceback__')
raise val
""")
else:
exec ("""
def _reraise(cls, val, tb):
raise cls, val, tb
def exec2(obj, globals, locals):
exec obj in globals, locals
""")