tensorflow最近开源了TF-RANKING,看代码的时候发现反复使用了six库,说实话一直在用python3,基本上没有考虑过兼容性的问题,顺便学习一下,需要学习的东西还很多,加油吧!本文转载而来。
SIX是用于python2与python3兼容的库。
它存在的目的是为了拥有无需修改即可在Python 2和Python 3上同时工作的代码。话虽这么说,但是这并不代表在Python 3中引用该库就可以轻松地跑Python 2的代码。
实际上,SIX是重定义了在python2和3中有差异的函数,例如dict的获取全部键值函数:在Python2中是
.iterkeys()
在Python3中是
.keys()
而在SIX中是
six.iterkeys(dict)(当然对应版本的原函数也能够使用)
也就是说,离开了SIX库的话你写的代码不论在Python2还是Python3中都无法运行。因此不是急于追求兼容性的话并不需要使用这个库。
安装:
解压后双击steup.py即可。
使用
import six
之后按照SIX提供的语法书写即可写出pyhton2/3上兼容的代码。
six.PY2/ six.PY3 :检查编译器版本是否为python2/3
以下是SIX提供的兼容语法:
常量定