Как отсортировать результат вывода pyLint?

Возможна ли, например, сортировка по строкам или по категориям или по обоим?

Я увидел, что можно использовать шаблон: Как сделать так, чтобы идентификаторы сообщений Pylint отображались после pylint-1.0.0?

В PyCharm я настроил внешние инструменты для вызова pyLint:

$FileName$ --msg-template={line}:" "[{msg_id}"-"({symbol})," "{obj}]:" "{msg}

Теперь я хотел бы отсортировать этот результат вывода.

Спасибо


person Eric Rommel    schedule 10.05.2017    source источник


Ответы (1)


В Linux я передаю вывод pylint через sort:

pylint file.py | sort -t ":" -k 2,2n

При этом в качестве разделителя полей используется символ двоеточия, а сортировка выполняется по второму полю, применяя числовую сортировку.

PyCharm, однако, не позволит вам использовать символ вертикальной черты во внешнем инструменте, поэтому вам придется превратить команду в сценарий оболочки:

pylint $1 $2 $3 | sort -t ":" -k 2,2n

Единственная проблема с этим подходом заключается в том, что предупреждения pylint о «висячем отступе» будут отображаться в верхней части вывода. Я лично нахожу это незначительным неудобством.

person Aaron F    schedule 31.01.2018