zoukankan      html  css  js  c++  java
  • Python pylint的安装和使用

    什么是pylint?

    Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在问题的代码。

    Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。

    Pylint 的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。

    项目中需要做代码规范检查,所以研究一下pylint的使用。

    Pylint 的安装。
    Pylint 可以用于所有高于或者等于 2.2 的 Python 版本兼容。
    实测 python 2.7.12 安装

    pip install  pylint==1.9.3
    

    或者换源

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pylint==1.9.3
    

    实测 python3.5.2
    ``shell
    pip install pylint

    或者
    ```shell
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pylint
    

    使用
    Pylint 的常用命令行参数
    -h,–help
    显示所有帮助信息。

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

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

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

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

    –files-output=<y_or_n>
    将每个 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

    Pylint 的输出
    Pylint的默认输出格式是原始文本(raw text)格式 ,可以通过 -f ,–output-format= 来指定别的输出格式如html等等。在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。

    源代码分析部分:

    对于每一个 Python 模块,Pylint 的结果中首先显示一些"*"字符 , 后面紧跟模块的名字,然后是一系列的 message, message 的格式如下:

    1
    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)
    报告部分:
    

    在源代码分析结束后面,会有一系列的报告,每个报告关注于项目的某些方面,如每种类别的 message 的数目,模块的依赖关系等等。具体来说,报告中会包含如下的方面:

    检查的 module 的个数。
    对于每个 module, 错误和警告在其中所占的百分比。比如有两个 module A 和 B, 如果一共检查出来 4 个错误,1 个错误是在 A 中,3 个错误是在 B 中,那么 A 的错误的百分比是 25%, B 的错误的百分比是 75%。
    错误,警告的总数量。

  • 相关阅读:
    hadoop目录命令
    spark简单文件配置
    git简单使用
    1
    环境
    spring boot入门学习---热部署
    浅谈-对modbus的理解
    springboot集成调用Azkaban
    搭建自己的maven私服 必过
    Spring Boot 出现 in a frame because it set 'X-Frame-Options' to 'DENY'
  • 原文地址:https://www.cnblogs.com/vercont/p/10210189.html
Copyright © 2011-2022 走看看