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

原文地址:https://www.cnblogs.com/wulixia/p/13349694.html