【发布时间】:2016-04-28 10:25:55
【问题描述】:
我正在努力调整一个适用于 Python 2.7(已断言)的第三方 Python 包以与 Python 2.6 一起使用,虽然它已经过时,但在我的权限范围内的许多机器上仍然是标准 Python。
我一直在使用compileall 模块来帮助我识别兼容性问题,实际上我发现的很少。只有其中一个被证明非常抗拒:提供给我的代码在几个地方使用“with”作为标识符,都作为关键字参数
newitems.append(Data(item[:, Numeric.NewAxis], with='lines'))
作为属性名
self.with = keyw['with']
。鉴于“with”自 Python 2.6 以来一直是关键字,字节编译器对“with”的使用表示反对,看起来应该如此。
由于该模块的最新修订日期明显是 2010 年初,而且它的谱系可以追溯到更早的时候,我倾向于认为该模块从未在 Python 2.7 中工作(如所声称的那样),也即使在 Python 2.6 中。还有其他合理的结论吗?除了在违规上下文中用不同的标识符替换“with”之外,还有什么明智的方法吗?
【问题讨论】:
标签: python python-2.7 python-2.6