我有一些Python代码具有不一致的缩进.有很多标签和空格的混合使事情变得更糟,甚至空间压痕也不会被保留.
代码按预期工作,但很难维护.
如何在不破坏代码的情况下修复缩进(如HTML Tidy,但对于Python)?
我有一个Python脚本:
if True:
if False:
print('foo')
print('bar')
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行我的脚本时,Python提出了一个IndentationError:
File "script.py", line 4
print('bar')
^
IndentationError: unindent does not match any outer indentation level
Run Code Online (Sandbox Code Playgroud)
我一直在玩我的程序,我还能够产生其他三个错误:
IndentationError: unexpected indentIndentationError: expected an indented blockTabError: inconsistent use of tabs and spaces in indentation这些错误意味着什么?我究竟做错了什么?我该如何修复我的代码?
为新手问题道歉,但我已经阅读了手册,这个问题,并尝试了几次没有我预期的结果。
所以我使用vim来编辑一个文件(附后)。但是在运行时,我得到了 TabError:在缩进错误中不一致使用制表符和空格。
这是我尝试过的:
:retab,和:x。再次运行该文件。仍然收到 TabError 消息。:retab!和:x。再次运行该文件。仍然收到 TabError 消息。:retab! 4和:x。再次运行该文件。这次它有效,但我不知道为什么?另外,文件缩进似乎过长。(我在这里读到编辑器可能会为一个选项卡显示 8 个空格)我的问题是:
这是什么:retab,:retab!以及:retab! 4是什么意思?
为什么:retab对我的文件不起作用?
#!/usr/bin/env python
#Reduce function for computing matrix multiply A*B
#Input arguments:
#variable n should be set to the inner dimension of the matrix product (i.e., the number of columns of A/rows of B)
import sys
import …Run Code Online (Sandbox Code Playgroud)以下python代码抛出此错误消息,我不知道为什么,我的选项卡似乎排成一行:
File "test.py", line 12
pass
^ TabError: inconsistent use of tabs and spaces in indentation
Run Code Online (Sandbox Code Playgroud)
我的代码:
class eightPuzzle(StateSpace):
StateSpace.n = 0
def __init__(self, action, gval, state, parent = None):
StateSpace.__init__(self, action, gval, parent)
self.state = state
def successors(self) :
pass
Run Code Online (Sandbox Code Playgroud)