Wie man die Python-Version in den Skripten überprüft
-
sys.version
Methode zur Überprüfung der Python-Version -
sys.version_info
Methode zur Überprüfung der Python-Version -
platform.python_version()
Methode zur Überprüfung der Python-Version -
six
Modul Methode zur Überprüfung der Python Version
Unter verschiedenen Umständen müssen wir die Python-Version kennen, genauer gesagt die Version des Python-Interpreters, der die Python-Skriptdatei ausführt.
sys.version
Methode zur Überprüfung der Python-Version
Diese Versionsinformationen können aus der sys.version
im sys
Modul abgerufen werden.
In Python 2.x
>>> import sys
>>> sys.version
'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'
oder in Python 3.x
>>> import sys
>>> sys.version
'3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]'
sys.version_info
Methode zur Überprüfung der Python-Version
sys.version
gibt einen String zurück, der die menschenlesbare Versionsinformation des aktuellen Python-Interpreters enthält. Aber die Informationen wie major release number
und micro release number
müssen für die weitere Verwendung in den Codes extra verarbeitet werden.
sys.version_info
löst dieses Problem auf einfache Weise, indem die Versionsinformationen als benanntes Tupel zurückgegeben werden. Die Versionsdaten, die es zurückgibt, sind,
Daten | Beschreibung |
---|---|
major |
Hauptversionsnummer |
micro |
Patch-Freigabenummer |
minor |
Kleinere Versionsnummer |
releaselevel |
alpha , beta , candidate oder release |
serial |
Seriennummer der Freigabe |
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0)
Sie könnten die aktuelle Version mit der Referenzversion vergleichen, indem Sie einfach die Operatoren >
, >=
, ==
, <=
oder <
verwenden.
>>> import sys
>>> sys.version_info >= (2, 7)
True
>>> sys.version_info >= (2, 7, 11)
False
Wir könnten ein assert
in die Skripte einfügen, um sicherzustellen, dass das Skript mit der Anforderung einer minimalen Python-Version läuft.
import sys
assert sys.version_info >= (3, 7)
Es wird einen AssertionError
auslösen, wenn der Interpreter die Versionsanforderung nicht erfüllt.
Traceback (most recent call last):
File "C:\test\test.py", line 4, in <module>
assert sys.version_info >= (3, 7)
AssertionError
platform.python_version()
Methode zur Überprüfung der Python-Version
Das Modul python_version()
in platform
gibt die Python-Version als String major.minor.patchlevel
zurück.
>>> from platform import python_version
>>> python_version()
'3.7.0'
Oder ähnlich wie sys.version_info
hat auch platform
eine Methode, die die Python-Version als Tupel (major, minor, patchlevel)
von Strings zurückgibt - python_version_tuple()
>>> import platform
>>> platform.python_version_tuple()
('3', '7', '0')
six
Modul Methode zur Überprüfung der Python Version
Wenn Sie nur überprüfen wollen, ob die Python-Version Python 2.x oder Python 3.x ist, können Sie das mit dem six
Modul erledigen.
from __future__ import print_function
import six
if six.PY2:
print("Python 2.x")
if six.PY3:
print ("Python 3.x")
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook