如何对 pyLint 输出结果进行排序?

Eri*_*mel 2 pylint pycharm python-2.7

例如,是否可以按行或按类别或两者排序?

我看到可以使用模板:How do I get Pylint message IDs to show up after pylint-1.0.0?

在 PyCharm 中,我配置了一个外部工具来调用 pyLint:

$FileName$ --msg-template={line}:" "[{msg_id}"-"({symbol})," "{obj}]:" "{msg}
Run Code Online (Sandbox Code Playgroud)

现在,我想对这个输出结果进行排序。

谢谢

Aar*_*n F 5

在 Linux 上,我通过 sort 管道 pylint 的输出:

pylint file.py | sort -t ":" -k 2,2n
Run Code Online (Sandbox Code Playgroud)

这使用冒号字符作为字段分隔符,并对第二个字段进行排序,应用数字排序。

但是,PyCharm 不允许您在外部工具中使用管道字符,因此您必须将命令转换为 shell 脚本:

pylint $1 $2 $3 | sort -t ":" -k 2,2n
Run Code Online (Sandbox Code Playgroud)

这种方法的唯一问题是 pylint 的“悬挂缩进”警告将出现在输出的顶部。我个人认为这是一个小小的不便。