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