python flake8 代码扫描

python flake8 代码扫描一、介绍Flake8是由Python官方发布的一款辅助检测Python代码是否规范的工具,flake8是下面三个工具的封装:PyFlakesPep8NedBatchelder’sMcCabescriptFlake8通过启动单独的flake8脚本运行所有工具,它在一个Per文件中显示告警,合并到输出中。也增加一些特征:包含这行文件将被忽略:#fl…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、介绍

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

 

python flake8 代码扫描
python flake8 代码扫描

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

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Zzbj/p/11204411.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux查看java程序线程命令_linux查找字符串命令

    linux查看java程序线程命令_linux查找字符串命令在linux系统下可以通过命令查看进程,那么具体是那个命令呢?下面由学习啦小编为大家整理了linux查看进程的命令,希望对大家有帮助!一、linux查看进程的命令有ps、pstree、pgrep等1、ps显示进程信息,参数可省略-aux以BSD风格显示进程常用-efH以SystemV风格显示进程-e,-A显示所有进程a显示终端上所有用户的进程x显示无终端进程u显示详细信息f…

    2022年8月24日
    14
  • Vue常用指令(二)

    Vue常用指令(二)6、v-for基于源数据多次渲染元素或模板块。图示:代码:<body><div id=”app”> <p v-for=”(score, index) in scores”> 索引: {{index }} , 分数: {{score}} </p> <div v-for=”(d, ke…

    2022年6月13日
    25
  • (2019)OCP 12c 062考试题库出现大量新题-4

    (2019)OCP 12c 062考试题库出现大量新题-4

    2021年7月5日
    90
  • Java 数组定义格式-数组动态初始化-数组元素的访问-数组静态初始化-数组的遍历-数组获取最大值

    Java 数组定义格式-数组动态初始化-数组元素的访问-数组静态初始化-数组的遍历-数组获取最大值数组定义格式 1 数组概述在一个班级中 有非常多学生需要存储每位学生的考试成绩 比如 a 98 b 97 c 96 d 88 1 数组概述 一次性声明大量的用于存储数据的变量 这些要存储的数据通常都是相同类型数据 例如 全班同学的考试成绩 2 数组 是一种用于存储多个相同类型数据的存储模型数组定义格式范例 1 推荐使用定义格式 1 数据类型 变量名 int arr 含义 定义了一个 int 类型的数组 数组名是 arr 范例 2 数据类型变量名 intarr 含义

    2025年8月3日
    4
  • Windows 10上如何安装ubuntu虚拟机「建议收藏」

    因为开发的需要,很多时候时候我们需要安装虚拟机,然后在虚拟机上面安装我们需要的操作系统。最近也是因为学习的需要,就用自己的Windows10安装了ubuntu虚拟机,在虚拟机上面安装需要的操作系统,下面是具体的操作过程。一下载准备文件(1)先去下载VirtualBox,这里我用的版本是VirtualBox-6.1.4-136177-Win.exe,官网地址:https://www.vi…

    2022年4月17日
    358
  • java中的stringbuffer是什么_java中&和&&的区别

    java中的stringbuffer是什么_java中&和&&的区别JAVA提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了不可改变的字符串。而这个StringBuffer类提供的字符串可以进行修改。String:为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

    2022年9月21日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号