【发布时间】:2010-03-03 03:34:36
【问题描述】:
我想让它尽可能通用 - 例如处理尽可能多的版本。
由于版本 3 不向后兼容版本 2,因此我想确保使用正确的打印语句。
如果您有任何问题,请告诉我,并随时根据可用的内容(例如库)分享与动态逻辑有关的相关知识。
假设我有一个只能在 1.x、2.x 或 3.x 版本下运行的脚本。
或需要库 A 或库 B 的脚本。
谢谢!
编辑:
现在......当涉及到 Python(与 .Net 不同)时,SciPy、Google App Engine 等一些库让您始终专注于特定版本。在 Linux、Mac Os 上,您可以在命令行上在不同的 Python 安装之间切换。这就是我想避免混淆的原因——我想记住哪个脚本适用于哪个版本的 Python 以及它需要哪些库。我宁愿让它以人类可读的方式失败。
【问题讨论】:
-
请不要在 Python 2 和 Python 3 之间混用语法。请不要。有一个 2to3 工具可以将您的正确 Python 2 重写为 Python 3。您维护 Python 2 版本,并使用该工具创建 Python 3 版本。这个工具保证你没有任何困惑。您维护 Python 2 并干净利落地转换为 Python 3。
-
@S.Lott 虽然“正确”的 Python 2 似乎意味着为仅 Python 2.6 的语法编写一些东西,这意味着您必须放弃对 2.5 及以下版本的支持。特别是使用
bytes()和b''来表示字节串。