灵虚御风
醉饮千觞不知愁,忘川来生空余恨!

导航

 

目录
一、概述
二、使用CMD方式
三、使用API方式
四、参考资料
一、概述
本文将分别使用pycodestyle的CMD方式和API方式对python代码进行检测,看其是否符合pep8规范。
pycodestyle是第三方库,原名pep8。它可以快速验证某个文件或某个路径下的.py文件是否符合 PEP8 书写规范。

二、使用CMD方式
安装pycodestyle。在CMD中输入以下命令,执行即可

pip install pycodestyle
1
配置环境变量。为了方便使用pycodestyle命令,在PATH环境变量中加上pycodestyle.exe所在的路径,一般在python安装环境下的Scripts文件夹下,例如我的是C:\Users\hp\AppData\Local\Programs\Python\Python38\Scripts。

CMD进入到要检测的.py文件所在的目录下,执行命令:

pycodestyle xxx.py # xxx是要检测的文件的名字
1
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)
1
2
3
4
5
在这里我通过os.popen调用CMD命令对test.py进行检测,注意,该代码文件需与原程序在同一路径下。
检测结果在控制台上打印出来:


三、使用API方式
pycodestyle提供了API,可以直接在程序中调用来完成代码检测,除了只检测一个.py文件外,还可以对文件夹下的多个.py文件进行检测。

import pycodestyle as pcs
checker = pcs.StyleGuide()
checker.input_dir('testdir')
1
2
3
其中,input_dir(‘testdir’)表示对文件夹testdir下的所有.py文件进行检测,其中testdir下的文件有:


检测结果如下:

除了input_dir,还有很多方法,在文档中描述的很清楚,地址如下:
https://pycodestyle.pycqa.org/en/latest/api.html#checker-classes

posted on 2021-11-22 14:04  没有如果,只看将来  阅读(171)  评论(0编辑  收藏  举报