16

Python のバージョン 2.x でのみ、またはバージョン 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

six ライブラリ ( https://pythonhosted.org/six/ ) を使用すると、両方のバージョンで動作するコードを簡単に記述できます。(コードが Python 2 で実行されているか Python 3 で実行されているかを示す2 つのブール値six.PY2とが含まれています)six.PY3

また、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 に答える