Python において、 Python のバージョンによって処理を変更する方法をご紹介します。
結論としては sys.version_info
オブジェクトを利用する方法が最も Pythonic でシンプルかと思います。 sys.version_info
にはバージョン情報に関係するさまざまな情報が含まれています。
# Python 2.x でなければ現在の Python のバージョンを表示して処理を終了する
import sys
if sys.version_info.major != 2:
sys.stderr.write('Please use python 2.7. Your python version is as following:\n')
sys.stderr.write('{}\n'.format(sys.version))
exit()
# 以下メインの処理
上のコードの中で使用している sys.version
には、バージョン情報を表す文字列が入っています。
import sys
# 2.7.6 の場合
# sys.version には文字列が入っている
prtin(sys.version)
# => '2.7.6 (default, Sep 9 2014, 15:04:36) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]'
# sys.version_info には major minor micro などのアトリビュートを持ったオブジェクトが入っている
print(sys.version_info.major) # => 2
print(sys.version_info.minor) # => 7
print(sys.version_info.micro) # => 6
以上です。