目录
- 一、概述
- 二、使用CMD方式
- 三、使用API方式
- 四、参考资料
一、概述
本文将分别使用pycodestyle的CMD方式和API方式对python代码进行检测,看其是否符合pep8规范。
pycodestyle是第三方库,原名pep8。它可以快速验证某个文件或某个路径下的.py文件是否符合 PEP8 书写规范。
二、使用CMD方式
- 安装pycodestyle。在CMD中输入以下命令,执行即可
pip install pycodestyle
- 配置环境变量。为了方便使用pycodestyle命令,在PATH环境变量中加上pycodestyle.exe所在的路径,一般在python安装环境下的Scripts文件夹下,例如我的是C:\Users\hp\AppData\Local\Programs\Python\Python38\Scripts。
- CMD进入到要检测的.py文件所在的目录下,执行命令:
pycodestyle xxx.py # xxx是要检测的文件的名字
pycodestyle就会开始对文件进行检查。并显示检测结果。
例如:
在这里我对check.py进行检查,检测出的不规范的地方都打印了出来,比如注释的#后要加空格,在文件末尾要有空行等。
pycodestyle还可以加各种属性,部分属性和对应的含义如下:
- pycodestyle --count xxx.py # 输出有多少个错误
- pycodestyle --first xxx.py # 输出每种错误第一次出现的信息
- pycodestyle --show-source xxx.py # 输出错误的同时展示源码
- pycodestyle --show-pep8 xxx.py # 输出pep8的建议
- pycodestyle --statistic xxx.py # 输出每种错误的统计
- pycodestyle --format=pylint xxx.py # format可以取pylint/default/custom,指输出格式
- 此外,我们可以使用os.popen方法控制程序自动调用CMD方式对.py文件进行检测,例如:
import os
cmd = 'pycodestyle test.py'
res = os.popen(cmd)
output_str = res.read() # 获得输出字符串
print(output_str)
在这里我通过os.popen调用CMD命令对test.py进行检测,注意,该代码文件需与原程序在同一路径下。
检测结果在控制台上打印出来:
三、使用API方式
pycodestyle提供了API,可以直接在程序中调用来完成代码检测,除了只检测一个.py文件外,还可以对文件夹下的多个.py文件进行检测。
import pycodestyle as pcs
checker = pcs.StyleGuide()
checker.input_dir('testdir')
其中,input_dir(‘testdir’)表示对文件夹testdir下的所有.py文件进行检测,其中testdir下的文件有:
检测结果如下:
除了input_dir,还有很多方法,在文档中描述的很清楚,地址如下:
https://pycodestyle.pycqa.org/en/latest/api.html#checker-classes
四、参考资料