隐藏一些可能没有成员的Pylint错误

时间:2014-10-30 15:36:54

标签: python python-3.4 pylint

以下Python片段代码由Pylint分析:

if type(result) is array.array:
    read = result.tobytes()

...最后一行出现以下错误:

E:401,22: Instance of 'int' has no 'tobytes' member\ 
 (but some types could not be inferred) (maybe-no-member)

从外部函数接收result变量。如何更改(更正)代码以使Pylint理解?或者我怎么能告诉它函数的结果可以有除int之外的其他类型?或者我怎么能告诉它忽略那条特定的线? (我赞成按此顺序回答问题)

2 个答案:

答案 0 :(得分:20)

出于某种原因,pylint没有得到结果'可能是数组类型(并且肯定会在' if'分支下)。目前没有办法告诉pylint,尽管希望在某些时候可能。因此,目前,您只能通过在违规语句之后或其正上方添加# pylint: disable=maybe-no-member来禁用该特定行的警告。例如:

if type(result) is array.array:
    read = result.tobytes() # pylint: disable=maybe-no-member

if type(result) is array.array:
    # pylint: disable=maybe-no-member
    read = result.tobytes()

答案 1 :(得分:0)

我通过将此命令行选项传递给pylint禁用了所有no-member警告

--disable=E1101