Ben*_*ank 9 python python-2.x python-3.x
我已经为Python 3.0/3.1编写了一个纯Python模块,我也想让它与2.x(可能只是2.6/2.7)兼容,以便让最广泛的受众可以使用它.
该模块涉及读写一组相关的文件格式,因此2.x和3.x版本之间的差异很小 - 例如,io.BytesIO
而不是StringIO.StringIO
- 但并非所有这些都可以通过try/except块轻松处理,例如作为设置元类.
处理这个问题的正确方法是什么?两个几乎完全相同的代码库必须保持同步或一个代码库中有特征检测?单个,干净的代码库加上2to3或3to2?
hab*_*bit 11
完全针对2.x编写代码,针对2.x系列中的最新版本.在这种情况下,它可能会保持2.7.运行它2to3
,如果它没有通过所有单元测试,修复2.x版本,直到生成的3.x版本工作.
最终,当您想要删除2.x支持时,您可以获取生成的3.x版本并开始直接修改它.在此之前,只修改2.x版本.
这是工作人员强烈推荐的工作流程2to3
.不幸的是,我不记得从我收集到的所有这些文件的链接.
归档时间: |
|
查看次数: |
439 次 |
最近记录: |