我使用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行上得到语法错误。
答案 0 :(得分:6)
如果由于缩进而导致语法错误,则很可能与您的代码同时包含 TABS 和 SPACES 作为缩进方法有关。尽管代码似乎从左侧缩进相同的数量,但 TAB 是单个符号,而使用 SPACE 的相同缩进需要4(在您的中) case)符号。 Python吓坏了并抛出错误,因为它没有看到你看到的代码呈现,它看到在行之前使用的符号数量不一致。
要解决此问题,请首先将所有标签替换为相应的等效空格,然后检查代码并确保代码中的所有缩进都有效且正确。如果你正在使用像Sublime Text这样的编辑器,那么你可以通过一次或两次点击完成此操作,使用更原始的编辑器找到 TAB / SPACE 的区别可能是更乏味。
希望这有帮助
答案 1 :(得分:0)
抛出异常:传递解决它。从文本编辑器使用缩进时不需要它。这很奇怪。