1

我正在尝试执行一些简单的 python 格式化规则。我发现pylint并且我一直很高兴。然而,我需要强制执行的更简单的格式检查之一是:仅制表符或仅空格缩进。

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

我看到“pylintw0311发现意外数量的缩进列表或空格时使用”。但w0311不强制仅制表符或仅空格...它仍然支持制表符或空格。

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

(

ps 如果你好奇我是如何pylint用来执行我的规则的。我有一个运行pylint和使用的 shell 脚本,它set -o errexit与构建挂钩。因此,如果pylint找到某些东西,它会以非零值退出并导致构建失败。

)

4

1 回答 1

2

那么你正在寻找的可能是这样的:

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

在以下情况下引发:

描述

当模块中有一些混合的制表符和空格时使用。

解释

Python 以不同方式解释制表符和空格,因此一致的缩进对于正确解释 Python 语法中的块至关重要。

当在缩进中同时使用空格和制表符时会引发此警告 - 或者更准确地说,当检测到与 indent-string 选项不一致的缩进时。默认情况下,缩进字符串设置为四个空格,这是 PEP 8 中推荐的缩进样式。

编辑#1:

Pylint 没有我所知道的(以及目前)在您的编码样式中“强制”仅选项卡/空格的选项。上面提到的 W0312 的存在是为了警告代码中的缩进不一致。

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

于 2017-04-04T20:05:23.173 回答