2013-09-29 75 views
3

現在,如果我有一些這樣的功能,我希望能夠得到有關index未定義的錯誤,同時忽略some_index未定義的錯誤。忽略pyflakes/pylint的doctests/docstrings

def myfunction(ind, other): 
    """ 
    Parameters 
    ---------- 
    ind: Index 
    other: Index or set 

    Returns 
    ------- 
    Index. 

    Examples 
    -------- 

    >>> myfunction(some_index, other) 
    """ 
    return index + other 

如果我通過flake8運行此我得到:

file.py:15:1: F821 undefined name 'other' 
file.py:15:1: F821 undefined name 'some_index' 
file.py:17:1: F821 undefined name 'index' 

但我希望看到的僅僅是索引錯誤而忽略其他:

file.py:17:1: F821 undefined name 'index' 

如果我運行pylint的或pyflakes,給some_index和其他未定義的錯誤(這是真的,但不一定總是有用的)。我如何告訴程序跳過這些錯誤?我正在研究一個大型圖書館,這些圖書館有許多分散的例子,其中一些沒有定義,但只是作爲如何給他們打電話的例子。是的,不能夠運行doctests,但目前,它增加了噪聲的pylint或pyflakes輸出。 Flake8似乎沒有提供跳過它們的選項。

我該如何做這項工作?有沒有一種簡單的方法來檢測哪些東西是Python中的docstrings並以這種方式過濾結果?

回答

3

檢查文檔字符串是regression in pyflakes;請對該錯誤發表評論以增加討論的聲音。

您現在可以通過設置環境變量PYFLAKES_NODOCTEST來禁用它。

+1

是的 - 我是誰開的問題:) –

+0

啊。謝謝你這樣做! – Glyph

+0

這很有趣 - 幫助我深入研究模塊,就像我正要插入我自己的hack以完全忽略文檔字符串一樣,我注意到有一個PYFLAKES_NODOCTEST環境變量正在被檢查 - whee。 –

-1

flake8提供了一個選項ignore

flake8 --ignore=F821 a.py 
+0

是否爲F821的doctests?我找不到那個。 –

+1

,那是行不通的,那麼你不會在實際代碼中看到這些錯誤 –