如何让pylint、flake8或pycodestyle自动纠错?
How to make pylint, flake8 or pycodestyle to automatically correct errors?
我已经在 Ubuntu 18.04 上使用的虚拟机上正确安装了上述所有模块。当 运行 它们中的任何一个在特定脚本或文件夹上时,它们会正确识别样式错误并将它们输出到控制台中。例如:
(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
但是,代码中仍然存在相同样式的错误。如何让它们自动更正?
AFAIK,none 这些 linting 工具将修复它们识别的样式问题。但是,有几种代码格式化工具可以自动修复许多已标记的样式错误。
一些更流行的 Python 代码格式化工具值得一试:black
、autopep8
和 yapf
。 (它们都在 PyPI 上,可以通过 pip 安装)
更多信息:
您正在寻找的解决方案称为“auto-formatter。”
您提到的工具仅用于检查代码的样式。
查看此博客 post 以全面比较 black、autopep8 和 yapf 与实际 Python 片段。
https://medium.com/3yourmind/auto-formatters-for-python-8925065f9505
Flake8 的吸引力越来越大。
因此,自 2019 年以来情况发生了一些变化。我认为值得注意的是,除了 pycodestyle
之外,现在还有一个修复 flake8
错误(例如 McCane 复杂性)的项目错误(PEP8):
- autopep8:尝试解决
pycodestyle
- https://pypi.org/project/autopep8/ 发现的问题
- autoflake8:尝试解决
flake8
发现的问题(包装 pycodestyle
、pyflakes
和 mccabe
) - https://pypi.org/project/autoflake8/
我已经在 Ubuntu 18.04 上使用的虚拟机上正确安装了上述所有模块。当 运行 它们中的任何一个在特定脚本或文件夹上时,它们会正确识别样式错误并将它们输出到控制台中。例如:
(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
但是,代码中仍然存在相同样式的错误。如何让它们自动更正?
AFAIK,none 这些 linting 工具将修复它们识别的样式问题。但是,有几种代码格式化工具可以自动修复许多已标记的样式错误。
一些更流行的 Python 代码格式化工具值得一试:black
、autopep8
和 yapf
。 (它们都在 PyPI 上,可以通过 pip 安装)
更多信息:
您正在寻找的解决方案称为“auto-formatter。”
您提到的工具仅用于检查代码的样式。
查看此博客 post 以全面比较 black、autopep8 和 yapf 与实际 Python 片段。
https://medium.com/3yourmind/auto-formatters-for-python-8925065f9505
Flake8 的吸引力越来越大。
因此,自 2019 年以来情况发生了一些变化。我认为值得注意的是,除了 pycodestyle
之外,现在还有一个修复 flake8
错误(例如 McCane 复杂性)的项目错误(PEP8):
- autopep8:尝试解决
pycodestyle
- https://pypi.org/project/autopep8/ 发现的问题
- autoflake8:尝试解决
flake8
发现的问题(包装pycodestyle
、pyflakes
和mccabe
) - https://pypi.org/project/autoflake8/