Pylint会抛出某些文件缺少文档字符串的错误.我尝试将docstrings添加到每个类,方法和函数,但似乎Pylint还检查文件应该在文档字符串的开头.我可以以某种方式禁用它吗?我希望收到有关类,函数或方法中缺少docstring的通知,但对于文件来说,文件字符串不应该是强制性的.
(在专有源文件的开头是否有一个法律术语的术语?任何例子?我不知道是否可以单独发布这样一个微不足道的问题.)
gur*_*lex 56
Python模块有一个文档字符串很好,解释了模块的功能,它提供了什么,以及如何使用类的示例.这与您经常在文件开头提供版权和许可信息的评论不同,IMO不应该在文档字符串中(有些人甚至认为它们应该完全消失,请参阅例如http:// hackerboss. com/get-rid-of-templates /)
Pylint没有单独的代码用于可以发生文档字符串的各个位置,因此您所能做的就是禁用C0111.问题是,如果你在模块范围禁用它,那么它将在模块中的任何地方被禁用(即你不会得到任何C行缺少函数/类/方法docstring.这可能是不好的,你可能想要如果它困扰你,在github上为这个pylint问题做出贡献.
所以我建议添加一些小的缺失docstring,说:
[MASTER]
disable=
    C0114, # missing-module-docstring
很快,您将找到有用的东西放在那里,例如提供如何使用模块的各种类/函数的示例,这些类/函数不一定属于类/函数的各个文档字符串(例如如何互动,或类似快速入门指南的东西).
小智 36
您可以为pylint添加"--errors-only"标志以禁用警告.
为此,请转到设置.编辑以下行:
"python.linting.pylintArgs": []
如
"python.linting.pylintArgs": ["--errors-only"]
你很高兴去!
how*_*ode 17
我只是想添加@Milovan Toma\xc5\xa1evi\xc4\x87上面发布的内容。python.linting.pylintArgs我决定在 VSCode 的全局设置中使用,因为它比使用文件方便得多.pylintrc。
\n此外,我没有使用开关 ID(例如C0115),而是使用符号名称。
Pylint 选项和开关的完整参考请参见此处。
\n{\n    "python.linting.pylintArgs": [\n        "--disable=missing-class-docstring",\n        "--disable=missing-function-docstring"\n    ]\n}\nErn*_*ßer 12
就我而言,使用 Pylint 2.6.0,即使在我的文件中显式禁用missing-module-docstring,missing-class-docstring和后,丢失的文档字符串消息也不会消失。最后,以下配置对我有用:missing-function-docstring.pylintrc
[MESSAGES CONTROL]
disable=missing-docstring,empty-docstring
显然,Pylint 2.6.0 仍然会验证文档字符串,除非这两项检查都被禁用。
Pie*_*las 10
使用 Pylint 2.4 及更高版本,您可以missing-docstring使用以下三个子消息来区分不同的:
C0114( missing-module-docstring)C0115( missing-class-docstring)C0116( missing-function-docstring)所以下面的.pylintrc文件应该可以工作:
[MASTER]
disable=
    C0114, # missing-module-docstring
我来寻找答案是因为,正如@cerin所说,在Django项目中,将模块文档字符串添加到django在创建新应用程序时自动生成的每个文件时都很麻烦且多余.
因此,作为pylint不允许您在docstring类型中指定差异的事实的解决方法,您可以这样做:
pylint */*.py --msg-template='{path}: {C}:{line:3d},{column:2d}: {msg}' | grep docstring | grep -v module
你必须更新msg-template,这样当你grep时你仍然会知道文件名.这将返回除模块之外的所有其他missing-docstring类型.
然后你可以解决所有这些错误,然后运行:
pylint */*.py --disable=missing-docstring
不, Pylint目前不允许您区分doc-string警告.
但是,您可以使用flake8进行所有python代码检查以及doc-string扩展,以忽略此警告.
使用pip安装doc-string扩展名(内部使用pydocstyle).
pip install flake8_docstrings
然后你可以使用--ignore D100开关.例如flake8 file.py --ignore D100
只需将以下行放在要禁用这些警告的任何文件的开头。
# pylint: disable=missing-module-docstring
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
小智 7
我认为修复相对容易而不会禁用此功能.
def kos_root():
    """Return the pathname of the KOS root directory."""
    global _kos_root
    if _kos_root: return _kos_root
您需要做的就是在每个函数中添加三重双引号字符串.
如果您是Visual Studio Code用户并希望忽略此内容,您可以python.linting.pylintArgs添加.vscode/settings.json:
{
    ...
    "python.linting.pylintArgs": [
        "--disable=C0114",
        "--disable=C0115",
        "--disable=C0116",
    ],
    ...
}
小智 5
编辑文件“C:\Users\Your User\AppData\Roaming\Code\User\settings.json”并python.linting.pylintArgs在最后添加这些行,如下所示:
{
    "team.showWelcomeMessage": false,
    "python.dataScience.sendSelectionToInteractiveWindow": true,
    "git.enableSmartCommit": true,
    "powershell.codeFormatting.useCorrectCasing": true,
    "files.autoSave": "onWindowChange",
    "python.linting.pylintArgs": [
        "--load-plugins=pylint_django",
        "--errors-only"
    ],
}
小智 5
Ctrl+ Shift+P
然后输入并单击 > 首选项:配置语言特定设置
然后输入“python”。粘贴代码
 {
     "python.linting.pylintArgs": [
         "--load-plugins=pylint_django", "--errors-only"
     ],
 }
我正在使用 VSCode (1.78.0),看起来他们更改了参数。
你应该使用
"pylint.args": [
"--disable=C0116",
"--disable=C0111",
"--disable=C0114"
]
| 归档时间: | 
 | 
| 查看次数: | 89627 次 | 
| 最近记录: |