Py学习  »  jathanism  »  全部回复
回复总数  2
14 年前
回复了 jathanism 创建的主题 » 支持不同版本的python

首先,您需要记住,Python2.x共享的语法基本上是相同的,这是向后兼容的,除了新增功能之外。还有其他一些不一定是错误的东西需要考虑,比如deprecationwarning消息,这些消息虽然不有害,但很难看,可能会导致混淆。

python 3.x在设计上是向后不兼容的,它打算把所有的旧东西都抛在脑后。Python2.6引入了Python3.x中的许多更改,以帮助简化转换。为了看到所有这些,我建议阅读 What's New in Python 2.6 文件。出于这个原因,很有可能为Python2.6编写也将在Python3.1中运行的代码,但这并非没有注意事项。

即使如此,即使在2.x版本之间也有许多细微的语法更改,这将要求您将大量代码包装在 try / except 如果这是你愿意做的,那么2.x和3.x分支是完全可能的。我想你会发现你会在你的对象上做很多属性和类型测试来做你想做的事情。

我建议您查看支持各种python版本的主要项目的代码。 Twisted Matrix 是第一个想到的。他们的代码是一个很好的例子,说明了应该如何编写python代码。

最后,你要做的事情并不容易,所以要为很多工作做好准备!

我认为 Python interface for Redis 作者 Andy McCurdy 是如何编写、打包和组织Python代码的极好示例。你自己看看源代码吧!