我正在尝试将 pylint 配置为接受两个字母变量名称,而不给出“不符合 Snake_case 命名风格”警告。
我已经设置了默认的 ~/pylintrc 并尝试按如下方式编辑它
variable-rgx=[a-z_][a-z0-9_]{1-30}$
variable-rgx=[a-z\_][a-z0-9_]{1-30}$
(我不知道为什么会有反斜杠,但我在一个随机网站上发现它谈论配置 pylint 并认为值得一试)variable-naming-style=snake_case
good-names
当我直接在终端中或通过 Vim/Ale 运行 pylint 时,就会发生这种情况(也许并不奇怪)。我已经多次关闭并重新启动我的终端,甚至重新启动一次以尝试清除可能正在发生的任何缓存,但我无法让它工作。
奇怪的是,将
max-line-length
更改为 120 效果很好,所以我知道 pylint 实际上正在读取 ~/pylintrc
。为什么这个有效,而我上面的努力却没有?
让我们一一回顾一下您的方法和子问题:
添加
variable-rgx=[a-z_][a-z0-9_]{1-30}$
重复说明符中存在拼写错误。它必须是逗号而不是连字符。下面的行将按预期工作:
variable-rgx=[a-z_][a-z0-9_]{1,30}$
this character changed ---^
这已经是解决方案了。现在我们也来看看其他方法。
添加
(我不知道为什么会有反斜杠,但我在一个随机网站上发现它谈论配置 pylint 并认为值得一试)variable-rgx=[a-z\_][a-z0-9_]{1-30}$
这存在上述拼写错误。我也不知道反斜杠应该做什么。它允许像
\foo
这样的变量 - 这些变量在 Python 中仍然是无效的语法错误 - 是的,我猜?
一般来说,不要将随机网站中的随机内容放入您的配置中。
以上都注释掉和不注释掉
variable-naming-style=snake_case
这是无关紧要的
variable-rgx
覆盖variable-naming-style
。
添加一些我常用的 2 个字母变量
good-names
这在个别情况下确实有效。不过,它会将
('i', 'j', 'k', 'ex', 'Run', '_')
的(合理)默认值覆盖为 记录。
假设您想要将
yo
和 oi
列入白名单,您可以将以下行添加到您的 pylintrc
中:
good-names=i,j,k,ex,Run,_,yo,oi
总的来说,我发现首先尝试命令行中的
pylint
选项非常有帮助,只有在确认它们有效时才将它们放入 pylintc
中。这很容易,因为任何命令行参数 --foo
都会变成 foo
中的 pylintrc
。