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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 正则表达式验证手机号码格式_正则表达式身份证校验

    正则表达式验证手机号码格式_正则表达式身份证校验importrepatt=r’(13[4-9]\d{8,})KaTeXparseerror:Undefinedcontrolsequence:\datposition12:|(15[01289]\̲d̲{8,})’mobile=str(input(‘请输入手机号码:’))match=re.match(patt,mobile)ifmatch==None:print(mobile,“不是有效的中国移动手机号码。”)else:print(mobile,“是有效的中国移动手机号

  • mybatis2级缓存_java二级缓存

    mybatis2级缓存_java二级缓存1.概述转载:MyBatis二级缓存全详解上一篇文章中我们介绍到了MyBatis一级缓存其实就是SqlSession级别的缓存,什么是SqlSession级别的缓存呢?一级缓存的本质是什么呢?以及一级缓存失效的原因?我希望你在看下文之前能够回想起来这些内容。MyBatis一级缓存最大的共享范围就是一个SqlSession内部,那么如果多个SqlSession需要共享缓存,则需要开启二级缓存,开启二级缓存后,会使用CachingExecutor装饰Executor,进入一.

  • 根据经纬度计算两点之间的距离的公式是_知道两点经纬度求距离

    根据经纬度计算两点之间的距离的公式是_知道两点经纬度求距离//距离单位米publicstaticdoublealgorithm(doublelongitude1,doublelatitude1,doublelongitude2,doublelatitude2){doubleLat1=rad(latitude1);//纬度doubleLat2=rad(latitude2);doublea=Lat1-Lat2;//…

  • oracle ebs 12.20 安装成功其过程失败日记及总结(1)

    oracle ebs 12.20 安装成功其过程失败日记及总结(1)

    2021年12月15日
  • vue和layUi对比

    vue和layUi对比vue和layUi对比vue(angular,react)这些框架会负责数据和视图的绑定,数据变了,视图自动更新,视图发生事件,也会更新数据,很省事。layui(bootstrap,extjs)这类库,感觉不是框架,而是组件库,会提供一些组件(比如表格,树),只提供外观和行为,不提供和数据的绑定,数据变了,你负责刷新;视图变了,你自己获取数据。vue的界面库elementui和layui都是组件库,区别就是数据和视图是不是关联的。layui其实更偏向与后端开发人员使用,在服务端页面上有非常好的效果

  • 测试用例等价类和边界值_等价类划分和边界值的区别与联系

    测试用例等价类和边界值_等价类划分和边界值的区别与联系一、测试用例/案例(testcase/testinstance)  1、定义:是在测试执行之前,由测试人员编写的指导测试过程的重要文档,主要包括:用例编号、测试目的、测试步骤(用例描述),预期结果  2、介绍编写测试用例的7种方法:    1)等价类划分法()    2)边界值法()    3)因果图法    4)判定表法    5)正交排列法    6)测试大纲法    7)场景法(*****)  至少要掌握每种方法的适用场合(用在哪)和使用步骤(怎么用)  编写测试用例可以参考

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

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