zoukankan      html  css  js  c++  java
  • Python静态代码扫描工具——flake8

    Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强。Flake8是对下面三个工具的封装:

    1)PyFlakes:静态检查Python代码逻辑错误的工具。

    2)Pep8: 静态检查PEP8编码风格的工具。

    3)NedBatchelder’s McCabe script:静态分析Python代码复杂度的工具。

    不光对以上三个工具的封装,Flake8还提供了扩展的开发接口。

    官方文档:https://pypi.python.org/pypi/flake8/

    一、安装flake8

    pip install flake8

    可通过flake8 -h来检测是否安装成功

     二、使用方法

    假设文件结构如下:

     1、检查整个项目的代码:

    flake8 yzs-pytest 

     如下,检查结果图:

     2、对于一些代码长度的错误我们希望可以忽略他,可以使用如下命令

    如果需要选择多个特定错误码用逗号隔开就可以了,eg:错误码1,错误码2

    flake8 yzs-pytest --ignore E501

    3、可以指定每行代码可接受的长度,默认的长度是79

    flake8 yzs-pytest -max-line-length=130

    4、统计扫描的问题总数

    flake8 yzs-pytest --count

    5、扫描指定的py文件的代码

    flake8 yzs-pytest/common/get_token.py

    6、展示特定的错误

    flake8 --select E501  yzs-pytest

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

    flake8  --select E  yzs-pytest

    如果需要选择多个特定错误码用逗号隔开就可以了,eg:错误码1,错误码2

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

    静态代码检查忽略conftest.py文件,设定多个忽略方法同上;也可以指定以某后缀结尾的,eg:.svn,.git等

    falke8 --exclude yzs-pytest/conftest.py

    8、将检查结果导出(可以指定导出的路径及导出的文件格式,如下我是导出到桌面)

    flake8 yzs-pytest --output-file C:UsersadminDesktopscanResult.txt

    常用的差不多就这些了吧

    关于flake8的更多命令参考:flake8 -h

  • 相关阅读:
    37. Sudoku Solver(js)
    36. Valid Sudoku(js)
    35. Search Insert Position(js)
    34. Find First and Last Position of Element in Sorted Array(js)
    33. Search in Rotated Sorted Array(js)
    32. Longest Valid Parentheses(js)
    函数的柯里化
    俞敏洪:我和马云就差了8个字
    vue路由传值params和query的区别
    简述vuex的数据传递流程
  • 原文地址:https://www.cnblogs.com/wulixia/p/13349694.html
Copyright © 2011-2022 走看看