`pylint`:如何为制表符或空格缩进启用错误?
`pylint`: how do you enable errors for tabs or spaces indentation?
我正在尝试执行一些简单的 python 格式规则。我找到了pylint
,我一直很开心。然而,我需要执行的更简单的格式检查之一是:仅制表符或仅空格缩进。
在 pylint
中,如何启用制表符或空格缩进的错误或警告?
我看到 pylint
有 w0311
"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 检测到不一致,它会警告你它们会给你一个选项来改变当前文件的缩进,或者保持原样!
我正在尝试执行一些简单的 python 格式规则。我找到了pylint
,我一直很开心。然而,我需要执行的更简单的格式检查之一是:仅制表符或仅空格缩进。
在 pylint
中,如何启用制表符或空格缩进的错误或警告?
我看到 pylint
有 w0311
"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 检测到不一致,它会警告你它们会给你一个选项来改变当前文件的缩进,或者保持原样!