如何以编程方式访问 Pep8 错误代码列表
How to get programatic access to list of Pep8 Error codes
我很难找到如何获取 pep8 错误代码列表和一些 table 或函数来查找它们的消息或属性。
这里有一个列表:
https://gist.github.com/mjgreen/bda13692b696669cb3fcd5a0fb682958
我已经尝试过 pep8、pycodestyle、flake8 和 autoflake8,但我并不走运。无论以何种方式获取这些内容,都不会像我想象的那样存在。 (我期待一条硬编码消息 table)。我可能只是太笨了。我的想法是 flake8 必须有办法获取它们,它会打印出来。
如何 import flake8
然后生成一些将错误代码映射到错误消息/和/或属性的字典?
如果您正在寻找“可能从 flake8 插件发出的代码”,鉴于您当前的插件集,没有办法知道所有这些
插件注册的工作方式是将插件可能发出的错误代码的前缀交给flake8——然后插件可以自由发出该范围内的任何内容(并且消息的任意字符串)
该插件也可以在其前缀之外自由发出错误代码,但它们会被忽略(这可能会在未来出现错误,我还没有完全确定这里的正确行为是什么)
收集这些前缀相对简单(尽管您可能还想考虑 flake8:local-plugins
):
for dist in importlib.metadata.distributions():
for ep in dist.entry_points or ():
if ep.group == 'flake8.extension':
print(ep.name)
这里注意pycodestyle
这里是特例(由于历史原因)
pycodestyle
(以前命名为 pep8
)- 实现“pep8”错误代码的工具也不提供对代码和消息的编程访问(它们内联在生成的函数中错误)
因此,任何此类代码和消息列表都是非官方的,并且可能已过时/不正确
免责声明:我是当前的 flake8 维护者,我是 pycodestyle 的维护者之一
我很难找到如何获取 pep8 错误代码列表和一些 table 或函数来查找它们的消息或属性。
这里有一个列表: https://gist.github.com/mjgreen/bda13692b696669cb3fcd5a0fb682958
我已经尝试过 pep8、pycodestyle、flake8 和 autoflake8,但我并不走运。无论以何种方式获取这些内容,都不会像我想象的那样存在。 (我期待一条硬编码消息 table)。我可能只是太笨了。我的想法是 flake8 必须有办法获取它们,它会打印出来。
如何 import flake8
然后生成一些将错误代码映射到错误消息/和/或属性的字典?
如果您正在寻找“可能从 flake8 插件发出的代码”,鉴于您当前的插件集,没有办法知道所有这些
插件注册的工作方式是将插件可能发出的错误代码的前缀交给flake8——然后插件可以自由发出该范围内的任何内容(并且消息的任意字符串)
该插件也可以在其前缀之外自由发出错误代码,但它们会被忽略(这可能会在未来出现错误,我还没有完全确定这里的正确行为是什么)
收集这些前缀相对简单(尽管您可能还想考虑 flake8:local-plugins
):
for dist in importlib.metadata.distributions():
for ep in dist.entry_points or ():
if ep.group == 'flake8.extension':
print(ep.name)
这里注意pycodestyle
这里是特例(由于历史原因)
pycodestyle
(以前命名为 pep8
)- 实现“pep8”错误代码的工具也不提供对代码和消息的编程访问(它们内联在生成的函数中错误)
因此,任何此类代码和消息列表都是非官方的,并且可能已过时/不正确
免责声明:我是当前的 flake8 维护者,我是 pycodestyle 的维护者之一