如何静态确定Python源文件是否支持Python 3?如何静态确定源文件是否支持python 3,flake8?
的问题是不可能的回答,因为说有,所以我会更具体:
我对这个应用程序是选择一个版本flake8的运行不会给虚假SyntaxErrors。出于这个原因,我正在寻找(至少)一些启发式,它会告诉我是否应该运行Python 3的flake8副本或Python 2副本。
我在我的编辑器中使用了flake8,当我输入时显示lint错误,而且我最担心的事实是有时候会丢失命名错误(如F821),作为pyflakes/flake8认为某种语法错误实际上是正确的语法:当它遇到语法错误时(可以理解)似乎放弃了命名错误等事情。
这是不可能的。有太多的代码路径要测试。 –
'if re.findall(“print [^(] + ['\”],file_text)> 0:print“PY2”'...虽然它可能不能保证它总是正确的... –
@JoranBeasley: 'from __future__ import print_function',或者简单地使用'print(...)'作为单个值的事情。 –