我有一大段仅限 Python 2 的代码。它想在开始时检查 Python 3,如果使用 python3 则退出。所以我尝试了:
import sys
if sys.version_info >= (3,0):
print("Sorry, requires Python 2.x, not Python 3.x")
sys.exit(1)
print "Here comes a lot of pure Python 2.x stuff ..."
### a lot of python2 code, not just print statements follows
然而,退出并没有发生。输出是:
$ python3 testing.py
File "testing.py", line 8
print "Here comes a lot of pure Python 2.x stuff ..."
^
SyntaxError: invalid syntax
因此,看起来 python 在执行任何操作之前会检查整个代码,因此会出现错误。
python2代码是否有一种很好的方法来检查正在使用的python3,如果是这样,打印一些友好的东西然后退出?