$ pylint --reports=n main.py
输出:
No config file found, using default configuration
如果您的主目录中没有文件,或者您没有指定 pylint 参数,您将收到“ No config file found, using default configuration
”警告。.pylintrc
--rcfile=/path/to/pylintrc
要抑制消息,在 *nix 上:
$ touch ~/.pylintrc
找到了一个 pylintrc 并使用它,工作。把它贴在这里以防万一有人需要它。您可以修改它以适合您的项目。
# 使用外部检查器对 Python 模块进行 lint。 # # 这是控制其他检查器和报告的主要检查器 # 一代。它本身既是原始检查器又是 astng 检查器 # 到: # * 在模块级别处理消息激活/停用 # * 处理一些基本但必要的统计数据(类数、方法...) # [掌握] # 指定配置文件。 #rcfile= # 分析执行。 个人资料=否 # 加入黑名单。它应该是一个基本名称,而不是 # 小路。您可以多次设置此选项。 忽略=.svn # Pickle 收集数据供以后比较。 持久=是 # 设置 astng 对象的缓存大小。 缓存大小=500 # 要加载的插件列表(作为 python 模块名称的逗号分隔值), # 通常用于注册额外的检查器。 加载插件= [消息控制] # 仅启用具有给定 ID 的检查器。此选项与 # 禁用检查器选项 #启用检查器= # 启用所有检查器,除了具有给定 ID 的检查器。此选项冲突 # 使用禁用检查器选项 #禁用检查器= # 启用列出类别中的所有消息。 #启用味精猫= # 禁用列出类别中的所有消息。 #禁用味精猫= # 启用具有给定 ID 的消息。 #启用消息= # 禁用给定 id 的消息。 禁用味精=C0323,W0142,C0301,C0103,C0111,E0213,C0302,C0203,W0703,R0201 [报告] # 设置输出格式。可用格式为文本、可解析、彩色和 # html 输出格式=彩色 # 在输出中包含消息的 id 包括-ids=是 # 将消息放在一个单独的文件中,用于指定的每个模块/包 # 命令行而不是在标准输出上打印它们。报告(如果有)将 # 写入文件名“pylint_global.[txt|html]”。 文件输出=否 # 告诉是显示完整的报告还是只显示消息 报告=是 # Python 表达式应该返回一个小于 10 的音符(10 是最高的 # 注意)。您可以访问变量错误警告,声明哪个 # 分别包含错误/警告消息的数量和总数 # 分析的语句数。这被全球评估报告使用 # (R0004)。 评估=10.0 - ((float(5 * 错误 + 警告 + 重构 + 约定) / 语句) * 10) # 根据你的评价笔记添加评论。这被全球使用 # 评估报告(R0004)。 评论=否 # 启用具有给定 ID 的报告。 #启用报告= # 禁用具有给定 ID 的报告。 #禁用报告= # 检查 # * 未使用的变量/导入 # * 未定义的变量 # * 从内置函数或外部范围重新定义变量 # * 在赋值前使用变量 # [变量] # 告诉我们是否应该检查 __init__ 文件中未使用的导入。 初始化导入=否 # 一个正则表达式匹配用于虚拟变量的名称(即未使用)。 虚拟变量-rgx=_|虚拟 # 应该在内置函数中定义的附加名称列表。请记住 # 你应该尽可能避免定义新的内置函数。 附加内置= # 尝试使用类型推断来查找代码中的错误 # [类型检查] # 告诉在 mixin 类中访问的缺失成员是否应该被忽略。一种 # 如果 mixin 的名称以“mixin”结尾(不区分大小写),则检测到 mixin 类。 忽略mixin成员=是 # 当 zope 模式被激活时,考虑忽略 acquire-members 选项 # 访问一些未定义的属性。 zope=否 # 通常通过zope的获取机制获得的成员列表和 # 所以在访问时不应触发 E0201(需要考虑 zope=yes)。 获得成员=请求,acl_users,aq_parent # 检查: # * 文档字符串 # * 模块/类/函数/方法/参数/变量名 # * 参数、局部变量、分支、返回和语句的数量 # 函数、方法 # * 必需的模块属性 # * 危险的默认值作为参数 # * 重新定义函数/方法/类 # * 使用全局语句 # [基本的] # 模块的必需属性,以逗号分隔 所需属性= # 正则表达式应该只匹配函数或类名 # 不需要文档字符串 no-docstring-rgx=__.*__ # 正则表达式应该只匹配正确的模块名称 模块-rgx=(([a-z_][a-z0-9_]*)|([AZ][a-zA-Z0-9]+))$ # 正则表达式应该只匹配正确的模块级名称 const-rgx=(([A-Z_][A-Z1-9_]*)|(__.*__))$ # 正则表达式应该只匹配正确的类名 类-rgx=[A-Z_][a-zA-Z0-9]+$ # 正则表达式应该只匹配正确的函数名 函数-rgx=[a-z_][a-z0-9_]{2,30}$ # 正则表达式应该只匹配正确的方法名 方法-rgx=[a-z_][a-z0-9_]{2,30}$ # 正则表达式应该只匹配正确的实例属性名称 attr-rgx=[a-z_][a-z0-9_]{2,30}$ # 正则表达式应该只匹配正确的参数名称 参数-rgx=[a-z_][a-z0-9_]{2,30}$ # 正则表达式应该只匹配正确的变量名 变量-rgx=[a-z_][a-z0-9_]{2,30}$ # 正则表达式应该只匹配正确的列表理解 / # 生成器表达式变量名 inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$ # 应始终接受的好的变量名,用逗号分隔 好名声=i,j,k,ex,Run,_ # 应该始终拒绝的错误变量名,用逗号分隔 恶名=foo,bar,baz,toto,tutu,tata # 不应使用的内置函数名称列表,以逗号分隔 坏功能=应用,输入 # 检查不良/错误设计的迹象: # * 方法、属性、局部变量的数量... # * 大小、函数复杂度、方法 # [设计] # 函数/方法的最大参数数量 最大参数=12 # 函数/方法体的最大局部数 最大本地人=30 # 函数/方法体的最大返回次数/产量 最大回报=12 # 函数/方法体的最大分支数 最大分支 = 30 # 函数/方法体中的最大语句数 最大语句=60 # 一个班级的家长人数上限(参见 R0901)。 最大父母= 7 # 一个类的最大属性数(参见 R0902)。 最大属性=20 # 一个类的最小公共方法数(参见 R0903)。 最小公共方法=0 # 一个类的公共方法的最大数量(参见 R0904)。 最大公共方法 = 20 # 检查 # * 外部模块依赖 # * 相对/通配符导入 # * 循环导入 # * 使用已弃用的模块 # [进口] # 不推荐使用的模块,用逗号分隔 不推荐使用的模块=regsub、字符串、TERMIOS、堡垒、rexec # 创建每个(即内部和外部)依赖关系的图 # 给定文件(报告 R0402 不得禁用) 导入图= # 在给定文件中创建外部依赖关系图(报告 R0402 必须 # 不能被禁用) 分机导入图= # 在给定文件中创建内部依赖关系图(报告 R0402 必须 # 不能被禁用) 国际进口图= # 检查: # * 没有 self 作为第一个参数的方法 # * 重写的方法签名 # * 仅通过 self 访问现有成员 # * __init__ 方法中未定义的属性 # * 支持的接口实现 # * 无法访问的代码 # [课程] # 要忽略的接口方法列表,以逗号分隔。这用于 # 不检查 Zope 接口基类中定义的方法的实例。 ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by # 用于声明(即分配)实例属性的方法名称列表。 定义属性方法=__init__,__new__,setUp # 检查相似性和重复代码。这种计算可能是 # 内存/CPU 密集型,所以如果你做一些实验,你应该禁用它 # 问题。 # [相似之处] # 相似度的最小行数。 最小相似度线=10 # 计算相似度时忽略注释。 忽略评论=是 # 计算相似度时忽略文档字符串。 忽略文档字符串=是 # 检查: # * 代码中的警告说明,如 FIXME、XXX # * PEP 263:具有非 ascii 字符但没有编码声明的源代码 # [各种各样的] # 要考虑的注释标签列表,以逗号分隔。 笔记=FIXME,XXX,TODO # 检查: # * 未经授权的建筑 # * 严格缩进 # * 行长 # * 使用 of 代替 != # [格式] # 单行的最大字符数。 最大行长=90 # 一个模块的最大行数 最大模块行=1000 # 用作缩进单元的字符串。这通常是 " " (4 个空格) 或 "\t" (1 # 标签)。 缩进字符串=''