如何设置pylint分数阈值?
How to set a pylint score threshold?
我想提取我的 pylint 评级并设置一个阈值。我解释一下,比如分数低于5,我要出口1;如果我的代码评分高于 5,我想退出 0 并继续我的 Jenkins 程序。
这是在 Python 中访问 pylint API 的方法。以下代码应保存到文件中并执行,脚本的第一个参数为 module/file to lint:
import sys
from pylint import lint
THRESHOLD = 5
if len(sys.argv) < 2:
raise ArgumentError("Module to evaluate needs to be the first argument")
run = lint.Run([sys.argv[1]], do_exit=False)
score = run.linter.stats['global_note']
if score < THRESHOLD:
sys.exit(1)
安装
> pip install pylint-fail-under
你可以检查阈值如下
pylint-fail-under --fail_under=6.0 test_pylint_code.py (or path)
如果分数低于 6.0,它 returns 一条消息
错误:分数 5.3999999999999995 小于失败值 6.0
否则 returns 退出代码 0。
从 pylint 2.5.0 开始,有一个名为 --fail-under
的新论点无需外部工具或脚本即可解决此问题。
在这个例子中,当分数低于 8 时,pylint 将报错退出:
pylint --fail-under=8 python_code.py
我想提取我的 pylint 评级并设置一个阈值。我解释一下,比如分数低于5,我要出口1;如果我的代码评分高于 5,我想退出 0 并继续我的 Jenkins 程序。
这是在 Python 中访问 pylint API 的方法。以下代码应保存到文件中并执行,脚本的第一个参数为 module/file to lint:
import sys
from pylint import lint
THRESHOLD = 5
if len(sys.argv) < 2:
raise ArgumentError("Module to evaluate needs to be the first argument")
run = lint.Run([sys.argv[1]], do_exit=False)
score = run.linter.stats['global_note']
if score < THRESHOLD:
sys.exit(1)
安装
> pip install pylint-fail-under
你可以检查阈值如下
pylint-fail-under --fail_under=6.0 test_pylint_code.py (or path)
如果分数低于 6.0,它 returns 一条消息
错误:分数 5.3999999999999995 小于失败值 6.0
否则 returns 退出代码 0。
从 pylint 2.5.0 开始,有一个名为 --fail-under
的新论点无需外部工具或脚本即可解决此问题。
在这个例子中,当分数低于 8 时,pylint 将报错退出:
pylint --fail-under=8 python_code.py