Compat 兼容性¶
提供Python 2和3兼容的数据结构、库和函数。
-
pydu.compat.PY2¶ 判断当前Python解释器是Python 2还是3。
-
pydu.compat.urlib(base, url, allow_fragments=True)¶ 在PY2中是
urlparse.urljoin,在PY3中是urllib.parse.urljoin。
-
pydu.compat.urlparse(base, url, allow_fragments=True)¶ 在PY2中是
urlparse.urljoin,在PY3中是urllib.parse.urljoin。
-
pydu.compat.urljoin(base, url, allow_fragments=True)¶ 在PY2中是
urlparse.urljoin,在PY3中是urllib.parse.urljoin。
-
pydu.compat.iterkeys(d)¶ 返回字典键的iter对象。
-
pydu.compat.itervalues(d)¶ 返回字典值的iter对象。
-
pydu.compat.iteritems(d)¶ 返回字典键值对的iter对象。
-
pydu.compat.text_type¶ text类型在PY2中是
unicode,在PY3中是str。
-
pydu.compat.string_types¶ string类型在PY2中是
(str, unicode),在PY3中是(str,)。
-
pydu.compat.strbytes_types¶ strbytes(string bytes)类型在PY2中是
(str, unicode, bytes),在PY3中是(str, bytes)。
-
pydu.compat.numeric_types¶ 在PY2中是
(int, long),在PY3中是(int,)。
-
pydu.compat.imap(function, sequence, *sequence_1)¶ 在PY2中是
itertools.imap,在PY3中是map。
-
pydu.compat.reduce(function, sequence, initial=None)¶ 在PY2中是内建
reduce,在PY3中是functools.reduce。
-
pydu.compat.cmp(x, y)¶ Same to
cmpon PY2, but implement on PY3.
-
pydu.compat.has_next_attr(x)¶ 检查是否是可迭代的。
-
pydu.compat.is_iterable(x)¶ 检查是否是可迭代的。
>>> from pydu.compat import is_iterable >>> is_iterable([]) True >>> is_iterable(1) False