我试图比较两个文件中的行并用它做一些事情。但我在缩进时遇到错误,我不确定为什么会有错误。 我会欣赏任何指针。
[root @ localhost~] #python commit.py
文件" commit.py",第85行
done = True
^
IndentationError:意外缩进
有错误的代码:
75 def compareline():
76 done = False
77 for filename in newfilenamelist:
78 if done:
79 break
80 with open(filename) as line:
81 for list in opendifffilelist:
82 if not list:
83 print "List is empty"
84 done = True
85 for line in filename:
86 if list == line :
87 opendifffilelist.remove(list)
88 outfile.append(outfile)
89 break
答案 0 :(得分:3)
乍一看你的缩进似乎是正确的。这种错误通常是由于在源代码中混合制表符和空格。
来自PEP 8:
空格是首选的缩进方法。
选项卡应仅用于与代码保持一致 已经缩进了标签。
Python 3不允许混合使用制表符和空格来缩进。
使用标签和空格的混合缩进的Python 2代码应该是 转换为专门使用空格。
使用-t调用Python 2命令行解释器时 选项,它会发出有关非法混合标签和代码的警告 空间。使用-tt时,这些警告会出错。这些选项是 强烈推荐!
上面的部分是关于缩进的。
答案 1 :(得分:0)
尝试此格式化。您的错误可能是由于混合标签和空格造成的。
def compareline():
done = False
for filename in newfilenamelist:
if done:
break
with open(filename) as line:
for list in opendifffilelist:
if not list:
print "List is empty"
done = True
for line in filename:
if list == line :
opendifffilelist.remove(list)
outfile.append(outfile)
break