我想提取我的pylint等级并设置一个阈值。例如,让我解释一下,如果分数低于5,我要退出1;否则,请退出。如果我的代码的等级高于5,我想退出0并继续执行Jenkins过程。
答案 0 :(得分:5)
这是在Python中访问pylint API的一种方法。以下代码应保存到文件中,并使用脚本的第一个参数执行,以将模块/文件添加为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)
答案 1 :(得分:4)
自pylint 2.5.0起,有一个名为--fail-under
的新参数可以解决此问题,而无需外部工具或脚本。
在此示例中,当得分低于8时,pylint将错误退出:
pylint --fail-under=8 python_code.py
答案 2 :(得分:1)
安装
> pip install pylint-fail-under
您可以检查以下阈值
pylint-fail-under --fail_under 6.0 test_pylint_code.py
如果分数低于6.0,则会返回一条消息
错误:分数5.3999999999999995小于失败失败值6.0
否则,它返回退出代码0。