檢查並顯示 Python 版本(例如 sys.version)

商業

本節介紹如何獲取、檢查和顯示已安裝的 Python 版本以及腳本中實際運行的 Python 版本。

本節分別說明如何檢查命令行和代碼。

  • 檢查並在命令行上顯示版本:--version,-V,-VV
  • 獲取代碼中的版本:sys,platform
    • 各種信息的字符串,包括版本號:sys.version
    • 版本號的數字元組:sys.version_info
    • 版本號字符串:platform.python_version()
    • 版本號字符串的元組:platform.python_version_tuple()

如果得到代碼中的版本號,可以用print()顯示出來查看,也可以根據版本切換流程。

在命令行查看並顯示版本:–version, -V, -VV

您可以使用 Windows 的命令提示符或 Mac 的終端。python命令或python3命令。--version可選或-V運行它的選項。

$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

正如你在上面的例子中看到的,根據你的環境,Python 2.x 系統可能是python命令,Python 3.x 系列將是python3它被分配給一個命令。

從 Python 3.6-VV已添加選項。-V您可以看到比

$ python3 -VV
Python 3.7.0 (default, Jun 29 2018, 20:13:13) 
[Clang 9.1.0 (clang-902.0.39.2)]

在代碼中獲取版本:sys、platform

您還可以使用標準庫的 sys 模塊或平台模塊來獲取、檢查和顯示實際運行的 Python 版本。

運行 Python 腳本進行檢查。該腳本對於 Windows、Mac、Ubuntu 和其他 Linux 系統是相同的。

這對於檢查在安裝了多個 Python 版本的環境中正在使用哪個版本的 Python 很有用,因為當您認為正在運行 Python 3 時運行 Python 2 是可能的。

當您想在 Python 2 和 Python 3 處理之間切換時,它還可以用於條件分支。

各種信息字符串,包括版本號:sys.version

sys.version是一個字符串,表示各種信息,包括版本號。

系統版本
一個字符串,指示 Python 解釋器版本號以及所使用的構建號和編譯器等信息。
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Jun 29 2018, 20:13:13) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

版本號的數字元組:sys.version_info

sys.version_info是一個表示版本號的元組。

sys.version_info
表示版本號的五個值的元組:major、minor、micro、releaselevel 和 serial。除了 releaselevel 之外的所有值都是整數。sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevel是一個字符串,所有其他元素都是整數。

您可以指定索引以獲取相應的值。

print(sys.version_info[0])
# 3

從 Python 2 系列的 2.7 版和 Python 3 系列的 3.1 版開始,使用名稱訪問元素(請參閱majorminormicroreleaselevelserial例如,如果你想獲得大版本,你可以使用 例如,如果你想獲得大版本,你可以執行以下操作

print(sys.version_info.major)
# 3

如果要確定運行的是 Python2 還是 Python3,請使用sys.version_info.major您可以查看主要版本2然後你可以使用Python2來3然後是Python3。

下面顯示了在 Python 2 和 Python 3 處理之間切換的示例。

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

如果要在次要版本中切換流程sys.version_info.minor確定

請注意,如上所述,2.7 和 3.1 版本支持按名稱訪問元素,因此如果您可能在早期版本中運行它,則可以使用sys.version_info[0]和…和sys.version_info[1]由索引指定。

版本號字符串:platform.python_version()

platform.python_version()是。major.minor.patchlevel以格式返回字符串的函數

platform.python_version()
以“major.minor.patchlevel”格式的字符串形式返回 Python 版本。
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

當您想以簡單字符串形式獲取版本號時很有用。

版本號字符串的元組:platform.python_version_tuple()

platform.python_version_tuple()是。(major, minor, patchlevel)返回元組的函數元組的內容不是數字而是字符串。

platform.python_version_tuple()
以字符串元組形式返回 Python 版本(主要、次要、補丁級別)。
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

sys.version_info由於它只是一個元組,不像major和…和minor不允許按名稱訪問元素。

檢查並顯示 Python 版本(例如 sys.version)

本節介紹如何獲取、檢查和顯示已安裝的 Python 版本以及腳本中實際運行的 Python 版本。

本節分別說明如何檢查命令行和代碼。

  • 檢查並在命令行上顯示版本:--version,-V,-VV
  • 獲取代碼中的版本:sys,platform
    • 一串各種信息,包括版本號:sys.version
    • 版本號的數字元組:sys.version_info
    • 版本號字符串:platform.python_version()
    • 版本號字符串的元組:platform.python_version_tuple()

如果得到代碼中的版本號,可以使用下面的函數來顯示和查看。print()您還可以根據版本切換流程。

在命令行查看並顯示版本:–version, -V, -VV

您可以通過從 Windows 上的命令提示符或 Mac 上的終端​​執行以下命令來檢查版本。

  • 命令
    • python
    • python3
  • 選項
    • --version
    • -V
$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

如上例所示,根據環境,Python 2.x 系統分配給 python 命令,Python 3.x 系統分配給 python3 命令。

-VV 選項是在 Python 3.6 中添加的。 -VV 選項顯示比 -V 選項更詳細的信息。

$ python3 -VV
Python 3.7.0 (default, Oct 21 2020, 10:23:15) 
[Clang 9.1.0 (clang-902.0.39.2)]

在代碼中獲取版本:sys、platform

您還可以使用標準庫的 sys 模塊或平台模塊來獲取、檢查和顯示實際運行的 Python 版本。

運行 Python 腳本進行檢查。該腳本對於 Windows、Mac、Ubuntu 和其他 Linux 系統是相同的。

這對於檢查在安裝了多個 Python 版本的環境中正在使用哪個版本的 Python 很有用,因為當您認為正在運行 Python 3 時運行 Python 2 是可能的。

當您想在 Python 2 和 Python 3 處理之間切換時,它還可以用於條件分支。

各種信息字符串,包括版本號:sys.version

sys.version
這是一個字符串,表示各種信息,包括版本號。

系統版本
一個字符串,指示 Python 解釋器版本號以及所使用的構建號和編譯器等信息。
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Oct 21 2020, 10:23:15) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

版本號的數字元組:sys.version_info

sys.version_info
這是一個表示版本號的元組。

sys.version_info
表示版本號的五個值的元組:major、minor、micro、releaselevel 和 serial,除 releaselevel 外,所有這些都是整數。
sys — System-specific parameters and functions – Python 3.10.0 Documentation

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel='final', serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevel
這是一個字符串,所有其他元素都是整數。

您可以指定索引以獲取相應的值。

print(sys.version_info[0])
# 3

從 Python 2 系列的 2.7 版和 Python 3 系列的 3.1 版開始,還支持按名稱訪問以下元素。

  • major
  • minor
  • micro
  • releaselevel
  • serial

例如,如果要獲取主要版本,請執行以下操作

print(sys.version_info.major)
# 3

如果要確定您運行的是 Python 2 還是 Python 3,可以使用以下代碼檢查主要版本。
sys.version_info.major如果返回值為2,則為Python2,如果為3,則為Python3。

下面顯示了在 Python 2 和 Python 3 處理之間切換的示例。

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

如果要使用次要版本切換進程,請確定以下值。
sys.version_info.minor

請注意,如上所述,從 2.7 和 3.1 版本開始支持按名稱訪問元素,因此如果它可能在早期版本中執行,請按如下方式通過索引指定。

  • sys.version_info[0]
  • sys.version_info[1]

版本號字符串:platform.python_version()

platform.python_version() 是一個以major.minor.patchlevel 格式返回字符串的函數。

platform.python_version()
以“major.minor.patchlevel”格式的字符串形式返回 Python 版本。
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

當您想以簡單字符串形式獲取版本號時很有用。

版本號字符串的元組:platform.python_version_tuple()

platform.python_version_tuple() 是一個返回(主要,次要,補丁級別)元組的函數。
元組的內容不是數字,而是字符串。

platform.python_version_tuple()
以字符串元組形式返回 Python 版本(主要、次要、補丁級別)。
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

與 sys.version_info 不同,它只是一個元組,因此無法按名稱訪問元素。