Python Pylint使用心得

屏蔽某一類型消息

disable="W"

表示屏蔽所有warning類型的消息。

disable="E1101"

表示屏蔽1101的錯誤信息。

屏蔽某些動態(tài)屬性的報(bào)錯

  1. 在python類里面有一些屬性是動態(tài)生成。為了防止這些內(nèi)容被當(dāng)成報(bào)錯。
    ignored-classes=optparse.Values,thread._local,_thread._local

  2. 在實(shí)際開發(fā)的時候,我遇到過在python底層新增的函數(shù)。比如新增一個字符串操作的函數(shù)a1。這個在pylint會報(bào)錯沒有這個函數(shù)。

    1. 用ignored-classes=str.a1是沒法屏蔽這個報(bào)錯。
    2. 直接用ignored-classes=a1來屏蔽這種報(bào)錯

屏蔽builtins的報(bào)錯

在實(shí)際開發(fā)的時候,我遇到過在python底層新增一個函數(shù),或者一個變量。比如新增變量a。這個在pylint會報(bào)錯沒有這個變量。但是實(shí)際運(yùn)行沒問題。
這時候需要使用additional-builtins來屏蔽這個問題。

additional-builtins=a

屏蔽不存在的import的報(bào)錯

如果你檢查的項(xiàng)目只是一個大項(xiàng)目的其中一個部分,項(xiàng)目可能import了一些外部項(xiàng)目的類,但是pylint是找不到的??梢允褂胕gnored-modules來忽略:

ignored-modules = a,b,c

使用注釋忽略某一個告警

比如 line:13 func is not callable(E1102/not-callable)
可以使用

# pylint:disable=not-callable

或者

# pylint:disable=E1102

屏蔽多個錯誤的注釋

# pylint:disable=E1102,E1103

注釋的作用域

注釋是有作用域的,同一個函數(shù)需要有個多次相同的告警忽略,建議在函數(shù)開頭用注釋聲明。
以免出現(xiàn)意外情況,比如如下情況:

if xxx:
    for in:
        # pylint:disable=E1102 只忽略if里面的告警
else:
    # pylint:disable=E1102  這個注釋無效
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容