파이썬 소스 파일이 파이썬 3을 지원하는지 어떻게 정적으로 판단 할 수 있습니까?소스 파일이 flake8에 대해 python 3을 지원하는지 여부를 정적으로 결정하는 방법은 무엇입니까?
문제가 언급 한 바와 같이 대답하는 것이 불가능할 수 있으므로 좀 더 구체적 것 : 이것에 대한
내 응용 프로그램은 가짜 SyntaxErrors를 제공하지 않습니다 실행 flake8의 버전을 선택하는 것입니다. 이런 이유로 필자는 (적어도) flake8 또는 Python 2 복사본의 Python 3 복사본을 실행할지 여부를 알려주는 추론을 찾고 있습니다.
필자는 필자가 작성한 lint 오류를 보여주는 필자의 flake8을 사용하고 있으며, 때로는 필자의 이름 인 F821과 같은 이름 오류를 잃어 버리는 경우가 많다. flake8 뭔가 문법 오류가 실제로 구문 올바른지 생각 : 구문 오류가 발생하면 (이해할 수 있음) 명명 오류 같은 것들을 포기하는 것으로 보입니다.
이것은 근처 불가능합니다. 테스트 할 코드 경로가 너무 많습니다. –
're.findall ("print [^ (] + [ '\"], file_text)> 0 : print "PY2"'... 아마도 항상 정상적인 것을 보증하지 않더라도 ... –
@JoranBeasley : 'from __future__ import print_function' 또는 단순히 단일 값에 대해'print (...) '를 사용하는 사람이 있습니다. –