自动更正 Python 中的缩进错误

问题描述 投票:0回答:5

我正在尝试修复 Python 脚本中的一些缩进错误。有没有办法在线或使用其他实用程序自动更正错误?

我希望这个错误很熟悉,但又想避免这种情况。有没有编辑帮助解决这些问题?

IndentationError:需要一个缩进块

python indentation
5个回答
6
投票

一般情况下是不可能的,因为有些情况会模棱两可:

something = foo()
if something:
    something.bar()
  print("ok") # Only half indented. Should this be inside or outside of the if statement?

最好找到一个支持自动缩进的编辑器,并确保正确缩进(即使是在没有明显空格的语言中,因为它使您的代码更易于阅读)。


3
投票

你可以使用 reindent.py

对我来说,它对某些文件有效,但对其他文件无效。试一试。 reindent.py

使用:

reindent.py <filename>.py

更改 Python (.py) 文件以使用 4 个空格缩进并且没有硬制表符。

还修剪行尾多余的空格和制表符,并删除空行 在文件的末尾。


1
投票

你可以使用 Spyder IDE

Source Menu -> Fix Indentation


0
投票

当您忘记在需要缩进的语句(即

if
for
)后添加缩进块时,通常会发生此特定错误。您可能忘记缩进所需的块或不小心按下退格键(或其他东西),例如

def sayhello():
print "Hello world!"

有时您不希望在 if 语句或 try/except 语句之后有任何代码,但 python 至少需要在它们之后一行,因此您可以使用

pass
关键字

try:
    x= 4/0
except:
    pass

print x

0
投票
def editorMiss(text):
    count = 0
    for ch in text:
        if (ch >= 'a' and ch <= 'z') or (ch >= 'A' and ch <= 'Z'):
            pass
        elif (ch >= '0' and ch <= '9'):
            pass
        else:
            if ch == " ":
                pass
            else:
                count = count + 1
                
    return count
© www.soinside.com 2019 - 2024. All rights reserved.