16

我编写了一些脚本,它们要么仅使用 2.x 版运行,要么仅使用 Python 3.x 版运行。

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

有没有类似的命令:

major, minor = getPythonVersion()
4

2 回答 2

22

sys.version_info提供使用的 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

蟒蛇 3

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

有关详细信息,请参阅文档

于 2014-12-09T10:51:35.287 回答
5

您可以使用这六个库 ( https://pythonhosted.org/six/ ) 来更轻松地编写适用于两个版本的代码。(它包括两个布尔值six.PY2six.PY3指示代码是在 Python 2 还是 Python 3 中运行)

同样在 Python 2.6 和 2.7 中,您可以使用

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

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

于 2014-12-09T13:17:04.500 回答