摘要:官方文档:http://pylint.pycqa.org/en/latest/user_guide/output.html
摘要2:https://blog.csdn.net/qq_26948143/article/details/88169097
摘要3:https://www.cnblogs.com/shanghongyun/p/10545076.html
摘要4:配置文件: https://blog.csdn.net/jinguangliu/article/details/43674771
摘要5:错误码: https://blog.csdn.net/bduwps8393/article/details/100953157
摘要6:pycharm配置:https://blog.csdn.net/lionhenryzxxy/article/details/90486099
Pylint简介
Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码。目前 Pylint 的最新版本是 pylint-0.18.1。
- Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。
- Pylint 的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。
- 如果运行两次 Pylint,它会同时显示出当前和上次的运行结果,从而可以看出代码质量是否得到了改进。
- 目前在 eclipse 的 pydev 插件中也集成了 Pylint。
Pylint 的安装
Pylint 安装
pip3 install pylint -i https://pypi.doubanio.com/simple
安装完成后,可以通过 pylint [options] module_or_package来调用 Pylint 了。
Pylint 的常用命令行参数
-
-h,–help
显示所有帮助信息。 -
–generate-rcfile
可以使用 pylint --generate-rcfile 来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。
pylint --generate-rcfile > pylint.conf
- –rcfile=<xx.conf>
指定一个配置文件运行pylint。把使用的配置放在配置文件中,这样不仅规范了自己代码,也可以方便地和别人共享这些规范。
pylint --rcfile=pylint.conf dw.py
- –reports=<y_or_n>
默认是 n, 表示 Pylint 的输出中除了包含源代码分析部分,也包含报告部分。
pylint --rcfile=pylint.conf --reports=y dw.py
报告中安装上述的格式生成检查结果,W代表生成的检查级别,级别分为4种:error, warning, refactor, convention;可以根据首字母来对应相应的级别。“10, 0” 代表告警所在源码文件中的行号和列号,可以通过Eclipse中CTRL+L快捷键快速查找所在到问题所在的行。“Unused import help"表述问题的详细信息。”(unused-import)为问题的消息ID信息。
下面的信息是按照消息的类别进行分类,对4种级别的告警信息进行汇总:
下面是按照消息类型进行统计,记录具体告警发生的次数
获取告警帮助信息
如需对某告警类型获取帮助信息,可以使用"pylint --help-msg "命令来获取:
- –help-msg=
在输出中包含 message 的 id, 然后通过 pylint --help-msg=来查看这个错误的详细信息,这样可以具体地定位错误。
pylint --help-msg=C0114
- –output-format=
设置输出格式。可以选择的格式有 text, parseable, colorized, msvs (visual studio) , 默认的输出格式是 text。
pylint --output-format=msvs external.py
-
xx.txt
将每个 module /package 的 message 输出到一个以 pylint_module/package.txt命名的文件中,如果有 report 的话,输出到名为 pylint_global.[txt|html] 的文件中。默认是输出到屏幕上不输出到文件里。
pylint --output-format=msvs external.py > test.txt
Pylint 的输出
Pylint的默认输出格式是原始文本(raw text)格式 ,可以通过 -f ,–output-format= 来指定别的输出格式如html等等。在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。
源代码分析部分:
对于每一个 Python 模块,Pylint 的结果中首先显示一些"*"字符 , 后面紧跟模块的名字,然后是一系列的 message, message 的格式如下:
MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE
MESSAGE_TYPE 有如下几种:
(C)
惯例。违反了编码风格标准
(R)
重构。写得非常糟糕的代码。
(W)
警告。某些 Python 特定的问题。
(E)
错误。很可能是代码中的错误。
(F)
致命错误。阻止 Pylint 进一步运行的错误。
清单 2. Pylint 中的 utils 模块的输出结果
************* Module utils
C: 88:Message: Missing docstring
R: 88:Message: Too few public methods (0/2)
C:183:MessagesHandlerMixIn._cat_ids: Missing docstring
R:183:MessagesHandlerMixIn._cat_ids: Method could be a function
R:282:MessagesHandlerMixIn.list_messages: Too many branches (14/12)
安装完毕可以在PyCharm中关联pylint
进入PyCharm,从菜单栏,依次进入: File -> Settings -> Tools -> External Tools。
“+”,进行添加。需要填写的部分分别是:“Name”,“Tool Settings -> Programs”、“Tool Settings -> Parameters”、“Tool Settings -> Working directory”。
1.Name:就是你自定义的一个名字,可以是任意的
2.Tool Settings一栏:
- Program:填写你pylint执行文件的路径
- Arguments: 这里填写的是pylint执行的时候 后面跟的选项列表,每个选项通过空格隔开(例如:
--reports=n --rcfile=C:\Users\gho\Desktop\gho_pro\pylint.conf $FilePath$
),其中$FilePath$
指的是你当前要进行pylint的文件,$FilePath$
是必须写的;–rcfile=C:\Users\gho\Desktop\gho_pro\pylint.conf这个选项是指定了pylint的配置文件; --reports=n这个选项表示不生成报告。 - Working directory: pylint执行文件的路径的上一级目录,例如D:\pythonenv\Myproenv\Scripts
3.Advanced Options一栏:
- Synchronize file after execute: 意思 不是很清楚
- Open console for tool output:意思就是执行pylint 会自动打开console 显示所有的输出 下面的两个子选线就是指错误输出和正 常的输出都会显示在console中
配置完毕,选择一个Python程序(此时$FilePath$
就是这个选中的文件),右键点击,快捷菜单中会有“Extensions Tools -> Pylint”,点击运行即可。输出结果在执行程序结果的窗口(IDE下半部分)。