2013-09-29 42 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

,那是行不通的,那么你不会在实际代码中看到这些错误 –