作为单元测试的一部分,我想调用限制在错误信号部分的pylint检查器.所以我检查了pylint可执行脚本,进入了pylint.lint.Run助手类,在那里我迷失了很长时间的__init__功能,以调用结束sys.exit().
有人试过并设法这样做吗?
梦想计划将是这样的:
if __name__ == '__main__':
import pylint.lint
pylint.lint.something(__file__, justerrors=True)
# now continue with unit testing
Run Code Online (Sandbox Code Playgroud)
任何提示?除了"复制__init__方法并跳过sys.exit()",我的意思是?
我并不需要通过运行测试pylint,它也可能是pyflakes或其他软件:随时提出替代方案.谢谢!
我正在使用pydev,我已经设置了pylint.问题是即使在评论中,pylint也会报告警告.我希望在任何行或块注释中禁用任何类型的检查.另外,我希望在我的代码中遵循camelCase命名约定而不是下划线中的变量和参数.有没有办法指定这样的规则而不用任何pylint插入我的代码:禁用评论?
以下是来自pylint的文档:
--ignore=<file>
Add <file or directory> to the black list. It should be a base name, not a path. You may set this option multiple times. [current: %default]
Run Code Online (Sandbox Code Playgroud)
然而,我没有运气让目录部分工作.
我有一个名为migrations的目录,它有django-south迁移文件.当我输入--ignore = migrations时,它仍然会在迁移目录中的文件中向我提供错误/警告.
难道这--ignore不适用于目录吗?
如果我甚至可以使用regexp来匹配被忽略的文件,那么django-south文件都被命名为0001_something,0002_something ...
由于我无法通过目录来忽略工作,我只是简单地放在# pylint: disable-msg-cat=WCREFI每个迁移文件的顶部,忽略所有的pylint错误,警告和信息.
我想使用pylint来检查我的代码,但我只对错误和警告级别感兴趣.有没有办法在命令行或pylintrc中执行此操作?
我对过滤给定的问题不感兴趣(比如在MESSAGE CONTROL中列出所有消息),我只想让pylint忽略所有约定和重构消息.
注意:我不认为这是使用Pylint显示错误和警告的重复
在PyLint的邮件列表中搜索答案没有带来任何有趣的结果.
众所周知PyLint是可定制的,所以我想这应该是可能的......
我希望PyLint检查是否符合PEP8的原因是因为
我也在PyLint的邮件列表上问过这个问题:http: //thread.gmane.org/gmane.comp.python.logilab/1039
来自PEP8的诊断消息示例,我没有从PyLint获得:
当Pylance被介绍时,我提出了一个关于如何通常自定义 Pylance linting 的问题。在这里,人们可以找到几种自定义 Pylance 的方法,但没有介绍如何抑制、静音或实际禁用某些警告和错误。
回顾一下,使用pylint可以指定以下内容VS Code settings.json来禁用特定错误/警告:
"python.linting.pylintArgs": [
"--disable=C0111"
]
Run Code Online (Sandbox Code Playgroud)
至于背景,由于过多的 Pylance(reportMissingImports) linting 错误尚未解决,并且由于项目需求,我与 Pylance 同时启用了 pylint。尽管如此,这些无数的 Pylance(reportMissingImports) linting 错误仍然很烦人,我想完全消除它们。
如果我使用pylint(通过sublimerlinter),我收到以下警告消息:
W602 deprecated form of raising exception
这个我如何在我的代码中使用异常:
if CONDITION == True:
raise ValueError, HELPING_EXPLANATION
Run Code Online (Sandbox Code Playgroud) 无论如何都要隐藏E1101从特定库创建的对象的错误?我们的大型存储库充斥着#pylint: disable=E1101大熊猫创建的各种对象.
例如,pylint将在以下代码上抛出无成员错误:
import pandas.io.data
import pandas as pd
spy = pandas.io.data.DataReader("SPY", "yahoo")
spy.to_csv("test.csv")
spy = pd.read_csv("test.csv")
close_px = spy.ix["2012":]
Run Code Online (Sandbox Code Playgroud)
会有以下错误:
E: 6,11: Instance of 'tuple' has no 'ix' member (no-member)
E: 6,11: Instance of 'TextFileReader' has no 'ix' member (no-member)
Run Code Online (Sandbox Code Playgroud) pyLint看起来像是运行python代码分析的好工具.但是,我们的主要目标是捕获任何潜在的错误而不是编码约定.启用所有pyLint检查似乎会产生很多噪音.关于你使用的一组pyLint功能的任何建议是否有效?
我试图正确缩进下面的代码:
RULES_LIST = [
('Name1', 1, 'Long string upto 40 chars'),
('Name2', 2, 'Long string upto 40 chars'),
('Name3', 3, 'Long string upto 40 chars'),
('Name4', 4, 'Long string upto 40 chars'),
('Name5', 5, 'Long string upto 40 chars'),
('Name6', 6, 'Long string upto 40 chars'),
('Name7', 7, 'Long string upto 40 chars'),
('Name8', 8, 'Long string upto 40 chars')
]
Run Code Online (Sandbox Code Playgroud)
pylint的抱怨Wrong hanging indentation.对于上面的代码,并PEP8抱怨E121: under-indented for hanging indent.
针对pylint的可能修复方法是将其更改为:
RULES_LIST = [\
('Name1', 1, 'Long string …Run Code Online (Sandbox Code Playgroud) pylint ×10
python ×8
pep8 ×3
coding-style ×2
indentation ×1
lint ×1
pandas ×1
pydev ×1
pylance ×1
python-3.x ×1