2014-12-09 4 views
1

Я написал несколько сценариев, которые запускаются либо только с версией 2.x, либо только с версией 3.x Python.Как определить Python версии 2 или 3 в скрипте?

Как я могу обнаружить внутри скрипта, если он запущен с помощью установки версии Python?

Есть ли команда, как:

major, minor = getPythonVersion() 
+0

Возможный дубликат [Detect версию Python во время выполнения] (https://stackoverflow.com/questions/9079036/detect-python- version-at-runtime) – smci

ответ

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

Для получения дополнительной информации см https://docs.python.org/2/library/sys.html.

1

Вы можете использовать шесть библиотек (https://pythonhosted.org/six/), что также упростило запись скрипта, работающего на обе версии. (А у вас есть макрос six.PY2 и six.PY3, которые указывают, если вы используете Python 2 НУ 3)

А на Python 2.6 и 2.7:

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

В верхней части разрешения файла в много случае из кода ля Python 3 работает на обоих 2 и 3.

+0

Это полезная дополнительная информация, но на самом деле не отвечает на вопрос. – augurar