sys-version-cmp-str3 (YTT103)
源自 flake8-2020 linter。
作用
检查将 sys.version
与字符串字面量进行比较的情况,此类比较在 Python 3.10 或更高版本上会评估为 False
。
为什么这不好?
将 sys.version
与字符串进行比较容易出错,并可能导致细微的错误,因为比较将按字典顺序执行,而不是按语义执行。例如,在使用 Python 3.10 时,sys.version > "3.9"
将评估为 False
,因为 "3.10"
在字典顺序上“小于” "3.9"
。
相反,请使用 sys.version_info
来访问当前主版本号和次版本号作为元组,该元组可以与其他元组进行比较,而不会出现问题。
示例
建议改为