How to detect Python Version 2 or 3 in script?

别等时光非礼了梦想. 提交于 2019-12-08 16:23:00

问题


I've written some scripts, which run either only with Version 2.x or some only with Version 3.x of Python.

How can I detect inside the script, if it's started with fitting Python Version?

Is there a command like:

major, minor = getPythonVersion()

回答1:


sys.version_info provides the version of the used Python interpreter:

>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=6, releaselevel='final', serial=0)
>>> sys.version_info[0]
2

For details see https://docs.python.org/2/library/sys.html .




回答2:


You can use the six library (https://pythonhosted.org/six/) to make it easier to write code that works on both versions. (It includes two booleans six.PY2 and six.PY3 which indicate whether the code is running in Python 2 or Python 3)

Also in Python 2.6 and 2.7, you can use

from __future__ import (print_function, unicode_literals, division)
__metaclass__ = type

to enable some of the Python 3 behaviour in a way that works on both 2 and 3.



来源:https://stackoverflow.com/questions/27376907/how-to-detect-python-version-2-or-3-in-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!