我在Python项目上运行pylint -E
作为测试的一部分,以确保错误不会蔓延到未测试的代码中。总的来说,这很有效。但最近我遇到了性感和皮琳的问题。
问题是pylint认为性感的Schema返回的值是列表,但事实并非如此。这里有一个玩具程序:
import voluptuous
MyType = voluptuous.Schema({
'q': str
})
def foo(bar):
bar = MyType(bar)
q = bar.get('q')
print q
foo({'q': '1324'})
它运行得很好:
$ python toy.py
1234
然而,pylint标记.get()
调用:
$ pylint -E toy.py
No config file found, using default configuration
************* Module toy
E: 11, 8: Instance of 'list' has no 'get' member (no-member)
如何使此程序通过pylint -E
?
一个选项是完全忽略voluptuous
模块,例如
$ pylint -E --ignored-modules=voluptuous toy.py
(passes)
如果pylint
能更好地理解voluptuous
,那就太好了。