我正在尝试编写我的第一个 python 脚本。这是可行的,但经过一些轻微的重构后,我显然打破了缩进。我无法确定是什么问题。解释器抱怨以下方法。有人可以指点一下吗
def dataReceived(self, data):
a = data.split(':')
print a
if len(a) > 1:
command = a[0]
content = a[1]
msg = ""
if command == "iam":
self.name = content
msg = self.name + " has joined"
elif command == "msg":
msg = self.name + ": " + content
print msg
错误内容为:文件“python_server.py”,第 17 行 a = data.split(':') ^ IndentationError:需要一个缩进块
我在使用 Sublime Text 2 时遇到了类似的问题。
要解决此问题,请单击编辑器底部的“制表符大小”,然后选择“将缩进转换为制表符”。
您开始使用允许显示缩进的文本编辑器,并且您一致使用空格而不是制表符,并且在编辑器中强制执行这一点。
您可以在这里做很多事情:
vi
和 set list
)。od -xcb
。如果您使用“Sublime Text 2”编辑器,那么我发现这个答案很有帮助 - 它详细介绍了如何打开空白字符并将制表符转换为空白
尝试 Editra - www.editra.org
您的代码看起来不错,语法看起来不错...您的文本编辑器可能会产生错误。使用 Editra 检查您的文件以查看/检查缩进级别。
Editra 拯救了我的理智 - 在文本编辑器(包括带有 python 缩进插件的 Notepad++)中查看脚本时,我认为我的语法是正确的。但是,当我运行该脚本时,它每次都会抛出缩进错误。我终于在 Editra 中打开了脚本,我可以看到问题所在。 Notepad++ 和其他文本编辑器未显示正确的缩进/制表符/空格。 Editra 显示错误,例如意外的空格、制表符 - 我能够纠正这些。
Editra 将自动缩进您的脚本 [并显示错误 - 制表符、空格 - 可能不会在其他文本编辑器中显示]。
如果有缩进错误,它将显示为蓝色下划线部分;
如果您正在编写脚本[添加/删除行] Editra 将自动缩进脚本。
**我建议打开您的脚本并在 Editra 中编辑它。
希望这有帮助! 祝你好运。 str8箭头