`pylint`:如何为制表符或空格缩进启用错误?

`pylint`: how do you enable errors for tabs or spaces indentation?

我正在尝试执行一些简单的 python 格式规则。我找到了pylint,我一直很开心。然而,我需要执行的更简单的格式检查之一是:仅制表符或仅空格缩进。

pylint 中,如何启用制表符或空格缩进的错误或警告?

我看到 pylintw0311 "Used when an unexpected number of indentation's tabulations or spaces has been found"。但是 w0311 不强制使用制表符或空格...它仍然支持制表符或空格。

我需要我所有的 python 文件都只有一种缩进。

(

p.s。如果您好奇我如何使用 pylint 来执行我的规则。我有一个运行 pylint 的 shell 脚本,我使用 set -o errexit 并且它与构建挂钩。因此,如果 pylint 发现它以非零值退出并导致构建失败。

)

你要找的可能是这个:

混合缩进 (W0312): 发现使用 %ss 而不是 %ss 的缩进 当模块中有一些混合制表符和空格时使用。

在以下情况下引发:

Description

Used when there are some mixed tabs and spaces in a module.

Explanation

Python interprets tabs and spaces differently, so consistent indentation is critical to the correct interpretation of blocks in Python syntax.

This warning is raised when a mix of both spaces and tabs is used in indentation—or more precisely, when an indent is detected that is not consistent with the indent-string option. By default, indent-string is set to four spaces, the style of indentation recommended in PEP 8.

编辑#1:

Pylint 在您的编码风格中没有我所知道的(并且目前)仅 "enforce" tabs/spaces 的选项。上面提到的 W0312 的存在是为了警告代码中的缩进不一致。

我有一个强制缩进的技巧:在 PyCharm 上打开你的项目(也可以在免费的社区版上运行)如果 IDE 检测到不一致,它会警告你它们会给你一个选项来改变当前文件的缩进,或者保持原样!