如果运行pylint --generate-rcfile > pylintrc并查看默认rc文件,您将看到以下禁用警告列表。
为什么默认情况下会禁用它们?
disable=print-statement,
parameter-unpacking,
unpacking-in-except,
old-raise-syntax,
backtick,
long-suffix,
old-ne-operator,
old-octal-literal,
import-star-module-level,
non-ascii-bytes-literal,
raw-checker-failed,
bad-inline-option,
locally-disabled,
locally-enabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
apply-builtin,
basestring-builtin,
buffer-builtin,
cmp-builtin,
coerce-builtin,
execfile-builtin,
file-builtin,
long-builtin,
raw_input-builtin,
reduce-builtin,
standarderror-builtin,
unicode-builtin,
xrange-builtin,
coerce-method,
delslice-method,
getslice-method,
setslice-method,
no-absolute-import,
old-division,
dict-iter-method,
dict-view-method,
next-method-called,
metaclass-assignment,
indexing-exception,
raising-string,
reload-builtin,
oct-method,
hex-method,
nonzero-method,
cmp-method,
input-builtin,
round-builtin,
intern-builtin,
unichr-builtin,
map-builtin-not-iterating,
zip-builtin-not-iterating,
range-builtin-not-iterating,
filter-builtin-not-iterating,
using-cmp-argument,
eq-without-hash,
div-method,
idiv-method,
rdiv-method,
exception-message-attribute,
invalid-str-codec,
sys-max-int,
bad-python3-import,
deprecated-string-function,
deprecated-str-translate-call,
deprecated-itertools-function,
deprecated-types-field,
next-method-defined,
dict-items-not-iterating,
dict-keys-not-iterating,
dict-values-not-iterating发布于 2019-03-07 10:11:44
为什么默认情况下会有一堆消息被禁用? 在默认情况下,pylint确实禁用了一些消息,这要么是因为它们容易出现错误,要么是因为它们具有足够的自以为是性,不包括在默认消息中。但是大多数禁用的消息来自Python 3移植检查器,默认情况下是禁用的。它需要使用-py3k标志进行特殊激活。
发布于 2019-03-06 20:28:04
我认为这样的默认rc文件旨在将pylint应用于python2代码,而不会出现大量错误和警告。注意:大多数禁用语句属于python2语法和标准库api:
print是Python2中的一个语句,在Python3中是一个函数。except Exception, e语法对Python3无效,在Python3 except Exception as e中只有有效。xrange被range取代。因此,对于这个默认的rc,您可以使用pylintforpython2代码来查找诸如redefined-outer-name、line-too-long和其他坏东西,而不会收到关于有效的python2语法和标准库调用的恼人错误和警告。
https://stackoverflow.com/questions/55031339
复制相似问题