我在我的Python项目上运行pylint -E
作为测试的一部分,以确保错误不会蔓延到未经测试的代码中。一般来说这很有效。但最近我遇到了voluptuous和pylint的问题。
问题是pylint认为妖娆模式返回的值是列表,而事实并非如此。这是一个玩具计划:
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
?
答案 0 :(得分:1)
一种选择是完全忽略voluptuous
模块,例如
$ pylint -E --ignored-modules=voluptuous toy.py
(passes)
如果pylint
更好地理解voluptuous
,那将会很好。