以下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之外的其他类型?或者我怎么能告诉它忽略那条特定的线? (我赞成按此顺序回答问题)
答案 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