缩进的4个空格 - 语法错误

时间:2016-08-22 03:16:11

标签: python indentation

我使用4个空格进行缩进,但是出现语法错误。当我在文本编辑器中使用缩进时,工作正常。文本编辑器只创建一个块,我无法编辑它。空格是否不能用作缩进?

def replace_line(file_name, line_num, text):
    try:
            lines = open(file_name, 'r').readlines()
            lines[line_num] = text
            out = open(file_name, 'w')
            out.writelines(lines)
            out.close()
        if not var and not var2:
            return

我在if not var行上得到语法错误。

2 个答案:

答案 0 :(得分:6)

如果由于缩进而导致语法错误,则很可能与您的代码同时包含 TABS SPACES 作为缩进方法有关。尽管代码似乎从左侧缩进相同的数量,但 TAB 是单个符号,而使用 SPACE 的相同缩进需要4(在您的中) case)符号。 Python吓坏了并抛出错误,因为它没有看到你看到的代码呈现,它看到在行之前使用的符号数量不一致。

要解决此问题,请首先将所有标签替换为相应的等效空格,然后检查代码并确保代码中的所有缩进都有效且正确。如果你正在使用像Sublime Text这样的编辑器,那么你可以通过一次或两次点击完成此操作,使用更原始的编辑器找到 TAB / SPACE 的区别可能是更乏味。

希望这有帮助

答案 1 :(得分:0)

抛出异常:传递解决它。从文本编辑器使用缩进时不需要它。这很奇怪。