You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.3 KiB

4 years ago
  1. import operator
  2. import sys
  3. PY3 = sys.version_info[0] > 2
  4. PY33 = sys.version_info[0] == 3 and sys.version_info[1] == 3
  5. PY34 = sys.version_info[0] == 3 and sys.version_info[1] == 4
  6. PYPY = hasattr(sys, 'pypy_version_info')
  7. __all__ = ('map', 'filter', 'range', 'zip', 'reduce', 'zip_longest',
  8. 'iteritems', 'iterkeys', 'itervalues', 'filterfalse',
  9. 'PY3', 'PY34', 'PYPY', 'import_module')
  10. if PY3:
  11. map = map
  12. filter = filter
  13. range = range
  14. zip = zip
  15. from functools import reduce
  16. from itertools import zip_longest
  17. from itertools import filterfalse
  18. iteritems = operator.methodcaller('items')
  19. iterkeys = operator.methodcaller('keys')
  20. itervalues = operator.methodcaller('values')
  21. else:
  22. range = xrange
  23. reduce = reduce
  24. from itertools import imap as map
  25. from itertools import ifilter as filter
  26. from itertools import ifilterfalse as filterfalse
  27. from itertools import izip as zip
  28. from itertools import izip_longest as zip_longest
  29. iteritems = operator.methodcaller('iteritems')
  30. iterkeys = operator.methodcaller('iterkeys')
  31. itervalues = operator.methodcaller('itervalues')
  32. try:
  33. from importlib import import_module
  34. except ImportError:
  35. def import_module(name):
  36. __import__(name)
  37. return sys.modules[name]