通过修改__dict __

时间:2019-06-11 08:37:11

标签: python visual-studio-code pylint

我有一个代码库(我没有写过并且不能修改),其中创建对象的名称以字符串的方式通过以下方式给出:

import sys

class A:
    def __init__(self, name):
        self.name = name
        sys.modules['__main__'].__dict__[name] = self

然后将对象定义和访问为

A('test')
print(test.name)

但是,当我在Visual Studio Code中打开它时,所有这些变量都被pylint标记为未定义。有谁知道让Pylint不识别这些对象的好方法?我可以完全关闭未定义的变量警告,但如果可能的话,我仍然希望能从变量检查中受益。

1 个答案:

答案 0 :(得分:0)

在这种情况下,无法使Pylint工作。 Pylint进行静态分析,这需要动态分析。