用Pylint规范化Python代码,附PyCharm配置
Pylint一个可以检查Python代码错误,执行代码规范的工具。它还可以对代码风格提出建议。
官网:https://pylint.readthedocs.io
pip install pylint
默认情况,Pylint就已经随着Python安装好。在Python的scripts目录下。
找一段小程序试验一下Pylint,程序很简单。
- #!/usr/bin/env python
- # encoding: utf-8
- '''
- Created on 2017年2月4日
- @author: Arthur Guo
- '''
- N = 10
- YHTriangle = []
- for i in range(N): # 行
- YHTriangle.append([])
- if i == 0:
- YHTriangle[i].append(1) #第一行只有 1
- else:
- YHTriangle[i].append(1) #最左元素永远为 1
- YHTriangle[i].append(1) #最右元素永远为 1
- for j in range(1,i): #中间元素
- if i <> 0 and i <> 1:
- YHTriangle[i].insert(j,YHTriangle[i-1][j-1] + YHTriangle[i-1][j])
- for i in range(N):
- print YHTriangle[i]
命令行运行pylint yanghui.py,结果看起来很冗长
- c:\>c:\Python27\Scripts\pylint.exe d:\workspace\PyComm\src\Interviews\yanghui.py
- No config file found, using default configuration
- ************* Module Interviews.yanghui
- C: 19, 0: Exactly one space required after comma
- for j in range(1,i): #中间元素
- ^ (bad-whitespace)
- C: 21, 0: Exactly one space required after comma
- YHTriangle[i].insert(j,YHTriangle[i-1][j-1] + YHTriangle[i-1][j]
- )
- ^ (bad-whitespace)
- C: 23, 0: Final newline missing (missing-final-newline)
- C: 11, 0: Invalid constant name "YHTriangle" (invalid-name)
- Report
- ======
- 13 statements analysed.
- Statistics by type
- ------------------
- +---------+-------+-----------+-----------+------------+---------+
- |type |number |old number |difference |%documented |%badname |
- +=========+=======+===========+===========+============+=========+
- |module |1 |1 |= |100.00 |0.00 |
- +---------+-------+-----------+-----------+------------+---------+
- |class |0 |0 |= |0 |0 |
- +---------+-------+-----------+-----------+------------+---------+
- |method |0 |0 |= |0 |0 |
- +---------+-------+-----------+-----------+------------+---------+
- |function |0 |0 |= |0 |0 |
- +---------+-------+-----------+-----------+------------+---------+
- Raw metrics
- -----------
- +----------+-------+------+---------+-----------+
- |type |number |% |previous |difference |
- +==========+=======+======+=========+===========+
- |code |15 |62.50 |15 |= |
- +----------+-------+------+---------+-----------+
- |docstring |5 |20.83 |5 |= |
- +----------+-------+------+---------+-----------+
- |comment |2 |8.33 |17 |-15.00 |
- +----------+-------+------+---------+-----------+
- |empty |2 |8.33 |3 |-1.00 |
- +----------+-------+------+---------+-----------+
- Duplication
- -----------
- +-------------------------+------+---------+-----------+
- | |now |previous |difference |
- +=========================+======+=========+===========+
- |nb duplicated lines |0 |0 |= |
- +-------------------------+------+---------+-----------+
- |percent duplicated lines |0.000 |0.000 |= |
- +-------------------------+------+---------+-----------+
- Messages by category
- --------------------
- +-----------+-------+---------+-----------+
- |type |number |previous |difference |
- +===========+=======+=========+===========+
- |convention |4 |6 |-2.00 |
- +-----------+-------+---------+-----------+
- |refactor |0 |0 |= |
- +-----------+-------+---------+-----------+
- |warning |0 |0 |= |
- +-----------+-------+---------+-----------+
- |error |0 |0 |= |
- +-----------+-------+---------+-----------+
- Messages
- --------
- +----------------------+------------+
- |message id |occurrences |
- +======================+============+
- |bad-whitespace |2 |
- +----------------------+------------+
- |missing-final-newline |1 |
- +----------------------+------------+
- |invalid-name |1 |
- +----------------------+------------+
- Global evaluation
- -----------------
- Your code has been rated at 6.92/10 (previous run: 5.38/10, +1.54)
‘’‘’Report
=======‘’‘’以上是Pylint对程序的建议,以下都是报告内容。多数时候,我们其实并不想看那么冗长的报告。这时候,体贴的Pylint就让我们屏蔽掉它们。
加上参数 --reports=n 或者更简单写成 -rn 就好了。再看检查结果:
- c:\>c:\Python27\Scripts\pylint.exe --reports=n d:\workspace\PyComm\src\Interview
- s\yanghui.py
- No config file found, using default configuration
- ************* Module Interviews.yanghui
- C: 19, 0: Exactly one space required after comma
- for j in range(1,i): #中间元素
- ^ (bad-whitespace)
- C: 21, 0: Exactly one space required after comma
- YHTriangle[i].insert(j,YHTriangle[i-1][j-1] + YHTriangle[i-1][j]
- )
- ^ (bad-whitespace)
- C: 23, 0: Final newline missing (missing-final-newline)
- C: 11, 0: Invalid constant name "YHTriangle" (invalid-name)
建议分三种:“bad-whitespace”, "missing-final-newline", "invalid-name".
前两个好说,加空格,加空行。但是下面这个怎么破?
- C: 11, 0: Invalid constant name "YHTriangle" (invalid-name)
命名不规范?认为是个constant值? 其实可以把这类问题忽略掉。
“Invalid constant name” 错误号是 C0103,所以加上 --disable=C0103即可。
- c:\>c:\Python27\Scripts\pylint.exe --reports=n --disable=c0103 d:\workspace\PyCo
- mm\src\Interviews\yanghui.py
- No config file found, using default configuration
没输出就是说名没问题了。
当然,还有更多的参数可以供选择。
=======================华丽丽的分割线===============================
平时写Python,我们几乎都不直接用命令行,而是用集成的IDE工具。比如猫哥常用的PyCharm。
Pylint官方文档提了可以支持PyCharm不过太简略了。
实际操作是这样的:
进入PyCharm,从菜单栏,依次进入: File -> Settings -> Tools -> External Tools。
“+”,进行添加。需要填写的部分分别是:“Name”,“Tool Settings -> Programs”、“Tool Settings -> Parameters”、“Tool Settings -> Working directory”。
注意:
“Parameters”里其它参数不管怎么写,必须在最后加上$FilePath$,“Working directory”里必须写 $FileDir。
另外,需要再添加“Output Filter”,在上图中间靠右。填写内容的“Regular expression to match output”,必须是:$FILE_PATH$:$LINE$: 最后那个是冒号。
配置完毕,选择一个Python程序,右键点击,快捷菜单中会有“Extensions Tools -> Pylint”,点击运行即可。输出结果在执行程序结果的窗口(IDE下半部分)。
如果看到返回值为0,说明程序没问题了。
- C:\Python27\Scripts\pylint.exe --reports=n --disable=C0103 D:\PyCharmSpace\test1\test1\hello.py
- No config file found, using default configuration
- Process finished with exit code 0
转载于:https://www.cnblogs.com/mhc-fly/p/7857620.html
用Pylint规范化Python代码,附PyCharm配置相关推荐
- JetBrains PyCharm 配置pylint(Python代码审阅工具)教程
代码规范的重要性 一.规范的代码可以促进团队开发 二.规范的代码可以减少人力资源投入 三.规范的代码可以降低维护成本 四.规范的代码有助于代码审阅(说白了别人看着舒服,也能看懂) Pylint 是什么 ...
- 使用Pylint进行Python代码规范检查
在上一篇中讲了autopep8的应用<使用aotupep8自动批量调整代码以符合PEP-8规范>,有时候只需要检查并提示,并不希望"自动修改",这个时候就该Pylint ...
- 使用 pylint 检测python代码质量(sonar-scanner调用pylint,然后数据交给sonar服务器)
python 代码质量检查 直接使用 sonar-scanner 调用 pylint插件扫描生成 质量分析文件 pylint 官网地址:https://www.pylint.org/ 安装 sonar ...
- vscode python第三方库检测_VSCode中使用Pylint检查python代码
为什么使用lint 在日常开发中,不同开发人员会写下不同风格的代码,导致代码可维护性变差,为了解决风格不一致问题,我们可以制定代码规范,让开发人员都遵守同样的规范编写代码.在开发过程中,部分代码存在质 ...
- VSCode中使用Pylint检查python代码
为什么使用lint 在日常开发中,不同开发人员会写下不同风格的代码,导致代码可维护性变差,为了解决风格不一致问题,我们可以制定代码规范,让开发人员都遵守同样的规范编写代码.在开发过程中,部分代码存在质 ...
- python代码修改nginx配置_生产环境部署python代码(django+uwsgi+nginx)
基础环境不做介绍,在django开发web项目完成后,一直使用django自带的服务器进行调试: python manage.py runserver 0.0.0.0:8080 这个服务器在开发时使用 ...
- Python代码在Pycharm中不起作用,但在Jupiter Notebook中执行良好
代码 import requests from apscheduler.schedulers.background import BackgroundScheduler from datetime i ...
- vim配置python代码提示,VIM配置成Python IDE
一.~/.vimrc 文件内容: set nocompatible " required filetype off " ...
- python代码编辑器PyCharm快捷键补充
个人觉得特别有用的: 替换:Ctrl+R 删除当前行 CTRY Y: 复制当前行:Ctrl+D ALT F7: 查找哪些地方使用了选中的方法. ALT UP: 移到上一个方法 ALT DOWN: 移到 ...
- Python3 pylint详解 (规范python代码风格)
Pylint简介 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料 ...
最新文章
- java中ajax的用途_java Ajax的应用
- R语言作加权最小二乘_超越谷歌BERT!依图预训练语言理解模型入选NeurIPS
- 【fiddler抓包修改订单金额】
- win10user文件夹迁移_Win10纯净版下迁移用户文件的技巧
- openpose handpose 人体关键点识别 关键点检测
- Asp.Net Core 鉴权授权
- 小程序配置服务器域名不生效问题
- 如何实现rsync远程同步和inotify实时同步
- L1-021 重要的话说三遍 (5分)(C语言)
- 网络压线钳的实验报告_RJ45网线制作实验报告
- Java 获取访问者的IP地址
- css创建鼠标悬停下拉菜单样式
- [leetcode]378. 有序矩阵中第 K 小的元素
- github vue 高星项目
- 03	计算(a+b)/c的值
- Cisco交换机端口假死(err-disable)解决方法
- 淘宝限制词维护+小技巧,优化限制词,降低被投诉概率!
- 浅谈电力电子中的双脉冲测试
- Translatium for Mac 8.2.1 Google翻译 实时翻译 破解版下载
- 虾米音乐关停,QQ音乐、网易云上线虾米歌单迁移功能