2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python 文件操作 open()与with open() as的区别(打开文件)

python 文件操作 open()与with open() as的区别(打开文件)

时间:2020-05-02 06:21:35

相关推荐

python 文件操作 open()与with open() as的区别(打开文件)

引用文章:open()和with open() as的区别

file = open("test.txt","r")for line in file.readlines():print linefile.close()

这样直接打开文件,如果出现异常,如读取过程中文件不存在或异常,则直接出现错误,close方法无法执行,文件无法关闭

with open("test.txt","r") as file:for line in file.readlines():print line

用with语句的好处,就是到达语句末尾时,会自动关闭文件,即便出现异常。

with语句实际上是一个非常通用的结构,允许你使用所谓的上下文管理器。上下文管理器是支持两个方法的对象:enter__和__exit

方法__enter__不接受任何参数,在进入with语句时被调用,其返回值被赋给关键字as后面的变量。

方法__exit__接受三个参数:异常类型、异常对象和异常跟踪。它在离开方法时被调用(通过前述参数将引发的异常提供给它)。如果__exit__返回False,将抑制所有的异常。

文件也可用作上下文管理器。它们的方法__enter__返回文件对象本身,而方法__exit__关闭文件

file= open("test.txt","r")try:for line in file.readlines():print lineexcept:print "error"finally:file.close()

with语句作用效果相当于上面的try-except-finally

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。