все 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Сообщить о неточности