您的位置:首页 > 编程语言 > Python开发

python中使用with打开文件

2013-07-21 16:11 375 查看
file object拥有__enter__和__exit__方法,前者仅仅是返回object自己,而后者则关闭这个文件:

>>> f = open("x.txt")

>>> f

<open file 'x.txt', mode 'r' at 0x00AE82F0>

>>> f.__enter__()

<open file 'x.txt', mode 'r' at 0x00AE82F0>

>>> f.read(1)
'X'

>>> f.__exit__(None, None, None)

>>> f.read(1)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: I/O operation on closed file

所以打开文件读取文件中内容可以简单写成:

 

if __name__ == "__main__":
with open("test.txt") as f:
lines = f.readlines()
print f

 

可以看到到ptint f 这一行时文件已经被关闭了

<closed file 'test.txt', mode 'r' at 0x02055230>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: