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:\Users\admin\Desktop\scanResult.txt

 

常用的差不多就這些了吧

關於flake8的更多命令參考:flake8 -h


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM