如何让pylint、flake8或pycodestyle自动更正错误?

Jan*_*Jan 11 pylint flake8 autopep8 pycodestyle

我已在 Ubuntu 18.04 上使用的 VM 上正确安装了上述所有模块。在特定脚本或文件夹上运行它们中的任何一个时,它们都会正确识别样式错误并将其输出到控制台中。例如:

(venv) .../src$ python3.6 -m flake8
./free_prediction.py:8:1: E303 too many blank lines (5)
./free_prediction.py:8:28: E231 missing whitespace after ','
./free_prediction.py:10:5: E225 missing whitespace around operator
./free_prediction.py:12:3: E225 missing whitespace around operator
./free_prediction.py:15:13: E225 missing whitespace around operator
Run Code Online (Sandbox Code Playgroud)

但是,代码中仍然存在相同的样式错误。如何使它们自动更正?

Cor*_*erg 14

AFAIK,这些 linting 工具都不会解决他们发现的样式问题。但是,有几种代码格式化工具可以自动修复许多被标记的样式错误。

一些比较流行的Python代码格式化工具,值得一试的是:blackautopep8,和yapf。(所有这些都在 PyPI 上并且可以通过 pip 安装)

更多信息:


Has*_*tax 6

您正在寻找的解决方案称为“自动格式化程序”

你提到的工具只是为了检查代码的风格


有关 black、autopep8 和 yapf 与实际 Python 片段的全面比较,请参阅此博客文章。

https://medium.com/3yourmind/auto-formatters-for-python-8925065f9505