下列 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之外的其他类型?或者我怎么能告诉它忽略那条特定的线? (我赞成按此顺序回答问题)
由于某种原因,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()
代替
result.tobytes(),
使用
getattr(result, 'tobytes')()