先安装 pip install pylint
pylint-2.17.4-py3-none-any.whl (536 kB)
Pylint 的输出
Pylint的默认输出格式是原始文本(raw text)格式 ,
可以通过 -f <format>,--output-format=<format> 来指定别的输出格式如html等等。
在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。
源代码分析部分:
对于每一个 Python 模块,Pylint 的结果中首先显示一些"*"字符 , 后面紧跟模块的名字,然后是一系列的 message, message 的格式如下:
MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE
MESSAGE_TYPE 有如下几种:
(C) 惯例。违反了编码风格标准
(R) 重构。写得非常糟糕的代码。
(W) 警告。某些 Python 特定的问题。
(E) 错误。很可能是代码中的错误。
(F) 致命错误。阻止 Pylint 进一步运行的错误。
运行 pylint tk_mp3.py
************* Module tk_mp3
tk_mp3.py:71:23: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:74:16: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:94:23: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:114:31: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tk_mp3.py:14:0: E1101: Module 'pygame' has no 'init' member (no-member)
tk_mp3.py:17:0: C0115: Missing class docstring (missing-class-docstring)
tk_mp3.py:17:0: R0902: Too many instance attributes (9/7) (too-many-instance-attributes)
tk_mp3.py:23:4: C0116: Missing function or method docstring (missing-function-docstring)
tk_mp3.py:49:4: C0116: Missing function or method docstring (missing-function-docstring)
tk_mp3.py:104:8: C0103: Variable name "n" doesn't conform to snake_case naming style (invalid-name)
tk_mp3.py:24:8: W0201: Attribute 'button1' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:27:8: W0201: Attribute 'button2' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:30:8: W0201: Attribute 'button3' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:33:8: W0201: Attribute 'button4' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:36:8: W0201: Attribute 'button5' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:39:8: W0201: Attribute 'button6' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:42:8: W0201: Attribute 'button7' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:45:8: W0201: Attribute 'button8' defined outside __init__ (attribute-defined-outside-init)
------------------------------------------------------------------
Your code has been rated at 7.60/10 (previous run: 7.60/10, +0.00)
修改 tk_mp3.py 后,再次运行 pylint tk_mp3.py
************* Module tk_mp3
tk_mp3.py:72:23: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:75:16: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:95:23: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:115:31: C0303: Trailing whitespace (trailing-whitespace)
tk_mp3.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tk_mp3.py:17:0: R0902: Too many instance attributes (9/7) (too-many-instance-attributes)
tk_mp3.py:24:4: C0116: Missing function or method docstring (missing-function-docstring)
tk_mp3.py:50:4: C0116: Missing function or method docstring (missing-function-docstring)
tk_mp3.py:105:8: C0103: Variable name "n" doesn't conform to snake_case naming style (invalid-name)
tk_mp3.py:25:8: W0201: Attribute 'button1' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:28:8: W0201: Attribute 'button2' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:31:8: W0201: Attribute 'button3' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:34:8: W0201: Attribute 'button4' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:37:8: W0201: Attribute 'button5' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:40:8: W0201: Attribute 'button6' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:43:8: W0201: Attribute 'button7' defined outside __init__ (attribute-defined-outside-init)
tk_mp3.py:46:8: W0201: Attribute 'button8' defined outside __init__ (attribute-defined-outside-init)
------------------------------------------------------------------
Your code has been rated at 8.21/10 (previous run: 7.71/10, +0.50)