Python pylint的安装和使用
什么是pylint?
Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在问题的代码。
Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等。
Pylint 的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。
项目中需要做代码规范检查,所以研究一下pylint的使用。
Pylint 的安装。
Pylint 可以用于所有高于或者等于 2.2 的 Python 版本兼容。
实测 python 2.7.12 安装
pip install pylint==1.9.3
或者换源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pylint==1.9.3
实测 python3.5.2
``shell
pip install pylint
或者
```shell
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pylint
使用
Pylint 的常用命令行参数
-h,–help
显示所有帮助信息。
–generate-rcfile
可以使用 pylint --generate-rcfile 来生成一个配置文件示例。可以使用重定向把这个配置文件保存下来用做以后使用。也可以在前面加上其它选项,使这些选项的值被包含在这个产生的配置文件里。如:pylint --persistent=n --generate-rcfile > pylint.conf,查看 pylint.conf,可以看到 persistent=no,而不再是其默认值 yes。
–rcfile=
指定一个配置文件。把使用的配置放在配置文件中,这样不仅规范了自己代码,也可以方便地和别人共享这些规范。
-i <y_or_n>, --include-ids=<y_or_n>
在输出中包含 message 的 id, 然后通过 pylint --help-msg=来查看这个错误的详细信息,这样可以具体地定位错误。
-r <y_or_n>, --reports=<y_or_n>
默认是 y, 表示 Pylint 的输出中除了包含源代码分析部分,也包含报告部分。
–files-output=<y_or_n>
将每个 module /package 的 message 输出到一个以 pylint_module/package. [txt|html] 命名的文件中,如果有 report 的话,输出到名为 pylint_global.[txt|html] 的文件中。默认是输出到屏幕上不输出到文件里。
-f , --output-format=
设置输出格式。可以选择的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 默认的输出格式是 text。
–disable-msg=
禁止指定 id 的 message. 比如说输出中包含了 W0402 这个 warning 的 message, 如果不希望它在输出中出现,可以使用 --disable-msg= W0402
Pylint 的输出
Pylint的默认输出格式是原始文本(raw text)格式 ,可以通过 -f ,–output-format= 来指定别的输出格式如html等等。在Pylint的输出中有如下两个部分:源代码分析部分和报告部分。
源代码分析部分:
对于每一个 Python 模块,Pylint 的结果中首先显示一些"*"字符 , 后面紧跟模块的名字,然后是一系列的 message, message 的格式如下:
1
MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE
MESSAGE_TYPE 有如下几种:
(C ) 惯例。违反了编码风格标准
(R ) 重构。写得非常糟糕的代码。
(W) 警告。某些 Python 特定的问题。
(E) 错误。很可能是代码中的错误。
(F) 致命错误。阻止 Pylint 进一步运行的错误。
清单 2. Pylint 中的 utils 模块的输出结果
************* Module utils
C: 88:Message: Missing docstring
R: 88:Message: Too few public methods (0/2)
C:183:MessagesHandlerMixIn._cat_ids: Missing docstring
R:183:MessagesHandlerMixIn._cat_ids: Method could be a function
R:282:MessagesHandlerMixIn.list_messages: Too many branches (14/12)
报告部分:
在源代码分析结束后面,会有一系列的报告,每个报告关注于项目的某些方面,如每种类别的 message 的数目,模块的依赖关系等等。具体来说,报告中会包含如下的方面:
检查的 module 的个数。
对于每个 module, 错误和警告在其中所占的百分比。比如有两个 module A 和 B, 如果一共检查出来 4 个错误,1 个错误是在 A 中,3 个错误是在 B 中,那么 A 的错误的百分比是 25%, B 的错误的百分比是 75%。
错误,警告的总数量。
Python pylint的安装和使用相关推荐
- python pycharm 包 安装问题
20211006 https://blog.csdn.net/anshuai_aw1/article/details/83749395 windows pyfm安装 20210930 在pycharm ...
- Python:Scrapy的安装和入门案例
Scrapy的安装介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy中文维护站点:http://scrapy-chs.readthedocs. ...
- Windows下Python 3.6 安装BeautifulSoup库
" 介绍Python库BeautifulSoup安装." 01 - BeautifulSoup库介绍 Beautiful Soup是Python的一个库,支持Python 2和Py ...
- python开发环境安装
PyCharm的安装地址:http://www.jetbrains.com/pycharm/download/#section=windows,免费的可以选择社区版本 Python解释器的安装地址:h ...
- Python环境的安装(Anaconda+Jupyter notebook+Pycharm)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文总结了Windows下Python环境的安装,包括Anacon ...
- python mysql 驱动安装
为什么80%的码农都做不了架构师?>>> 安装组件: python 3.4 + django 1.7 + mysql connector driver 系统平台: window ...
- windows 10 anaconda python 3.7 安装 pytorch-gpu
win 10 anaconda python 3.7 安装 pytorch 2019-6-1:清华更新源已经关闭了 先添加清华源: 安装GPU版pytorch conda install pytorc ...
- windows 10 anaconda python 3.7 安装keras-gpu tensorflow-gpu
我的个人博客:zhang0peter的个人博客 win 10 anaconda python3.7 安装keras tensorflow-gpu pytorch的安装参考这篇文章:windows an ...
- Windows上python开发--2安装django框架
Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...
最新文章
- 《JAVA练习题目11》学生类有属性姓名(字符串类型)和选修课程信息(ArrayList<Course>对象)两个属性,和三个方法
- python3.0什么时候发布的_Django 3.0 发布说明
- Zing加快了JVM应用程序的预热
- JavaScript 监听手机端的touch滑动事件(滑动手势)
- python接口自动化(十九)--Json 数据处理---实战(详解)
- 看不懂旷视升级,是因为不知道中国AI正在经历的变革
- 用户输入和命令行参数
- 现代分类方法在医学诊断中的应用——基于R的实现
- 设置TOMCAT SESSIONID 字符长度和生成算法
- Android 资源(resource)学习小结
- 1008	计算(a+b)/c的值
- CC2530串口通讯的实现
- Eclipse用SVN上传新项目
- 小鸟云服务器如何通过本地安全策略阻止IP访问?
- 单片机如何烧录程序?单片机的下载方式讲解
- 设计一个彩灯循环控制器
- VM-虚拟机装苹果系统
- 算法作业9 LCS算法和背包算法
- Go语言 一级函数 --- 匿名函数、高阶函数、闭包
- Javascript模块加载捆绑器Browserify Webpack和SystemJS用法
热门文章
- Excel 突显光标所在行列
- Linux如何定义宏 REENTRANT,linux – 我需要-D_REENTRANT和-pthreads吗?
- vsomeip接口函数解析和程序编写
- 关于 牛舍问题 的注释
- linux ip bonding,Linux IP Bonding 配置笔记
- elk安装教程2017
- 【Java】计算矩形面积
- Emmet 插件使用教程
- 便利贴--43{vue3+ts+setup+ArcoDesign 表格和表单 单页模板(整合)} --舍弃--不删--不更新
- touches,targetTouches,changedTouches