【发布时间】:2014-11-07 12:19:33
【问题描述】:
如何使用 python 代码获取 pylint 错误消息的简要摘要或获取 pylint 错误、警告、重构的数量?
pylint -rn
这使我们可以仅使用消息获取 pylint 输出并排除报告。 我到目前为止所尝试的是:
lint_arg = "pylint -rn %s"%file_name
pr = subprocess.Popen(
arg, cwd=os.path.dirname(lint_path),
shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
(out, error) = pr.communicate()
pylint_result = out + "\n" + error
file=open("pylint_output",w)
file.write(pylint_result)
file.close()
我想只获取发生错误、警告的行数,并将此信息移动到字符串中。我的想法如下:
第 1 步:使用 subprocess.Popen() 在 python 脚本中运行 pylint
第 2 步:将输出存储在文件或变量中。
第 3 步:解析文件并生成预期的输出,如下所示:
预期输出:以下文件 具有:
行号中的 5 个警告:11、34、56(发生警告的行)
行号 :2 中的 2 个错误(发生错误的行)。
如何借助 pylint 命令或使用 python 脚本来做到这一点? 任何帮助表示赞赏。提前谢谢。
【问题讨论】:
-
Pylint 是一个 python 脚本,我很确定你可以使用它的内部功能而不是抓取和解析主脚本的输出。看看源代码,你会发现一个 API 可以为你提供你想要的。
-
@ikaros- 你能告诉我任何适合我需要的 API 吗?
-
不,我不能...我对 pylint 了解不多。 plg 的答案比 Popen 好,但仍然不是我建议的方法......应该可以调用执行文件分析的函数并获得带有结果的数据结构。也许你可以在邮件列表中询问。
标签: python python-2.7 pylint