如何为pylint的missing-function-docstring(C0116)添加main函数例外且不覆盖默认配置?
解决Pylint忽略main函数文档字符串但保留默认规则的问题
直接修改命令行参数
默认情况下,Pylint的--no-docstring-rgx参数值是^_,用来忽略下划线开头的私有方法/函数的文档字符串检查。直接指定"main"会覆盖这个默认值,导致原有私有方法的检查规则失效。
正确的做法是在默认正则基础上追加对main函数的匹配,执行命令时使用组合后的正则:
poetry run pylint src/* --no-docstring-rgx "^_|^main$"
这个正则的作用是:不对以下两类函数/方法检查文档字符串:
- 以下划线开头的(保留默认的私有方法忽略规则)
- 名称恰好为
main的函数(新增的忽略规则)
持久化配置:使用配置文件
如果不想每次执行命令都手动输入长参数,可以通过配置文件固化规则:
方式1:.pylintrc文件
找到配置文件中的no-docstring-rgx项,修改为:
no-docstring-rgx=^_|^main$
方式2:pyproject.toml(适配Poetry项目)
在pyproject.toml的[tool.pylint]区块下添加:
no-docstring-rgx = "^_|^main$"
之后直接执行poetry run pylint src/*,就会自动应用包含默认规则和main函数忽略的配置。
内容的提问来源于stack exchange,提问作者Henrique Branco
相关产品推荐
相关产品推荐

