This article is all about how to use pylint to format your python⌨️
1. ❔What is pylint
Pylint 是一个广泛使用的 Python 静态代码分析工具,用于检查代码质量、识别潜在的错误和确保代码遵循良好的编程规范。它可以帮助开发者维护一致的代码风格,提高代码的可读性和可维护性。
Pylint 一般被用作代码review前,用作项目成员自测或保证各成员编码风格统一的检视工具。
日常运用时,通常会使用习惯的python formatter用作编码过程中\的规范工(Autopep8/Black/isort/etc)
详细可以查看这篇BLOG,归纳的比较全--Auto formatters for Python
2. How to install or use pylint
Console Style
-
切换至你的python环境
pip install pylint
-
命令行使用pylint
检查文件## 单个文件 pylint your_file.py ## 多个文件 pylint file1.py file2.py
或者检查整个项目目录
pylint your_project
-
输出检查报告
## 使用重定向符号 > 保存输出 pylint your_script.py > pylint_output.txt ## 使用 --output 选项 pylint your_script.py --output=pylint_output.txt
⭕ 在终端中使用pylint比较灵活,但是并不具备代码定向功能,所以还是在IDE中集成配置一下吧。
Vscode Style
-
安装pylint扩展
-
在终端的可以看到所有的workspace中所有的代码问题

Pycharm Style
-
- File > Settings> Tools > External Tool,点击 + 号添加
- File > Settings> Tools > External Tool,点击 + 号添加
-
- 添加如下配置:
Program中需要添加pylint.exe路径,若不知道安装路径,可在工作环境中执行
where pylint
- 添加如下配置:
-
- 选中文件右键,在External Tools中执行pylint 即可在终端中查看输出
- 选中文件右键,在External Tools中执行pylint 即可在终端中查看输出
3. ⚙️How to configure pylint
Pylint允许你通过配置文件来自定义代码检查的规则和行为。为了统一代码风格和标准,建议项目内成员使用统一配置完成pylint设置。
-
创建 .pylintrc 配置文件
在终端执行一下命令,生成默认配置文件。生成路径会在终端路径下。pylint --generate-rcfile > .pylintrc
当然你也可以指定生成路径
pylint --generate-rcfile > /path/to/your/project/.pylintrc
你可以在配置文件中修改,达到自定义pylint行为的目的。
-
全局 .pylintrc 配置
-
方法一: 放置 .pylintrc 文件到用户主目录
如果你想对所有 Python 项目使用相同的 .pylintrc 文件,可以将其放在用户目录下的 ~/.pylintrc 文件中(Unix 系统)或 C:\Users\YourUsername.pylintrc 文件中(Windows 系统)。
Pylint 在运行时会自动查找这些位置的配置文件。 -
方法二: 使用环境变量 PYLINTRC
Windows:
打开“系统属性” > “高级” > “环境变量”。
在用户变量或系统变量中,点击“新建”,添加一个新的环境变量:- 变量名: PYLINTRC
- 变量值: .pylintrc 文件的路径,例如 C:\Users<你的用户名>.pylintrc
-
检查默认配置文件是否生效
pylint -v
输出当前使用配置文件路径
-
-
使用指定的 .pylintrc 文件
使用 --rcfile 参数,执行pylint时定向配置文件路径pylint --rcfile=/path/.pylintrc your_python_file.py
-
python行代码内配置
如果你想针对代码中的某一行,绕过pylint中的检查项,可以在该行后添加注释。import dlib # pylint:disable=unused-import ```吗,
4. 📖How to use the output of pylint
- 在IDE中配置完成后可以在PROBLEMS视图中查看当前文件中所有的问题,包括问题详情、违反的规则编号、相关规则信息,以及问题位置.
- 如果是使用终端pylint的话,在最后一行还有量化的代码分数(虽然不太能有用于质量批判,但是挺有意思的,算是修改错误的量化反馈吧)