【问题标题】:Is it possible to partially disable a pylint rule based on its message?是否可以根据其消息部分禁用 pylint 规则?
【发布时间】:2018-07-25 09:57:11
【问题描述】:

有些规则用于不止一种情况。特别是,规则 C0326 至少在两种情况下使用:

def func() : 
    pass

给出消息 C0326:No space allowed before :

def func(param:int):
    pass

给出消息 C0326:Exactly one space required after :

我希望 pylint 检测并抱怨第一种情况,而不是第二种情况(是的,我知道我是个野蛮人,因为我没有在类型提示之前放置空格)。由于代码相同但消息不同,我希望可以单独调整这些情况。目前是否可以这样做?

【问题讨论】:

    标签: python pylint pylintrc


    【解决方案1】:

    不,这是不可能的。或者更确切地说,不改变 pylint 的内部结构是不可能的。

    在仍然有野蛮空白实践的同时只产生您想要的错误的最简单方法可能是在相关行上添加禁用 pylint 的注释。例如,请考虑以下示例文件。

    def fun(x) :  #pylint: disable=bad-whitespace
        return
    
    def fun2(x:int):
        return 2 * x
    

    Pylint 会抱怨 fun2 中的错误空格,但不会抱怨 fun1

    【讨论】:

    • 我虽然关于使用禁用注释,但这会 1. 污染代码,因为几乎每个函数都必须拥有它,并且 2. 也禁用第一种情况,这是我不这样做的不想。我想我会考虑在 pylint 的问题跟踪器中打开一个问题,或者放弃我的野蛮人的空白方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    相关资源
    最近更新 更多