我正在尝试强制执行一些简单的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
发现某些内容以非零值退出并导致构建失败。
)
答案 0 :(得分:2)
你正在寻找的可能是这样的:
在以下情况下提出:
<强>描述强>
当模块中有一些混合制表符和空格时使用。
<强>解释强>
Python以不同方式解释制表符和空格,因此保持一致 缩进对正确解释块的关键至关重要 Python语法。
当使用空格和制表符的混合时会引发此警告 缩进 - 或者更准确地说,当检测到缩进时没有缩进 与indent-string选项一致。默认情况下,缩进字符串是 设置为四个空格,在PEP 8中推荐缩进的样式。
编辑#1:
Pylint没有我知道的(以及当下)选项来强制执行&#34;只有编码风格的标签/空格。上面提到的W0312用于警告代码中的缩进不一致。
我用一种技巧来强制缩进:在PyCharm上打开你的项目(也可以免费使用社区版)如果IDE检测到不一致,它会警告你关于它们的内容,它会给你一个更改当前文件缩进的选项,或保持原样!