【问题标题】:Is it possible to ignore one single specific line with pylint, without changes to the source code?是否可以在不更改源代码的情况下使用 pylint 忽略单个特定行?
【发布时间】:2019-06-21 15:46:29
【问题描述】:

Is it possible to ignore one single specific line with pylint? 的解决方案需要使用 cmets 乱扔源代码,这对我来说是不受欢迎的。

有没有办法在 pylint 命令行工具的参数中指定给定实例为误报?

【问题讨论】:

  • 我认为在不更改源代码的情况下忽略特定行是不可能的。但是,当然可以忽略.pylintrc 中的警告类型。您有具体案例吗?
  • @ScottSkiles 我有一个包含简单程序的存储库,每个程序都有多个阶段 - 从最简单的可能到具有更多功能的最终版本。我在教学编程期间使用它。在这种特定情况下,我想禁止 W0612: Unused variable 'i' (unused-variable) 的一个实例,因为它稍后会被使用,并且从 _ 变量名切换到 i 变量名只是为了安抚验证器是没有意义的。并且添加魔术注释是不受欢迎的,因为奇怪的 cmets 让初学者感到困惑是不可取的。
  • 我在 github 上打开了 issue:github.com/PyCQA/pylint/issues/2712
  • 好的。就在我的脑海中,如果不对源代码进行任何修改,这可能很难做到……你想过如何实现吗?

标签: python command-line configuration pylint false-positive


【解决方案1】:

我认为在不更改源代码的情况下忽略特定行是不可能的。但是,当然可以忽略.pylintrc 或文件顶部的警告类型。

我会采用创建 .pylintrc 的方法来满足您的需求。例如,如果您想完全忽略W0612: unused-variable,那么您可以create a .pylintrc 文件并添加消息名称以禁用,如pytest docs 中所述。

.pylintrc

disable=unused-variable,
..., 

或者,您可以根据具体情况禁用消息at the top of the file,然后告诉您的学生忽略它:

文件顶部

# pylint: disable=unused-variable, wildcard-import, method-hidden
# pylint: enable=too-many-lines

【讨论】:

  • 是否可以只在一个文件中忽略给定的警告?我只想摆脱一个误报,这条规则通常有意义吗?
  • 我不这么认为。如果它只是一行,我认为添加它并告诉你的学生忽略它是安全的......
猜你喜欢
  • 2015-05-03
  • 2018-04-16
  • 2021-11-03
  • 1970-01-01
  • 2023-04-10
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
相关资源
最近更新 更多