前言
通常我们的python代码都是遵循PEP8的规范化格式,目的是为了保持代码的一致性、可读性。,这里给大家推荐几个常用的静态代码检查工具,大家可以酌情选择使用
1. pylint
Pylint是一个Python静态代码分析工具,它可以查找编程错误,帮助强制执行编码标准,嗅探代码异味并提供简单的重构建议。
它具有高度可配置性,具有特殊的编译指示来控制代码中的错误和警告,以及广泛的配置文件。也可以编写自己的插件来添加自己的检查或以某种方式扩展pylint。
缺省情况下,PyLint 启用许多规则。它具有高度可配置性,从代码内部处理程序控制它。另外,编写插件添加到自己的检查中是可能的。
安装
pip install pylint #如果您使用的是Python 3.6+,请升级以获得对您的版本的完全支持: pip install pylint --upgrade #如果要从源分发版安装,请解压缩tarball并运行以下命令 python setup.py install
文档
Pylint附带以下附加命令:
- pyreverse:一个UML图生成器
- symilar:一个独立的相似性检查器
- epylint:Emacs和Flymake兼容的Pylint
使用
pylint的各种引用以及使用方式都可以去文档查找,这里仅介绍一下比较基础简单的示例
pylint [options] modules_or_packages
命令行选项
错误代码含义
- C:惯例,违反了编码风格标准
- R:重构,代码非常糟糕
- W:警告,某些 Python 特定的问题
- E:错误,很可能是代码中的错误
- F:致命错误,阻止 Pylint 进一步运行的错误
更多pylint相关可参考文档
2. yapf:
Python的大多数当前格式化程序 - 例如,autopep8和pep8ify ---用于从代码中删除lint错误。这有一些明显的局限性。例如,符合PEP 8指南的代码可能无法重新格式化。但这并不意味着代码看起来很好。
YAPF采用不同的方法。它基于由Daniel Jasper开发的'clang-format'。从本质上讲,算法会获取代码并将其重新格式化为符合样式指南的最佳格式,即使原始代码没有违反样式指南。这个想法也类似于Go编程语言的'gofmt'工具:结束所有关于格式化的神圣战争
如果项目的整个代码库只是通过YAPF进行修改,只要进行修改,样式在整个项目中保持一致,并且没有必要在每次代码审查中争论风格。
最终目标是YAPF生成的代码与程序员在遵循样式指南时编写的代码一样好。它消除了维护代码的一些苦差事。
安装
pip install yapf
使用
yapf [-h] [-v] [-d | -i] [-r | -l START-END] [-e PATTERN] [--style STYLE] [--style-help] [--no-local-style] [-p] [-vv] [files [files ...]]
同上,一样也可以直接跟文件进行操作
参数
参数说明
-h, --help
显示此帮助消息并退出
-v, --version
显示版本号并退出
-d, --diff
比较差异
-i, --in-place
对文件进行更改
-r, --recursive
以递归方式运行目录
示例
#直接跟文件名(并不修改文件) yapf <python file> #格式化前后对比 yapf -d <python file> #直接修改源文件 yapf -i <python file> #导出配置文件 yapf --style-help > style.cfg #并发格式化多个文件,需要futures模块支持 yapf -pi *.py
更多yapf相关可参考yapf
其他的此类工具还有Pyflakes,flake8等等,小编直接出到这两个常用的,更多内容大家在项目实战中应该会有更多接触
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
python,代码,检查
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]