前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python flake8 代码扫描

python flake8 代码扫描

作者头像
全栈程序员站长
发布2022-09-30 10:38:30
7330
发布2022-09-30 10:38:30
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、介绍

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下])

代码语言:javascript
复制
flake8  Zbj_project
2、如果你只想检查这些文件的特定的错误类型(e.g., E123)
代码语言:javascript
复制
flake8 --select E123 Zbj_project
3、如果需要选择以特定类型开头的错误码,eg:以E开头
代码语言:javascript
复制
flake8 --select E Zbj_project
如果需要选择多个特定错误码用逗号隔开就可以了
4、忽略特定错误码

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

代码语言:javascript
复制
flake8 --ignore H233 Zbj_prioject
5、忽略特定文件/文件夹

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

代码语言:javascript
复制
flake8 --exclude Zbj_project/path/test.py Zbj_project
6、关于Flake8更多命令参考
代码语言:javascript
复制
flake8 –-help
7、Flake8的小插件

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

1.hacking

插件安装

代码语言:javascript
复制
pip install hacking

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

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

2.pep8-naming

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

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

安装

代码语言:javascript
复制
pip install pep8-naming
python flake8 代码扫描
python flake8 代码扫描
python flake8 代码扫描
python flake8 代码扫描
8、在Jenkins上分析flake8的报告

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

1.安装flake8-junit-report

代码语言:javascript
复制
pip install flake8-junit-report

2.输出Flake8测试报告

代码语言:javascript
复制
flake8 --output-file flake8.txt shadowtest

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

代码语言:javascript
复制
python -m junit_conversor flake8.txt flake8_junit.xml

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月12日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、介绍
  • 二、使用
    • 1、检查指定目录下的文件(包括这个目录的所有子文件)
      • 2、如果你只想检查这些文件的特定的错误类型(e.g., E123)
        • 3、如果需要选择以特定类型开头的错误码,eg:以E开头
          • 4、忽略特定错误码
            • 5、忽略特定文件/文件夹
              • 6、关于Flake8更多命令参考
                • 7、Flake8的小插件
                  • 8、在Jenkins上分析flake8的报告
                  相关产品与服务
                  腾讯云代码分析
                  腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档