【发布时间】:2009-07-21 12:57:51
【问题描述】:
我有一些我用 python 2.4++ 开发的代码,你敢打赌,我必须将它反向移植到 python 2.1!
函数装饰器非常吸引人,以至于我在一些地方使用了@classmethod,而没有注意到它仅在版本 2.4 开始可用。函数修饰符提供了相同的功能,但这些出现在 python 2.2 中。 cfr:http://www.python.org/dev/peps/pep-0318/
现在我们的一些客户似乎仍然依赖于 python 2.1(ArcGIS 9.1 附带它并使其不可升级),甚至函数修饰符都不可用...
我一直在寻找 python 2.1 中的一些函数修饰符定义,但我没有找到任何(我的意思是:工作)。有人成功解决了这个问题吗?
更具体地说,我需要一种在 python 2.1 中运行此 2.4 代码的方法:
Python 2.4.6 (#2, Mar 19 2009, 10:00:53)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class sic:
... def f(cls):
... print cls.__name__
... f = classmethod(f)
...
>>> sic().f()
sic
>>> sic.f()
sic
>>>
【问题讨论】:
-
您的客户可以安装最新版本的 python 和 2.1,它可以正常工作。
-
是的,那很好,但我知道这是不可能的,因为 ArcGIS 9.1 与 python 2.1 确实是硬连接的。