bad-version-info-comparison (PYI006)
源自 flake8-pyi 代码检查器。
作用
检查对 sys.version_info
检查使用了除 <
和 >=
之外的比较运算符。 禁止所有其他比较运算符,例如 >
、<=
和 ==
。
为什么这不好?
将 sys.version_info
与 ==
或 <=
进行比较会产生意外行为,并可能导致错误。
例如,如果您的 Python 版本是 3.8.1,sys.version_info > (3, 8, 1)
将解析为 True
; 同时,如果您的 Python 版本是 3.8.10,sys.version_info <= (3, 8)
将不会解析为 True
。
>>> import sys
>>> print(sys.version_info)
sys.version_info(major=3, minor=8, micro=10, releaselevel='final', serial=0)
>>> print(sys.version_info > (3, 8))
True
>>> print(sys.version_info == (3, 8))
False
>>> print(sys.version_info <= (3, 8))
False
>>> print(sys.version_info in (3, 8))
False
示例
建议改为