Any check to see if the code written is in python 2.7 or 3 and above?

0aslam0 picture 0aslam0 · Jul 27, 2016 · Viewed 21.2k times · Source

I have a buggy long python project that I am trying to debug. Its messy and undocumented. I am familiar with python2.7. There are no binaries in this project. The straight forward idea is to try execute it as python2.7 file.py or python3 file.py and see which works. But as I said it is already buggy at a lot of places. So none of them is working. Is there any check or method or editor that could tell me if the code was written in python2.7 or python3?

Answer

Ignacio Vazquez-Abrams picture Ignacio Vazquez-Abrams · Jul 28, 2016

Attempt to compile it. If the script uses syntax specific to a version then the compilation will fail.

$ python2 -m py_compile foo.py
$ python3 -m py_compile foo.py