Visual Studio Code中Python出现意外缩进

9
以下代码:
accounts = f.get_sepa_accounts()

for account in accounts:
    print(account)

出现以下错误:

>>>     print(account)
  File "<stdin>", line 1
    print(account)
    ^
IndentationError: unexpected indent

我刚刚开始使用Visual Studio Code,不知道这是否是应用程序特定的问题。我已经尝试使用4个空格和一个制表符了..但都没有任何作用。


2
你是如何运行你的代码的?错误信息中提到“第一行”,让我怀疑它是否没有看到前面的两行。 - Kevin
1
这个应该没有问题,你试过重新启动Visual studio吗? 如果在其他环境下运行脚本,错误是否仍然发生? - NaruS
4
奇怪,重新启动就可以了......谢谢! - rStorms
@user2252633 很高兴重启后问题得到解决!Visual Studio 有时会变得很暴躁。我会将其作为答案发布,但我认为这并不必要,很高兴能帮助解决问题! - NaruS
1
似乎与我的热键Shift + Enter运行文件有关(我从Jupyter中使用这个)。正确的热键是什么?我在备忘单和其他地方都找不到它... - rStorms
4个回答

9

更新:最近的VSCode版本似乎没有这个问题。

当你进行缩进时,你可能使用了制表符。你可以通过选择代码来检查这一点。在VS Code中,选中后标签会用向右箭头进行高亮显示,如下图所示:

显示制表符箭头和空格点的截图

请注意第二行中的两个箭头。由于这个原因,第二行是错误的。 你可以通过选中这两个制表符并按Ctrl+H键来修复它。使用正确数量的空格替换它们。

简而言之,用空格代替制表符。


5

按下 F1 并开始键入“缩进转换空格”,您将能够找到“将缩进转换为空格”选项,选择它并单击回车。

下一次,大多数情况下,您只需按 F1 和回车键,因为默认情况下已选择该选项,因为您最近使用过它。

F1 and enter


1

重新启动Visual Studio Code。

有时这可以帮助解决问题。

在重新启动之前,还要确保您选择了正确的代码检查工具(CTRL + SHIFT + P > "Python: Select Linter",然后选择例如pylint)。


重启VScode解决了我的问题。 - ArieAI

0

可能是因为在使用三个'''注释风格而不是更简单的#注释风格时,Visual Studio Code似乎会出现问题。

在三个'''注释风格中,您可以将'''放在要注释掉的代码或注释的开头,然后多行后,您只需再放置另一个'''来结束注释。

但是,在Visual Studio Code中,我发现使用'''并不值得,因为它经常会混淆-特别是如果您在代码中混合使用不同的'和",或者使用字符串或其他类似的东西...

如果您坚持使用#,您会发现错误会消失...至少在Visual Studio Code修复它之前(截至2023年4月17日,这仍然是一个问题)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接