Python Glossary English

все Python 3platformфункция

platform.python_version_tuple()

интерпретатор

Версия Python кортежем из трёх СТРОК: ('3', '14', '0'). Для сравнения версий не годится — нужен sys.version_info.

Синтаксис

major, minor, patch = platform.python_version_tuple()

Главная ловушка — элементы строковые, а кортежи сравниваются поэлементно: ('3', '14', '0') > ('3', '9') ложно, потому что '14' < '9' как строки. Такая проверка «Python не старше 3.9» молча даёт неверный ответ на любой версии с двузначным минором. sys.version_info хранит целые числа и сравнивается правильно.

Примеры

import platform, sys
print(type(platform.python_version_tuple()[1]).__name__)  # → str
print(platform.python_version_tuple() > ('3', '9'))  # → False — '14' < '9' как строки
print(sys.version_info > (3, 9))  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности