Python循环语法错误?
为什么这不会编译。。。我被难住了Python循环语法错误?,python,loops,syntax,for-loop,Python,Loops,Syntax,For Loop,为什么这不会编译。。。我被难住了 for files in glob.glob("*.txt"): f=open(files) for lines in f: print lines 我得到: File "teleparse.py", line 21 for lines in f: ^ IndentationError: unexpected indent 不,我已经确定缩进只包含制表符 你错了: >>> s = """ ... ...
for files in glob.glob("*.txt"):
f=open(files)
for lines in f:
print lines
我得到:
File "teleparse.py", line 21
for lines in f:
^
IndentationError: unexpected indent
不,我已经确定缩进只包含制表符 你错了:
>>> s = """
...
... for files in glob.glob("*.txt"):
... f=open(files)
... for lines in f:
... print lines
... """
>>>
>>> for line in s.splitlines():
... print repr(line)
...
''
''
' for files in glob.glob("*.txt"):'
' f=open(files)'
'\t for lines in f:'
'\t\t print lines'
您可以使用python-tt yourprogramname.py确认您正在混合制表符和空格。除了制表符和空格的潜在混合之外,请参见,为什么您的第二个for循环在打开的文件后缩进 应该是这样的,最好只使用空格:
for files in glob.glob("*.txt"):
f=open(files)
for lines in f:
print lines
不是
这将是一个意外的缩进,如错误消息所述。缩进空间中是否混合了制表符和空格?第二个for循环和打印前有制表符-至少在您发布的内容中,用空格替换。如PEP8所述。PEP8建议空格优先于制表符。不,我已经确保缩进只包含制表符。好吧,根据PEP8,它应该只包含空格:但不管怎样,这就是发生的事情…@FrédéricHamidi:我在发布任何答案之前进行了编辑。是的,现在是不一致的。我将尝试恢复更改。我将永久加入measure@downvoters .. 这个问题不是我的否决票,而是从OP的角度来看,内部循环看起来没有缩进。最初的循环看起来很好,出于善意,但我认为现在它看起来不同了。@Levon您多次编辑您的问题,即使在DSM已经很好地回答了它之后,也很难说为什么我会在某个时候否决它。无论如何,我把投票权交给你,因为你的答案现在看来很好-@帝斯曼:我的错。我把代码还原成原来的格式。啊。。所以我被否决了,因为原来的问题被编辑了?很明显,制表符和空格的混合存在问题。请看我在上面的原始评论,然后我注意到了额外的缩进,并发布了这个答案。我在编辑我的答案时遇到了问题,因为我的行为很古怪。
for files in glob.glob("*.txt"):
f=open(files)
for lines in f:
print lines