-7

为什么这不会编译...我很难过...

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
4

2 回答 2

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

于 2012-12-21T20:28:47.480 回答
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

如错误消息所述,这是“意外缩进”。

于 2012-12-21T20:30:34.730 回答