问题标签 [pylint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
156 浏览

pylint - 如何检索 pylint 消息的列偏移量?

我想自己格式化 pylint 的输出,所以我直接调用 pylint.lint.Run,​​并接收对我的 add_message 方法的回调。过程非常顺利,但我需要消息的列偏移量来构建我的输出(我正在突出显示违规行的部分)。

pylint 在适当的情况下报告每条消息的行号。但是,pylint 似乎没有报告任何偏移信息 - 因此它没有报告检测到问题的位置。在底层 pylint 使用来自 logilab 的另一个库,称为 astng,它是对 python _ast 的更新。_ast 解析节点包含偏移信息,但这似乎没有在 astng 中复制。

0 投票
1 回答
3149 浏览

python - 物业装饰师

我有一个属性装饰器,所以:

使用(例如)这样:

所以我的问题是关于这样做的python方式。Pydev 抱怨

“方法method应该有 self 作为第一个参数”

pylint给了我

方法没有参数

我知道我可以在 pydev 中关闭此错误消息,但我想知道是否有更好的方法来管理不将 self 作为参数的方法,我可以做得更好。

0 投票
7 回答
2164 浏览

python - 如何从 Bash 中的返回码中提取位

我正在使用返回此错误代码的 pylint 实用程序:

现在我需要确定 Bash 中是否出现了致命或错误消息。怎么做?我想我需要位操作;-)

编辑:我知道我需要按位执行第三 (3) 号并针对 null 进行测试以查看是否发出了致命消息或错误消息。我的问题很简单:用 bash 语法来做。输入是 $?,输出又是 $? (例如使用测试程序)。谢谢!

0 投票
3 回答
258 浏览

python - python样式**问题

我正在使用 Python 2.7 开发我的第一个项目。我们来自 Java 背景,我们的第一直觉是以 Java 风格的方式编写 python 代码。但现在我们正试图尽可能地适应。到目前为止,我们正在使用pylint来调整我们的代码。

现在我一直遇到 pylint的情况。每次我使用诸如**data将值传递给方法之类的东西时,我都会收到有关使用or的pylint警告。现在我的问题是:在编写 python 代码时使用了不好的样式吗?是否有某种标准替代品来使用它?*****

问候, 博格丹

0 投票
2 回答
895 浏览

python - Pylint - 区分新错误和旧错误

有人知道如何在 Pylint 报告中区分新错误(在最近一次执行 Pylint 期间发现的错误)和旧错误(在以前执行期间发现的错误)吗?

我在我的一个项目中使用 Pylint,这个项目非常大。Pylint 报告了很多错误(即使我在 rcfile 中禁用了很多错误)。虽然我会随着时间的推移修复这些错误,但不要引入新错误也很重要。但是 Pylint HTML 和“可解析”报告并没有将新错误与之前识别的错误区分开来,即使我使用persistent=yes选项运行 Pylint。

至于现在 - 我手动比较新旧报告。不过,如果 Pylint 能够以某种方式突出显示在最近一次运行中发现但在上一次运行中没有发现的错误消息,那将是非常好的。是否可以使用 Pylint 或现有工具或其他工具来做到这一点?因为如果不是 - 看来我最终会编写自己的比较和报告生成。

0 投票
5 回答
3044 浏览

python - 如何在 Pydev Eclipse 编辑器边距中标记 pylint 警告?

我已经安装了 pylint(在命令行上运行良好)并在 Eclipse 的 Pydev 中进行了设置。

当我编辑文件时,Pylint 被触发 OK,并输出到 Eclipse 控制台。

但是,pylint 警告不会在编辑器边距中显示为标记(与编译器警告和错误相同)

新生成的警告也不会出现在“问题”视图中 - 显示了一些旧警告,但如果我重新保存相关模块,它们就会消失。

我知道这是可能的,因为我之前已经让它工作了——但是我该如何设置呢?

勾选或取消勾选“将 Pylint 输出重定向到控制台?” 似乎没有任何区别。

0 投票
1 回答
17713 浏览

python - 如何配置 Pylint 以检查 PEP8 检查的所有内容?

在 Pylint 的邮件列表中搜索答案并没有带来有趣的结果。

众所周知,Pylint 是非常可定制的,所以我想这应该是可能的......

我希望 Pylint 检查是否符合 PEP8 的原因是因为

  • PyDev对 Pylint 的支持比对 PEP8 的支持要好得多。
  • 使用一种工具进行所有检查比使用两种工具更容易。

我还在http://thread.gmane.org/gmane.comp.python.logilab/1039的 Pylint 邮件列表上问了这个问题

我没有从 Pylint 获得的来自 PEP8 的诊断消息示例:

  • ':' 之前的 E203 空格
  • E225 运算符周围缺少空格
  • E251 关键字/参数周围没有空格等于
  • E301 预期 1 个空行,发现 0
  • E303 空行过多
  • E501 行太长(90 个字符)
  • W291 尾随空格
  • W292 文件末尾没有换行符
  • W293 空白行包含空格
0 投票
1 回答
548 浏览

python - 有没有一种好方法可以将 pychecker/pylint 应用于 Tornado 模板中的 python 代码?

我正在使用 Tornado 2.0 (Python 2.6.5) 来构建一个简单的网络应用程序。

自然,我的 Tornado 模板包含 Python 代码片段。对于我的非模板代码,我使用 pychecker 和 pylint 来检查错误等。

但是,显然 pychecker 和 pylint 不能直接在模板上运行,b/c 模板不是正确的 python 文件(对于非 Tornado 用户:它们是类似 html 的片段,带有一些控制序列和嵌入的 python 代码)。

所以,我的问题是:任何人都可以建议一种将 pychecker/pylint 应用于这些模板文件中的 python 代码的好方法吗?据推测,这将涉及从文件中提取代码。

我可以大胆猜测如何做到这一点,但我很好奇其他人是否认为这是一个问题以及他们所追求的解决方案。我对网络应用程序设计/构建仍然相当陌生,所以我对以实践经验为指导的答案很感兴趣。

0 投票
5 回答
2521 浏览

python - 在 Python 中使用单元化变量

背景:我有一个类用寄存器建模一个芯片,芯片有一堆寄存器,其中一个是内置温度传感器的高温限制。

我有以下内容:

我没有在中声明的原因self._hiTemp__init__因为用户可能不关心芯片的温度感应能力。用户可以以不同的方式使用芯片,给这个变量一个无意义的值是没有意义的。但是,如果用户在没有先设置的情况下尝试使用self._hiTemp,则使用未声明变量的错误比比较数字和无(或者在某些情况下甚至根本没有错误)等一些晦涩的错误更容易调试/回溯。

在我启动 pylint 之前一切都很好,当然我得到 W0201: Attribute defined outside init几乎无处不在。我只是想知道这种编码风格是否不受欢迎,如果是,那么“Pythonic 方式”是什么。

谢谢

0 投票
1 回答
3140 浏览

python - 如何使用 pylint 解析多个文件(整个包)

我正在使用 python 2.7 并安装 pylint 0.24,作为我使用 Eclipse(带有 pydev)的 IDE,操作系统是 windows 7 64 位。Pylint 到目前为止工作,但在 Eclipse 中,当我保存 python 文件时,我只会得到 pylint 报告。

所以我的问题是,是否可以一次解析多个文件,例如包中的所有文件或在 Eclipse 或命令行中使用 pylint 的项目?

最好的问候
地精