VS Code在python 2.7中的print语句中显示错误消息

Geo*_*che 13 python printing pylint python-2.7 visual-studio-code

我在Windows上使用VS Code Version 1.19.3和Python 2.7.

最近pylint(代码分析器)显示错误消息 "E1601:print statement used"

但我不知道为什么!有人能帮我吗?

根据我的知识,打印声明是正确的!

这是一个错误或功能缺失?

问候niesel

在此输入图像描述

jja*_*bba 14

警告来自pylint,对于像python这样松散语法的无类型语言来说,这是一个非常有用的工具.因为你在python 2.x中进行编程,所以print是完全有效的,我建议你把一个文件放在你命名的repo的根目录中.pylintrc并用它来配置pylint.

要禁用打印警告并将其他所有内容保留为默认值,请在.pylintrc文件中输入以下两行:

[MESSAGES CONTROL]
disable=print-statement
Run Code Online (Sandbox Code Playgroud)

您还需要通过打开工作区用户设置告诉Visual Studio Code使用您的配置文件,并添加以下内容:

{
     "python.linting.enabled": true,
     "python.linting.pylintEnabled": true,
     "python.linting.pylintArgs": [
          "--rcfile=/path/to/.pylintrc"
     ]
}
Run Code Online (Sandbox Code Playgroud)

更多的选择

要了解可用的配置选项,请打开终端/提示符并运行此命令以生成示例配置文件:

pylint --generate-rcfile > sample_pylintrc
Run Code Online (Sandbox Code Playgroud)

  • 您还可以为单个文件(例如某些独立脚本)禁用该消息,并在脚本顶部附近放置注释:`#pylint:disable = print-statement` (4认同)

Дми*_*гов 7

问题是,从print语句改为print函数没有多大帮助.所以看起来,它是VS Code Python模块中的一些错误(2018.1(2018年2月1日)),因为在此更新之后我在我的旧项目中发现了我的VS代码中的同样问题

错误截图

我发现他们的github上有错误的bug

PS:vscode-python自2018.1以来改变了pylint选项.为了返回旧行为,您可以为工作空间或用户空间禁用python.linting.pylintUseMinimalCheckers选项.

  • 你还在这里使用`print`作为陈述.如果你想在2.7中使用`print`作为函数,你应该从__future__ import print_function` (2认同)

Jea*_*bre 0

这本身并不是一个错误,它只是 PyLint 抱怨那些遗留语句。PyLint 还会抱怨逗号前缺少空格,即此类样式错误。

PyLint 会警告您可能出现的问题。运行 python 3 时,您的代码将会中断,因此它会在发生之前向您发出警告。

请注意,这print是 python 2.x 中的一个语句(解释了该消息),并成为python 3.x 中的一个函数。

通过更改为修复它:

print("test")
Run Code Online (Sandbox Code Playgroud)

由于它不是 a tuple,因此它工作正常并且对于所有版本的 python 都完全相同,并且 PyLint 将停止抱怨。

您还可以完全摆脱 PyLint:Windows 10 - Visual Studio Code - 删除 pylint(不确定这是否是一个好主意)