• python flake8 代码扫描


    一、介绍

    Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,flake8是下面三个工具的封装:

    1. PyFlakes
    2. Pep8
    3. NedBatchelder’s McCabe script

    Flake8通过启动单独的flake8脚本运行所有工具,它在一个Per文件中显示告警,合并到输出中。

    也增加一些特征:

    1. 包含这行文件将被忽略:#flake8: noqa
    2. 结尾包含#noqa注释的行将不发布告警
    3. GIT和Mercurial钩子
    4. McCabe复杂度检查器
    5. 可以通过flake8.extension入口点扩展
    安装:pip install flake8
     

    二、使用

    1、检查指定目录下的文件(包括这个目录的所有子文件)

    例如:我们有一个目录Zbj_project,如果我想检查这个目录下的所有文件是否规范:(在命令行中使用[即windows的cmd下])

    flake8  Zbj_project

    2、如果你只想检查这些文件的特定的错误类型(e.g., E123)

    flake8 --select E123 Zbj_project

    3、如果需要选择以特定类型开头的错误码,eg:以E开头

    flake8 --select E Zbj_project
    如果需要选择多个特定错误码用逗号隔开就可以了

    4、忽略特定错误码

    静态代码检查忽略H233类型错误

    flake8 --ignore H233 Zbj_prioject

    5、忽略特定文件/文件夹

    静态代码检查忽略test2.py文件

    flake8 --exclude Zbj_project/path/test.py Zbj_project

    6、关于Flake8更多命令参考

    flake8 –-help

    7、Flake8的小插件

    Flake8相比其他Python静态代码检查工具的优势在于其良好的扩展性,以下是介绍Flake8几款比较流行的插件:

    1.hacking

    插件安装

    pip install hacking

    hackinghacking插件安装完成之后,会新增一类错误返回码以H开头:H***:hacking返回的错误类型。

    在hacking中有些错误类型检测是默认关闭的,可以通过命令行或者配置文件修改开关:enable-extensions= H106,H203

    2.pep8-naming

    针对目前pep8尚未支持命名规范的检查,有人开发出了此款插件作为规则补充。

    pep8-naming插件安装完成之后,会新增一类错误返回码以N开头:N***: pep8-naming返回的错误类型。

    安装

    pip install pep8-naming

    8、在Jenkins上分析flake8的报告

    在Flake8上安装插件,flake8-junit-report将flake8的报告转换为junit format

    1.安装flake8-junit-report

    pip install flake8-junit-report

    2.输出Flake8测试报告

    flake8 --output-file flake8.txt shadowtest

    3.转换成junit测试结果的xml

    python -m junit_conversor flake8.txt flake8_junit.xml
     
  • 相关阅读:
    centos7 升级openssh到openssh-8.0p1版本
    CentOS7.6安装docker最新版
    通过iptables限制docker容器端口
    nginx设置反向代理,获取真实客户端ip
    CentOS7.6使用Virt-manager创建虚拟机报错
    CentOS7添加/删除用户和用户组
    ubuntu14.04 部署nfs服务
    centos7 firewall指定IP与端口访问(常用)
    linux下yum安装最新稳定版nginx
    C语言中点操作符(.)和箭头操作符(->)
  • 原文地址:https://www.cnblogs.com/Zzbj/p/11204411.html
Copyright © 2020-2023  润新知