如何在Python和/或Cloud9 IDE中抑制警告/错误?

时间:2017-03-20 19:43:31

标签: python cloud9-ide cloud9

我正在使用Cloud9 IDE并创建了一个Python项目。

但是,我一直在我的编辑器中输入错误,这在我运行它时不是错误,它说:

Instance of 'dict' has no 'columns' member

如何使用Python语法或Cloud9语法来抑制此错误?

注意:当我运行代码时,它不会导致错误。我的IDE编辑器只是认为它是一个错误并警告我。

    xl      = pd.ExcelFile(dataFileUrl)
    sheets  = xl.sheet_names
    data    = xl.parse(sheets[0])


    # the ERROR warning is on the line for data.columns
    for ecol in expectedCols:
        if (ecol in data.columns) == False:
            return {
                'fail':   True,
                'code':   402,
                'msg':    "Incomplete data. Missing: " + ecol
            }

enter image description here

3 个答案:

答案 0 :(得分:2)

这是PyLint的已知限制,如documentation ..

中所述

E1101

%s %r has no %r member

Function %r has no %r member
Variable %r has no %r member
. . .

描述

在为不存在的成员访问对象(变量,函数,...)时使用。

误报:此消息可能会报告动态创建但在访问它们时存在的对象成员。

尝试在页面顶部添加评论# pylint: disable=no-member(我之前从未尝试过修改PyLint,所以我完全确定这个通过评论进行配置的系统是如何工作的......)< / p>

答案 1 :(得分:1)

您可以使用try(相当于尝试/捕获或使用其他语言进行救援/确保)

try:
   ecol in data.columns:
except:
    #Handle differently if there is a problem or pass
    return {
            'fail':   True,
            'code':   402,
            'msg':    "Incomplete data. Missing: " + ecol
        }

答案 2 :(得分:1)

在@LucG的评论之后,我尝试以不同的方式获取列标题列表。

因此,在this thread之后,我使用了

list(df) 

而不是

df.columns

这抑制了警告。