3

我将 Sublime 用于 Python 项目。我有这样的字典理解:

inv_map = {v:k for k, v in map.items()}

CodeIntel 将此标记为“无效语法”错误,但这是正确的并且可以正常运行。

如何告诉 CodeIntel 忽略此特定行?

4

1 回答 1

2

字典理解(您正在使用的功能)是 Python 2.7+。

    inv_map = {v:k for k, v in map.items()}

SublimeLinter 在内部运行称为 pep8 的 Python 命令行程序(pep8 是PEP-8 指南检查和 pyflakes 的包名称。由于 SublimeLinter 的体系结构,运行它们可能仅限于 Python 2.x 目标,即 Sublime Text 嵌入的 Python 版本.

相关的 SublimeLinter 源代码在这里:

https://github.com/SublimeLinter/SublimeLinter/blob/master/sublimelinter/modules/python.py

您问题中的错误可能来自 pep8 或 Pyflakes。

Pyflakes 不提供如何使其忽略任何行的文档。可能不可能,正如这个问题的答案中的建议How do I get Pyflakes to ignore a statement?是不要使用 Pyflakes。

https://pypi.python.org/pypi/pyflakes

pep8 仅提供全局错误和警告忽略,而不是基于每个文件或每行。

http://pep8.readthedocs.org/en/latest/intro.html#configuration

于 2013-05-13T17:02:55.303 回答