TIL

Today I Learned. 知ったこと、学んだことを書いていく

実行しているPythonのバージョンを取得 - Python

いくつかの方法があるらしい

  1. sys.hexversionを使う
  2. platform.python_version_tuple()を使う

1.sys.hexversionを使う

これはPyGithubのソースを見てたときに見つけて一人で感動した書き方

sys.hexversionを使うことでPythonのバージョンの16進数を取得できる。

>>> import sys
>>> sys.hexversion
50725872
>>> hex(sys.hexversion)
'0x30603f0'
>>> sys.version
'3.6.3 (default, Oct  4 2017, 06:09:15) \n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)]'

「Python3以上のとき」のような処理をしたいときには0x03000000と比較すればいい

>>> sys.hexversion >= 0x03000000
True

この結果をatLeastPython3のように変数に入れておけば使える!!

2.platform.python_version_tuple()を使う

>>> import platform
>>> platform.python_version_tuple()
('3', '6', '3')
>>> int(platform.python_version_tuple()[0]) >= 3
True

なんか微妙...


sys.hexversionのほうが好き!!!!

参考文献