简介

Pylint是一个代码检测工具,对于追求Pyhonic的人来说,再适合不过了,他也可以定制一些规范,有利于更好的协同开发.Pylint doc

linux下安装

命令行下直接安装

sudo apt-get install pylint

使用

直接输入

pylint test.py

pylint会直接提示代码变量,注释,类,方法的一些不标准的错误,方便修改

输出结果:

No config file found, using default configuration
************* Module zhihu2
C: 85, 0: Missing function docstring (missing-docstring)


Report
======
68 statements analysed.

Raw metrics
-----------

+----------+-------+------+---------+-----------+
|type      |number |%     |previous |difference |
+==========+=======+======+=========+===========+
|code      |70     |77.78 |70       |=          |
+----------+-------+------+---------+-----------+
|docstring |12     |13.33 |12       |=          |
+----------+-------+------+---------+-----------+
|comment   |2      |2.22  |2        |=          |
+----------+-------+------+---------+-----------+
|empty     |6      |6.67  |6        |=          |
+----------+-------+------+---------+-----------+



Statistics by type
------------------

+---------+-------+-----------+-----------+------------+---------+
|type     |number |old number |difference |%documented |%badname |
+=========+=======+===========+===========+============+=========+
|module   |1      |1          |=          |100.00      |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|class    |1      |1          |=          |100.00      |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|method   |6      |6          |=          |100.00      |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|function |1      |1          |=          |0.00        |0.00     |
+---------+-------+-----------+-----------+------------+---------+



Messages by category
--------------------

+-----------+-------+---------+-----------+
|type       |number |previous |difference |
+===========+=======+=========+===========+
|convention |1      |1        |=          |
+-----------+-------+---------+-----------+
|refactor   |0      |0        |=          |
+-----------+-------+---------+-----------+
|warning    |0      |1        |-1.00      |
+-----------+-------+---------+-----------+
|error      |0      |0        |=          |
+-----------+-------+---------+-----------+



Messages
--------

+------------------+------------+
|message id        |occurrences |
+==================+============+
|missing-docstring |1           |
+------------------+------------+



Global evaluation
-----------------
Your code has been rated at 9.85/10 (previous run: 9.71/10, +0.15)

Duplication
-----------

+-------------------------+------+---------+-----------+
|                         |now   |previous |difference |
+=========================+======+=========+===========+
|nb duplicated lines      |0     |0        |=          |
+-------------------------+------+---------+-----------+
|percent duplicated lines |0.000 |0.000    |=          |
+-------------------------+------+---------+-----------+

常用参数

  • -h,--help 显示所有帮助信息。

  • --generate-rcfile 可以使用 pylint --generate-rcfile 来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。也可以在前面加上其它选项,使这些选项的值被包含在这个产生的配置文件里。如:pylint --persistent=n --generate-rcfile > pylint.conf,查看 pylint.conf,可以看到 persistent=no,而不再是其默认值 yes。

  • --rcfile= 指定一个配置文件。把使用的配置放在配置文件中,这样不仅规范了自己代码,也可以方便地和别人共享这些规范。

  • -i , --include-ids= 在输出中包含 message 的 id, 然后通过 pylint --help-msg=来查看这个错误的详细信息,这样可以具体地定位错误。

  • -r , --reports= 默认是 y, 表示 Pylint 的输出中除了包含源代码分析部分,也包含报告部分。

  • --files-output= 将每个 module /package 的 message 输出到一个以 pylint_module/package. [txt|html] 命名的文件中,如果有 report 的话,输出到名为 pylint_global.[txt|html] 的文件中。默认是输出到屏幕上不输出到文件里。

  • -f , --output-format= 设置输出格式。可以选择的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 默认的输出格式是 text。

  • --disable-msg= 禁止指定 id 的 message. 比如说输出中包含了 W0402 这个 warning 的 message, 如果不希望它在输出中出现,可以使用 --disable-msg= W0402

常见错误

以下是我常出现的错误

  1. 忘记加docstring
  2. 沿用old class style(new class = class Foo(object))
  3. 变量名有时候会在__builtin__
  4. 不支持的变量名(i,j,k)
  5. 没有用到的import和变量

差不多就这些吧,不过对于评分系统大可不必在意,标准是因人而定的,得多少就看缘分了~~~