Can";加上;是否在Python中用作标识符?

Can";加上;是否在Python中用作标识符?,python,python-2.7,python-2.6,Python,Python 2.7,Python 2.6,我正在修改一个用于Python2.7的第三方Python包(它是断言的),以与Python2.6一起使用,虽然Python2.6已经过时,但在我的权限范围内的许多机器上仍然是标准Python 我一直在使用compileall模块来帮助我识别兼容性问题,事实上我发现的很少。其中只有一个被证明是非常有抵抗力的:提供给我的代码在几个地方使用“with”作为标识符,两者都作为关键字参数 newitems.append(Data(item[:, Numeric.NewAxis], with='lines'

我正在修改一个用于Python2.7的第三方Python包(它是断言的),以与Python2.6一起使用,虽然Python2.6已经过时,但在我的权限范围内的许多机器上仍然是标准Python

我一直在使用
compileall
模块来帮助我识别兼容性问题,事实上我发现的很少。其中只有一个被证明是非常有抵抗力的:提供给我的代码在几个地方使用“with”作为标识符,两者都作为关键字参数

newitems.append(Data(item[:, Numeric.NewAxis], with='lines'))
和作为属性名

self.with = keyw['with']
。鉴于“with”自Python 2.6以来一直是一个关键字,字节编译器似乎应该对“with”的这些用法加以强调


由于所讨论的模块的最新修订日期明显在2010年初,而且它的谱系可以追溯到更早的版本,我倾向于认为该模块从未在Python2.7(如所声称的)甚至Python2.6中工作过。还有其他合理的结论吗?除了在有问题的上下文中用不同的标识符替换“with”之外,还有什么明智的方法吗?

不,它不能<在Python中,code>with作为保留字(也称为关键字)列出。从:

以下标识符用作语言的保留字或关键字,不能用作普通标识符

同样的情况也发生在《圣经》甚至《圣经》中。这意味着该模块不起作用,最有可能的解决方案是将带有s的
更改为另一个单词。如果您使用的是Vim,则可能有助于简化任务


在Python代码中尝试将
一起使用将导致出现
语法错误:无效语法

>>> with = True
  File "<stdin>", line 1
    with = True
         ^
SyntaxError: invalid syntax
>>with=True
文件“”,第1行
with=True
^
SyntaxError:无效语法

谢谢,谢谢
bufdo
。我是一个长期的
vim
用户,但这个对我来说是新的。