如何在Pylint中按文件禁用“缺少文档字符串”警告?
Pylint 报告了一些文件缺少文档字符串的错误。我尝试在每个类、方法和函数中添加文档字符串,但似乎 Pylint 还检查文件开头是否应该有文档字符串。我可以以某种方式禁用这个检查吗?
我希望能收到关于类、函数或方法中缺少文档字符串的通知,但文件开头的文档字符串不应该是强制要求的。
(有没有一个专门的术语来描述那些通常出现在专有源文件开头的法律术语?有没有例子?我不知道是否可以单独提出这样一个琐碎的问题。)
18 个回答
23
只需在你想要关闭这些警告的文件开头加上以下几行代码。
# pylint: disable=missing-module-docstring
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
205
对于一个Python模块来说,写一个文档字符串(docstring)是很有用的,它可以解释这个模块的功能、提供的内容,以及如何使用里面的类的示例。这和你常在文件开头看到的版权和许可信息的注释是不同的,我认为这些信息不应该放在文档字符串里(有些人甚至认为这些信息应该完全去掉,参见例如 去掉源代码模板)。
在Pylint 2.4及以上版本中,你可以通过以下三种子消息来区分不同的missing-docstring
:
C0114
(missing-module-docstring
)C0115
(missing-class-docstring
)C0116
(missing-function-docstring
)
所以下面这个.pylintrc
文件应该可以正常工作:
[MASTER]
disable=
C0114, # missing-module-docstring
在Pylint的早期版本中,没有针对文档字符串出现的不同位置的单独代码,所以你只能禁用C0111。问题是,如果你在模块范围内禁用这个,那么它在模块中的所有地方都会被禁用(也就是说,你不会收到任何关于缺少函数/类/方法文档字符串的C行,这样说来就不太好了)。
所以我建议你添加一个小的缺失文档字符串,内容可以是类似这样的:
"""
high level support for doing this and that.
"""
很快,你会发现可以在里面放一些有用的东西,比如提供如何使用模块中各种类/函数的示例,这些示例不一定要放在各个类/函数的文档字符串里(比如它们之间如何互动,或者像快速入门指南这样的内容)。