Python 缩进问题

1 投票
3 回答
900 浏览
提问于 2025-04-16 10:08

我正在尝试让这个脚本正常运行,但它给我报了缩进错误。

#!/usr/bin/env python
import io

myfile = open('stats.txt', 'r')
dan = myfile.readline()
print dan
print "Your name: " + dan.split('|')[0]
try:
    myfile.write('blah')
finally:
        myfile.close()
except IOError:

有人能帮帮我吗?

3 个回答

2

你的 Finally 部分缩进了两个制表符。

另外,确保你没有把空格和制表符混在一起使用。

再看看代码:

你的 except 应该和 Try/Finally 在同一层级,并且后面需要有一个缩进的代码块。

为什么要写 f.close?因为没有 f.open。

3

try-except-finally 语句的写法如下:

try:
    statement 1
except:
    statement 2
finally:
    statement 3

你有点写错了哦 :) 尝试修正一下吧)

另外,正如 Herohtar 所说,把 finally 和 except 的顺序换一下。finally 应该放在 except 后面。

2
try:
    myfile.write('blah')
finally:
        f.close()
        except IOError:
myfile.close()

为什么except IOError和f.close在同一个缩进级别?看这段代码,我觉得它应该是这样的:

try:
    myfile.write('blah')
except IOError:
        myfile.close()
finally:
        f.close()

另外,我觉得你是想说myfile.close,而不是f.close。

撰写回答