Как я могу статически определить, поддерживает ли исходный файл 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: напечатать« PY2 »' ... хотя это, вероятно, не гарантирует, что он всегда прав ... –
@JoranBeasley: 'из __future__ import print_function' или просто кто-то, использующий' print (...) 'как само собой разумеющееся для одиночных значений. –