Compat 兼容性
优质
小牛编辑
113浏览
2023-12-01
提供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