python 2/3兼容性,类似于six,但更倾向于python 3
nine的Python项目详细描述
我们现在就写Python3吧!
当最好的python 2/python 3兼容模块——特别是著名的 *本杰明·彼得森发明的六个*库 –是从python 2的角度创建的 程序员开始摸索python 3。
但现在是2016年。Python3.5在这里。3.5!!!!
如果您使用 six ,您的代码是兼容的,但仍停留在python 2的习惯用法中。
九 倒转 六 。使用python 3习惯用法编写代码 –尽可能多地–,修补的是Python2"版本"。 不用说,这种方法更经得起未来的检验。
你写蟒蛇的时候,要写蟒蛇3, 只需稍长一点时间,确保它在Python2.7上工作。
老实说,你不应该再花一点心思在Python2.6上了,它是 不再受支持 自2013年10月最终发布(2.6.9)以来。没有人使用3.0或3.1。
Python2.7最终将在2020年走向灭亡。所以,从现在开始, 你的代码库应该更像3而不是2。
九 促进了这一观点。你可以写代码 在支持2.6的同时,这是尽可能的3。 非常适合新项目。
例如,您不再键入unicode、键入str、键入9 使 str 指向python 2上的 unicode (如果使用我们的样板)。 另外, map , zip 和 filter 在python 2上有python 3行为, 这意味着它们返回迭代器,而不是列表。
nine 的作者将此模块捐赠给公共域。
了解实现2&3兼容性所涉及的大多数复杂问题 在单个代码库中,我建议阅读以下内容: http://lucumr.pocoo.org/2013/5/21/porting-to-python-3-redux/