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
cmp
on 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