概括
Pylint 抱怨类声明和以下函数中未定义的变量。如果我注释掉类声明,函数仍然被突出显示,我不确定为什么。
环境
操作系统:Suse Leap 42.3
编辑器:vscode 1.38
Python:3.4.6
Pylint:1.4.4
Pylint Args:["--load-plugin", "pylint_protobuf", "--enable=F,E,W"]
复制案例
#!/usr/bin/env python3
'''Dummy doc string'''
from ctypes import * # pylint: disable=unused-wildcard-import
class BOX(Structure):
_fields_ = [("x", c_float),
("y", c_float),
("w", c_float),
("h", c_float)]
def example(a, b):
c = str(a + b)
print(c)
这会产生以下错误/警告
未定义变量 'Structure' pylint(undefined-variable) [6, 11]
未定义变量 'a' pylint(undefined-variable) [13, 13]
未定义变量 'b' pylint(undefined-variable) [13, 17]
未定义变量'c' pylint(undefined-variable) [14, 11]
本地禁用未使用通配符导入 (W0614) pylint(locally-disabled) [4,1]
如果我将鼠标悬停在Structure
我可以看到class PyCStructType()
,同样如果我将鼠标悬停在c
我可以看到c: str
,所以数据类型是已知的。
问题
- 为什么上面的代码会产生 pylint 错误?(我希望只看到本地禁用未使用的通配符导入的警告)
- 这个问题是否特定于我的环境?(旧版python等)
Nb 我不想用# pylint: disable=undefined-variable