Python循环语法错误?

时间:2012-12-21 20:24:40

标签: 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

2 个答案:

答案 0 :(得分:6)

“不,我确保缩进只包含标签。”

你错了:

>>> 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确认您正在混合制表符和空格。

答案 1 :(得分:1)

除了标签和空格的混合(参见PEP 8)之外,为什么第二个for - 循环在打开文件后缩进?

应该是这样的(最好只使用空格):

for files in glob.glob("*.txt"):
   f=open(files)
   for lines in f:
      print lines

for files in glob.glob("*.txt"):
    f=open(files)
         for lines in f:
            print lines

作为“意外缩进”,如错误消息所示。