目录

  • 一、概述
  • 二、使用CMD方式
  • 三、使用API方式
  • 四、参考资料


一、概述

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


二、使用CMD方式

  1. 安装pycodestyle。在CMD中输入以下命令,执行即可
pip install pycodestyle
  1. 配置环境变量。为了方便使用pycodestyle命令,在PATH环境变量中加上pycodestyle.exe所在的路径,一般在python安装环境下的Scripts文件夹下,例如我的是C:\Users\hp\AppData\Local\Programs\Python\Python38\Scripts。
  2. CMD进入到要检测的.py文件所在的目录下,执行命令:
pycodestyle xxx.py # xxx是要检测的文件的名字

pycodestyle就会开始对文件进行检查。并显示检测结果。

例如:

python打开机器测试log文件 cmd检测python_python打开机器测试log文件


在这里我对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,指输出格式
  1. 此外,我们可以使用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进行检测,注意,该代码文件需与原程序在同一路径下。

检测结果在控制台上打印出来:

python打开机器测试log文件 cmd检测python_API_02


三、使用API方式

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

import pycodestyle as pcs
checker = pcs.StyleGuide()
checker.input_dir('testdir')

其中,input_dir(‘testdir’)表示对文件夹testdir下的所有.py文件进行检测,其中testdir下的文件有:

python打开机器测试log文件 cmd检测python_python打开机器测试log文件_03

检测结果如下:

python打开机器测试log文件 cmd检测python_参考资料_04


除了input_dir,还有很多方法,在文档中描述的很清楚,地址如下:

https://pycodestyle.pycqa.org/en/latest/api.html#checker-classes


四、参考资料

第三方库 Pycodestyle 快速体验