如何靜態確定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(...)'作爲單個值的事情。 –