Pylint:通过脚本获取类似于pylint可执行文件的输出

1 投票
1 回答
1477 浏览
提问于 2025-04-17 21:13

我使用的是Python 3.3,操作系统是Windows,通过pip工具安装了pylint。
我可以通过“Scripts\pylint.exe”这个工具来运行命令(参数很重要,我需要特别的纯文本输出)。

pylint --msg-template="{line}:{column}:{msg_id}: {msg}" --module-rgx=.* --reports=n --persistent=n "D:\TestLint\sample_plugin.py"

这个命令会检查我的文件,并给出这样的输出。

************* Module sample_plugin
1:0:C0111: Missing module docstring
1:0:F0401: Unable to import 'tst'
3:0:W0232: Class has no __init__ method
3:0:C0111: Missing class docstring
3:0:C1001: Old-style class defined.
4:4:C0111: Missing method docstring

现在我想通过Python代码来使用pylint,而不是使用任何EXE工具。我希望能得到和之前一样的输出(可以是字符串或列表)。所以我的问题是:我可以写什么Python脚本来调用pylint,并获得相同的输出?

1 个回答

2

有几种方法可以做到这一点。最简单的方法是:

from pylint.lint import Run
Run([file_or_module, '--message-template', '...'])

如果你想在一个子进程中运行pylint(对于多次运行来说推荐这样做),可以试试:

from pylint.epylint import lint
lint(file_or_module, [--message-template', '...']

撰写回答