Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在脚本中检测Python版本2或3?_Python_Python 3.x_Version_Python 2.x_Six - Fatal编程技术网

如何在脚本中检测Python版本2或3?

如何在脚本中检测Python版本2或3?,python,python-3.x,version,python-2.x,six,Python,Python 3.x,Version,Python 2.x,Six,我已经编写了一些脚本,它们要么只在Python的2.x版上运行,要么只在Python的3.x版上运行 如果脚本是从适合Python版本开始的,如何检测脚本内部 是否有类似以下命令: major, minor = getPythonVersion() sys.version\u info提供所用Python解释器的版本 Python 2 >>> import sys >>> sys.version_info sys.version_info(major=2,

我已经编写了一些脚本,它们要么只在Python的2.x版上运行,要么只在Python的3.x版上运行

如果脚本是从适合Python版本开始的,如何检测脚本内部

是否有类似以下命令:

major, minor = getPythonVersion()

sys.version\u info
提供所用Python解释器的版本

Python 2

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

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

有关详细信息,请参见。

您可以使用six库()来更轻松地编写适用于这两个版本的代码。 (它包括两个布尔值
six.PY2
six.PY3
,指示代码是在Python2还是在Python3中运行)

同样在Python2.6和2.7中,您可以使用

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

以同时适用于2和3的方式启用Python 3的某些行为。

这是有用的补充信息,但并不能真正回答问题。的可能重复