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.

36 lines
1.1 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. __all__ = ['PY3', 'map', 'filter', 'range', 'zip', 'reduce', 'zip_longest',
  7. 'iteritems', 'iterkeys', 'itervalues', 'import_module']
  8. if PY3:
  9. map = map
  10. filter = filter
  11. range = range
  12. zip = zip
  13. from functools import reduce
  14. from itertools import zip_longest
  15. iteritems = operator.methodcaller('items')
  16. iterkeys = operator.methodcaller('keys')
  17. itervalues = operator.methodcaller('values')
  18. else:
  19. range = xrange
  20. reduce = reduce
  21. from itertools import imap as map
  22. from itertools import ifilter as filter
  23. from itertools import izip as zip
  24. from itertools import izip_longest as zip_longest
  25. iteritems = operator.methodcaller('iteritems')
  26. iterkeys = operator.methodcaller('iterkeys')
  27. itervalues = operator.methodcaller('itervalues')
  28. try:
  29. from importlib import import_module
  30. except ImportError:
  31. def import_module(name):
  32. __import__(name)
  33. return sys.modules[name]