跳到内容

sys-version-slice1 (YTT303)

源自 flake8-2020 linter。

作用

检查对 sys.version[:1] 的使用。

为什么这不好?

如果主版本号由多个数字组成,这将只选择主版本号的第一个数字(例如,"10.0" 将评估为 "1")。这可能是无意的,并且如果版本字符串用于测试特定的主版本号,则可能导致未来 Python 版本中的细微错误。

相反,请使用 sys.version_info.major 来访问当前的主版本号。

示例

import sys

sys.version[:1]  # If using Python 10, this evaluates to "1".

建议改为

import sys

f"{sys.version_info.major}"  # If using Python 10, this evaluates to "10".

参考