妖娆的代码可以通过pylint吗?

时间:2015-03-05 15:24:44

标签: python pylint voluptuous

我在我的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

1 个答案:

答案 0 :(得分:1)

一种选择是完全忽略voluptuous模块,例如

$ pylint -E --ignored-modules=voluptuous toy.py
(passes)

如果pylint更好地理解voluptuous,那将会很好。