忽略带有pyflakes / pylint的doctests / docstrings

时间:2013-09-29 17:09:42

标签: python pylint doctest pyflakes

现在,如果我有这样的函数,我希望能够得到关于索引未定义的错误,同时忽略some_index未定义的错误。

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和其他未定义的错误(这是True,但不一定总是有用)。如何告诉程序跳过这些错误?我正在开发一个大型库,其中包含许多分散的示例,其中一些未定义但只是设置为如何调用它们的示例。是的,不能运行doctests是不是很好,但目前,它会向pylint或pyflakes输出添加 ton 的噪音。 Flake8似乎没有提供跳过它们的选项。

我该如何使这项工作?有没有一种简单的方法可以检测Python中哪些内容是文档字符串并以这种方式过滤结果?

2 个答案:

答案 0 :(得分:3)

检查文档字符串是regression in pyflakes;请对该错误发表评论,以便将您的声音添加到讨论中。

您现在可以通过设置环境变量PYFLAKES_NODOCTEST来禁用它。

答案 1 :(得分:-1)

flake8提供了一个选项ignore

flake8 --ignore=F821 a.py